Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <Servo.h> // ผนวกไลบารี่การใช้งานเซอร์โวมอเตอร์
- Servo myservo1; // ประกาศตัวแปรแทน Servo ตัวที่ 1
- Servo myservo2; // ประกาศตัวแปรแทน Servo ตัวที่ 2
- Servo myservo3; // ประกาศตัวแปรแทน Servo ตัวที่ 3
- Servo myservo4; // ประกาศตัวแปรแทน Servo ตัวที่ 4
- int pos1=80, pos2=60, pos3=130, pos4=0; // กำหนดค่าเริ่มต้นตำแหน่งแกนมุมของเซอร์โวมอเตอร์ของแต่ละตัว
- void setup()
- {
- delay(3000); // หน่วงเวลา 3 วินาที
- myservo1.attach(A1); // กำหนดขาสัญญาณเอาต์พุตที่เซอร์โวมอเตอร์ตัวที่ 1 (Servo1) ต่อกับ i-Duino UNO R3B
- myservo2.attach(A0); // กำหนดขาสัญญาณเอาต์พุตที่เซอร์โวมอเตอร์ตัวที่ 2 (Servo2) ต่อกับ i-Duino UNO R3B
- myservo3.attach(6); // กำหนดขาสัญญาณเอาต์พุตที่เซอร์โวมอเตอร์ตัวที่ 3 (Servo3) ต่อกับ i-Duino UNO R3B
- myservo4.attach(9); // กำหนดขาสัญญาณเอาต์พุตที่เซอร์โวมอเตอร์ตัวที่ 4 (Servo4) ต่อกับ i-Duino UNO R3B
- delay(5000); // หน่วงเวลา 5 วินาที
- myservo1.write(pos1); // ขับเซอร์โวมอเตอร์ตัวที่ 1 (Servo1) ให้แกนหมุนไปยังตำแหน่ง pos1
- delay(3000); // หน่วงเวลา 3 วินาที
- myservo2.write(pos2); // ขับเซอร์โวมอเตอร์ตัวที่ 2 (Servo2) ให้แกนหมุนไปยังตำแหน่ง pos2
- myservo3.write(pos3); // ขับเซอร์โวมอเตอร์ตัวที่ 3 (Servo3) ให้แกนหมุนไปยังตำแหน่ง pos3
- myservo4.write(pos4); // ขับเซอร์โวมอเตอร์ตัวที่ 4 (Servo4) ให้แกนหมุนไปยังตำแหน่ง pos4
- delay(3000); // หน่วงเวลา 3 วินาที
- }
- void loop()
- {
- // หมุนไปทางขวา
- for(pos1;pos1>0;pos1--) // ปรับปรุงค่า pos1
- {
- myservo1.write(pos1); // ขับเซอร์โวมอเตอร์ตัวที่ 1 (Servo1) ให้แกนหมุนไปยังตำแหน่ง pos1
- delay(5); // หน่วงเวลา 5 มิลลิวินาที (เพื่อปรับความเร็วของเซอร์โวมอเตอร์)
- }
- delay(1000); // หน่วงเวลา 1 วินาที
- // คลายตัวมือจับ
- for(pos4;pos4<100;pos4++) // ปรับปรุงค่า pos4
- {
- myservo4.write(pos4); // ขับเซอร์โวมอเตอร์ตัวที่ 4 (Servo4) ให้แกนหมุนไปยังตำแหน่ง pos4
- }
- delay(1000); // หน่วงเวลา 1 วินาที
- // ขับเซอร์โวมอเตอร์ด้านขวาหมุนไปยังตำแหน่ง 50 องศา เพื่อยกระดับความสูงของตัวมือจับชิ้นส่วน
- for(pos2;pos2>50;pos2--) // ปรับปรุงค่า pos2
- {
- myservo2.write(pos2); // ขับเซอร์โวมอเตอร์ตัวที่ 2 (Servo2) ให้แกนหมุนไปยังตำแหน่ง pos2
- delay(20); // หน่วงเวลา 20 มิลลิวินาที (เพื่อปรับความเร็วของเซอร์โวมอเตอร์)
- }
- // ขับเซอร์โวมอเตอร์ด้านซ้ายหมุนไปยังตำแหน่ง 25 องศา เพื่อยืดแขนออก
- for(pos3;pos3>25;pos3--)
- {
- myservo3.write(pos3); // ขับเซอร์โวมอเตอร์ตัวที่ 3 (Servo3) ให้แกนหมุนไปยังตำแหน่ง pos3
- delay(20); // หน่วงเวลา 20 มิลลิวินาที (เพื่อปรับความเร็วของเซอร์โวมอเตอร์)
- }
- delay(1500); // หน่วงเวลา 1.5 วินาที
- // หนีบตัวมือจับ
- for(pos4;pos4>0;pos4--) // ปรับปรุงค่า pos4
- {
- myservo4.write(pos4); // ขับเซอร์โวมอเตอร์ตัวที่ 4 (Servo4) ให้แกนหมุนไปยังตำแหน่ง pos4
- }
- delay(1000); // หน่วงเวลา 1 วินาที
- // ขับเซอร์โวมอเตอร์ด้านซ้ายหมุนไปยังตำแหน่ง 120 องศา เพื่อหดแขนกลับ
- for(pos3;pos3<120;pos3++)
- {
- myservo3.write(pos3); // ขับเซอร์โวมอเตอร์ตัวที่ 3 (Servo3) ให้แกนหมุนไปยังตำแหน่ง pos3
- delay(20); // หน่วงเวลา 20 มิลลิวินาที (เพื่อปรับความเร็วของเซอร์โวมอเตอร์)
- }
- delay(1000); // หน่วงเวลา 1 วินาที
- // หมุนไปทางซ้าย
- for(pos1;pos1<180;pos1++) // ปรับปรุงค่า pos1
- {
- myservo1.write(pos1); // ขับเซอร์โวมอเตอร์ตัวที่ 1 (Servo1) ให้แกนหมุนไปยังตำแหน่ง pos1
- delay(5); // หน่วงเวลา 5 มิลลิวินาที (เพื่อปรับความเร็วของเซอร์โวมอเตอร์)
- }
- delay(1000); // หน่วงเวลา 1 วินาที
- // ขับเซอร์โวมอเตอร์ด้านซ้ายหมุนไปยังตำแหน่ง 25 องศา เพื่อยืดแขนออก
- for(pos3;pos3>25;pos3--) // ปรับปรุงค่า pos3
- {
- myservo3.write(pos3); // ขับเซอร์โวมอเตอร์ตัวที่ 3 (Servo3) ให้แกนหมุนไปยังตำแหน่ง pos3
- delay(20); // หน่วงเวลา 20 มิลลิวินาที (เพื่อปรับความเร็วของเซอร์โวมอเตอร์)
- }
- delay(1000); // หน่วงเวลา 1 วินาที
- // คลายตัวมือจับ
- for(pos4;pos4<100;pos4++) // ปรับปรุงค่า pos4
- {
- myservo4.write(pos4); // ขับเซอร์โวมอเตอร์ตัวที่ 4 (Servo4) ให้แกนหมุนไปยังตำแหน่ง pos4
- }
- delay(1000);
- // ขับเซอร์โวมอเตอร์ด้านซ้ายหมุนไปยังตำแหน่ง 120 องศา เพื่อหดแขนกลับ
- for(pos3;pos3<120;pos3++)
- {
- myservo3.write(pos3); // ขับเซอร์โวมอเตอร์ตัวที่ 3 (Servo3) ให้แกนหมุนไปยังตำแหน่ง pos3
- delay(20); // หน่วงเวลา 20 มิลลิวินาที (เพื่อปรับความเร็วของเซอร์โวมอเตอร์)
- }
- delay(1000); // หน่วงเวลา 1 วินาที
- // หนีบตัวมือจับ
- for(pos4;pos4>0;pos4--) // ปรับปรุงค่า pos4
- {
- myservo4.write(pos4); // ขับเซอร์โวมอเตอร์ตัวที่ 4 (Servo4) ให้แกนหมุนไปยังตำแหน่ง pos4
- }
- delay(1000); // หน่วงเวลา 1 วินาที
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement