▼ กำลังโหลดข้อมูล... ▼
แสดงความคิดเห็น
คุณสามารถแสดงความคิดเห็นกับกระทู้นี้ได้ด้วยการเข้าสู่ระบบ
กระทู้ที่คุณอาจสนใจ
อ่านกระทู้อื่นที่พูดคุยเกี่ยวกับ
Arduino
C (ภาษาคอมพิวเตอร์)
การพัฒนาซอฟต์แวร์
C++
วิศวกรรมคอมพิวเตอร์
Arduino กำหนด millis ยังไงครับ ให้มันหยุดเมื่อถึงเวลาที่กำหนด
ตอนนี้การทำงานของมันคือหมุนไปเลื่อยๆ ยังรับค่าจากปุ่มไม่ได้ครับ พอเสียบปลั๊กก็หมุนเลยทิศทางเดียว
โค๊ตนี้จะเอาไปใช้คุมมอเตอร์ครับ
1.กดปุ่ม ทำงาน Menu 1 ทำงานคำสั่ง5วิแล้วหยุด
2.กดปุ่มอีกรอบ ทำงาน Menu 2 มำงาน 5วิ แล้ววนลูป
int motor1 = 2; //ประกาศตัวแปรมอเตอร์ ทำงานที่ขา 2
int motor2 = 3;
int motor3 = 5;
int motor4 = 6; //ประกาศตัวแปรมอเตอร์ ทำงานที่ขา 3
int buttonPin = 4; //ประกาศตัวแปรสวิทซ์ ทำงานที่ขา 4
int buttonStart= 0; //ประกาศตัวแปร buttonStart เริ่มที่ 0
int Menu=0;
unsigned long time;
void setup(){
pinMode(motor1, OUTPUT); //ตั้งค่าให้ค่าเป็น OUTPUT
pinMode(motor2, OUTPUT); //ตั้งค่าให้ค่าเป็น OUTPUT
pinMode(buttonPin, INPUT) ;//ตั้งค่าให้ค่าเป็น INPUT
Serial.begin(9600);
}
void loop()
{
time = millis();
Serial.println(time);
buttonStart = 0;
buttonStart = digitalRead(buttonPin);
if (buttonStart == HIGH)
{
delay (300);
Menu++;
if(Menu>2)
{
Menu=0;
}
if(Menu==1 && millis()-time > 5000 )
{
digitalWrite(motor1,LOW);
digitalWrite(motor3,LOW);
digitalWrite(motor1, HIGH);
digitalWrite(motor3, HIGH);
}
else if(Menu==2 && millis()-time > 5000 )
{
digitalWrite(motor2,LOW);
digitalWrite(motor4,LOW);
digitalWrite(motor2, HIGH);
digitalWrite(motor4, HIGH);
}
}
}