ผมต้องการให้ 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);
}
}
Code กำหนดเวลาให้ทำงานตามที่สั่งยังไง ช่วยหน่อยครับ!!! Arduino
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);
}
}