Code กำหนดเวลาให้ทำงานตามที่สั่งยังไง ช่วยหน่อยครับ!!! Arduino

ผมต้องการให้ Motor ทำงานตามที่สั่งคือ
1. มอเตอร์รับคำสั่งจากปุ่ม
2. มอเตอร์ทำงาน หมุนซ้าย 5 วิ แล้วหยุด
3. เมื่อกดปุ่มอีกรอบ มอเตอร์หมุนขวา 5 วิ แล้วหยุด

ผมทำให้เป็นจริงๆ Code ด้านล่างเป็นโค๊ตที่ผมเขียนมาเองมั้วๆ มันทำงานคือ เมื่อเสียบปัก มอเตอร์หมุนตลอดหยุดไม่ได้เพราะผมกำหนดเวลาไม่าเป็น
พอกดปุ่มก็เปลี่ยนข้างหมุนยาวๆ อบากให้มันเบรคแต่ก็เขียนไม่เป็น ช่วยหน่อยครับ

**เพิ่มเติม** คือสงสัยว่าสัมมุติถอดปลั๊กระหว่างทำงาน อยากให้มันเริ่มที่เดิมจะได้ไหม เช่น
มอเตอร์ทำงานไปแล้ว 1 2 3 (เวลาที่มอเตอร์ทำงาน) ปลั๊กหลุด
พอเสียบปลั๊กใหม่ อยากให้มอเตอร์ทำงานใหม่ คือหมุนย้อนกลับที่ทำงานไปแล้ว 3 2 1 ให้มันเริ่มต้นที่ 0 ใหม่ทำยังไงครับ

int motor1 = 2;  //ประกาศตัวแปรมอเตอร์ ทำงานที่ขา 2
int motor2 = 3;
int motor3 = 5;
int motor4 = 6; //ประกาศตัวแปรมอเตอร์ ทำงานที่ขา 3
int buttonPin = 4;  //ประกาศตัวแปรสวิทซ์ ทำงานที่ขา 4
int buttonStart= 0;  //ประกาศตัวแปร buttonStart เริ่มที่ 0
void setup(){
pinMode(motor1, OUTPUT);   //ตั้งค่าให้ค่าเป็น OUTPUT
pinMode(motor2, OUTPUT);  //ตั้งค่าให้ค่าเป็น OUTPUT
pinMode(buttonPin, INPUT)  ;//ตั้งค่าให้ค่าเป็น INPUT
}
void loop()
{
  buttonStart = 0;
buttonStart = digitalRead(buttonPin);  //เริ่มคำสั่งเริ่มต้นที่ 0
if (buttonStart == HIGH) 
{
delay (100);  //เวลาที่ทำงาน
digitalWrite(motor1, HIGH);
digitalWrite(motor3, HIGH); //ให้มอเตอร์ทำงานหมุนซ้าย 5 วิ
digitalWrite(motor2, LOW);
digitalWrite(motor4, LOW);

}
else { 
delay (100);  //เวลาที่ทำงาน
digitalWrite(motor1, LOW);
digitalWrite(motor3, LOW);//ให้มอเตอร์ทำงานหมุนขวาห 5 วิ
digitalWrite(motor2, HIGH);
digitalWrite(motor4, HIGH);
}
}
แสดงความคิดเห็น
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่