arduino กับ keypad
การใช้งานไมโครคอนโทรลเลอร์ไม่น้อยทีเดียวที่มีการใช้งานสวิตช์เพื่อให้ไมโครคอนโทรลเลอร์ทำงานตามต้องการ
การต่อสวิตช์ที่จำนวนไม่มากนักก็สามารถต่อโดยตรงกับไมโครคอนโทรลเลอร์แต่ถ้าต้องการใช้งานสวิตช์ที่มีจำนวนมากวิธีที่ถูกเลือกใช้เป็นอันดับแรกคือการต่อแบบแมตทริก
Download here: keypad.zip
#include <Keypad.h>
const byte ROWS = 4; // Four rows
const byte COLS = 3; // Three columns
// Define the Keymap
char keys[ROWS][COLS] = {
{'1','2','3'},
{'4','5','6'},
{'7','8','9'},
{'#','0','*'}
};
// Connect keypad ROW0, ROW1, ROW2 and ROW3 to these Arduino pins.
byte rowPins[ROWS] = { 9, 8, 7, 6 };
// Connect keypad COL0, COL1 and COL2 to these Arduino pins.
byte colPins[COLS] = { 12, 11, 10 };
// Create the Keypad
Keypad kpd = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
#define ledpin 13
void setup()
{
digitalWrite(ledpin, HIGH);
Serial.begin(9600);
}
void loop()
{
char key = kpd.getKey();
if(key) // Check for a valid key.
{
switch (key)
{
case '*':
digitalWrite(ledpin, LOW);
break;
case '#':
digitalWrite(ledpin, HIGH);
break;
default:
Serial.println(key);
}
}
}
ให้ดู output ทาง series monitor