การสั่งงานไห้ LED ติดด้วย Keypad


(ขวัญ ขวัญ ) #22

คือบรอดไม่ได้อยู่กับหนูค่ะ ต้องรอพรุ่งนี้ถึงจะทดสอบได้
ถ้ามีปันหาอะไรอีกเดี๋ยวหยูทักไปหานะค่ะ
ขอบคุณค่ะ


(Permpol Thanapunnamas) #23

อ่านที่พี่คอมเม้นแล้วทำตามดูครับ ติดตรงไหนก็ถามใหม่ได้


(ขวัญ ขวัญ ) #24

โอเครจ้ะ ถ้าไม่ได้ตรงไหนเดี๋ยวหยูทักไปไหม่


(Permpol Thanapunnamas) #25

ย้าย char ไปไว้ข้างบนด้วยครับไม่ต้องเอามาไว้ใน void loop()

#include <Keypad.h>

int Buzzer = 13;
int LED = 12;
char key;
const byte ROWS = 4; 
const byte COLS = 3; 
char keys[ROWS][COLS] = {
  {'1','2','3'},
  {'4','5','6'},
  {'7','8','9'},
  {'*','0','#'}
};
byte rowPins[ROWS] = {8, 7, 6 , 5}; //connect to the row pinouts of the keypad
byte colPins[COLS] = {4, 3, 2}; //connect to the column pinouts of the keypad

Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );

void setup(){
  Serial.begin(9600);
  Serial.print("    Keypad  Test    ");
  Serial.print("Key       =         ");
  
  pinMode(Buzzer,OUTPUT);
  pinMode (LED,OUTPUT);
  digitalWrite(Buzzer,LOW);
 
}

void loop()
{
  key = keypad.getKey();
  if (key != NO_KEY)
  {    
    Serial.print(key);
    Beep();
  }
key = keypad.getKey();
delay(50);
  if (key >= "1234")
  {
  digitalWrite(LED,1);
  delay(500);
  digitalWrite(LED,0);
  delay(500);
  }
}

void Beep()
{
  digitalWrite(Buzzer,HIGH);delay(50);
  digitalWrite(Buzzer,LOW);
}

(ขวัญ ขวัญ ) #26

โค้ตที่พี่ไห้มา หนุจะทำต่อไปเป็นLEDตัวที่2หนูต้องสร้าง Loopหรอค่ะ
หรือไม่ต้องสร้าง แล้วจะทำLEDตัวที่2ยังใง (สมมุติว่าโค้ตที่พี่ไห้มาเป็นLEDดวงที่1)


(Permpol Thanapunnamas) #27

ตัวที่หนึ่ง ติดยังครับ