Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <Keypad.h>
- const byte ROWS = 4; //four rows
- const byte COLS = 4; //three columns
- char keys[ROWS][COLS] = {
- {'1','2','3','A'},
- {'4','5','6','B'},
- {'7','8','9','C'},
- {'*','0','#','D'}
- };
- byte rowPins[ROWS] = {9, 8, 7, 6}; //connect to the row pinouts of the keypad
- byte colPins[COLS] = {5, 4, 3, 2}; //connect to the column pinouts of the keypad
- Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
- byte heaterPin = 13;
- boolean blink = false;
- void setup(){
- Serial.begin(9600);
- pinMode(heaterPin, OUTPUT); // sets the digital pin as output
- digitalWrite(heaterPin, HIGH); // sets the LED on
- keypad.addEventListener(keypadEvent); //add an event listener for this keypad
- }
- void loop(){
- char key = keypad.getKey();
- if (key) {
- Serial.println(key);
- }
- if (blink){
- digitalWrite(heaterPin,!digitalRead(heaterPin));
- delay(100);
- }
- }
- //take care of some special events
- void keypadEvent(KeypadEvent key){
- switch (keypad.getState()){
- case PRESSED:
- switch (key){
- case '#': digitalWrite(heaterPin,!digitalRead(heaterPin)); break;
- case '*':
- digitalWrite(heaterPin,!digitalRead(heaterPin));
- break;
- }
- break;
- case RELEASED:
- switch (key){
- case '*':
- digitalWrite(heaterPin,!digitalRead(heaterPin));
- blink = false;
- break;
- }
- break;
- case HOLD:
- switch (key){
- case '*': blink = true; break;
- }
- break;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement