ทดสอบโค้ดควบคุมแขนกล Robot Arm ด้วย Arduino แบบ multitask

ตัวอย่างโค้ด ควบคุมเซอร์โว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()
กำลังศึกษาเพื่อนำมาใช้กับโค้ดในกระทู้เก่า
1 Like

น่าสนใจมาก รอติดตามครับผม

คาเฟ่น้ำอ้อยคลอง11มีหุ่นยนต์ให้เล่น

เครื่องในแขนกลก่อนปรับปรุง


1.จุดต่อเซอร์โวเพื่อจ่ายไฟเลี้ยงและสายสัญญาณเซอรฺโว

2.socket ของบอร์ตardoino pro mini ต้านหน้าและหลัง

3.ตัวแปลงไฟ 12VDC TO 7.2 VDC สำหรับ servo high torque

4.ตัวจ่ายไฟ 12 VDC TO 5 VDC สำหรับ บอร์ต

จะล้ำเกินไปแล้วนะครับ 555

รอปรับปรุงอีกครั้งเร็วๆนี้ครับ :smiley:

1 Like

รอติดตามชมครับผม

waiting gif GIF