ช่วยเขียนออกแบบโปรแกรมarduinoหน่อยคระบ

อยากให้หลังจากที่โปรแกรมทำคำสั้งใดคำสั้ง1แล้วหยุดหรือresetไปกลับไปทำswitch case  ใหม่ครับ  เช่นกด  1มอเตอร์หมุนแล้ว  พอเสร็จแล้วหยุดกลับไปเริ่มรับkeyใหม่  ปัญหาตอนนี้คือพอกดแล้วมันหมุนไม่หยุดครับ ไม่มีความรู้มากช่วยแนะนำหน่อย  คิดว่าน่าจะต้องใส่resetหรือป่าวถ้าใช่ใส่ยังไงครับ

#include <Keypad.h>
int dir1PinA = 2;
int dir2PinA = 3;
int speedPinA = 6;

const byte ROWS = 4; // Four rows
const byte COLS = 3; // Three columns
char keys[ROWS][COLS] = {
  {'1','2','3'},
  {'4','5','6'},
  {'7','8','9'},
  {'*','0','#'}
};

byte rowPins[ROWS] = { 14, 15, 16, 17 };
byte colPins[COLS] = { 18, 19, 20};
Keypad kpd = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );



void setup()
{
  
  Serial.begin(9600);
  
   pinMode(dir1PinA,OUTPUT);
  pinMode(dir2PinA,OUTPUT);
  pinMode(speedPinA,OUTPUT);
  
}




void loop()
{
  char key = kpd.getKey();
  
    switch (key)
    {
      case '1':
          analogWrite(speedPinA, 250);
          digitalWrite(dir1PinA, HIGH);
          digitalWrite(dir2PinA, LOW);
          delay(500);
          break;
      
      case '#':  analogWrite(speedPinA, 250);
          digitalWrite(dir1PinA, LOW);
          digitalWrite(dir2PinA, HIGH);
          delay(3000);
          break;     }

}
แสดงความคิดเห็น
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่