ตัวอย่างโค้ด ควบคุมเซอร์โว2ตัว แบบ multitask
//ควบคุม servo แบบ multitask
// https://www.youtube.com/watch?v=7h69Lf8wacw
#include <Servo.h>
Servo myservo_1;//สร้าง ออปเจ็ต
Servo myservo_2;
int potpin_1 = A0;//สร้างตัวแปรเพื่อเก็บค่า อานาล็อก
int potpin_2 = A1;
unsigned long last_time_1 = 0;
unsigned long last_time_2 = 0;
unsigned long preiod_1 = 15;
unsigned long preiod_2 = 20;
int val1,val2,val_1,val_2;
void setup(){
myservo_1.attach(9);
myservo_2.attach(11);
}
void loop(){
servo_180();
servo_90();
}
void servo_180(){
if(millis() - last_time_1 >= preiod_1 ){
last_time_1 = millis();
val1 = analogRead(potpin_1);
val_1 = map(val1,0,1023,0,180);
myservo_1.write(val_1);
}
}
void servo_90(){
if(millis() - last_time_2 >= preiod_2 ){
last_time_2 = millis();
val2 = analogRead(potpin_2);
val_2 = map(val2,0,1023,0,180);
myservo_2.write(val_2);
}
}
โค้ดนี้ใช้ควบคุมเซอร์โวทำงานพร้อมกัน ข้อสังเกตุ โค้ดนี้จะไม่มี คำสั่ง delay()
กำลังศึกษาเพื่อนำมาใช้กับโค้ดในกระทู้เก่า