From b5fabe2dca1293fb20bd15d61168c374ffa8cb26 Mon Sep 17 00:00:00 2001 From: Max Hunt Date: Thu, 27 Sep 2018 13:46:45 +0100 Subject: [PATCH] Key map --- Design/Layout.xlsx | Bin 0 -> 9040 bytes Design/~$Layout.xlsx | Bin 0 -> 165 bytes firmware/keyboard/keyboard.ino | 46 +++++++++++++++++++++++++++++++++ 3 files changed, 46 insertions(+) create mode 100644 Design/Layout.xlsx create mode 100644 Design/~$Layout.xlsx create mode 100644 firmware/keyboard/keyboard.ino diff --git a/Design/Layout.xlsx b/Design/Layout.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..d226225bccba8f8a3d7efd283a492cc8c32e7471 GIT binary patch literal 9040 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 literal 0 HcmV?d00001 diff --git a/Design/~$Layout.xlsx b/Design/~$Layout.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..907910cb14d8533b09fd68b7b7bf502d13a0db8e GIT binary patch literal 165 wcmd<~D9tO;QSeQy$jntB9&j^wFqAUnF_bXqFeotiG9)roFk~|10@<{H0H@#*r2qf` literal 0 HcmV?d00001 diff --git a/firmware/keyboard/keyboard.ino b/firmware/keyboard/keyboard.ino new file mode 100644 index 0000000..d50acce --- /dev/null +++ b/firmware/keyboard/keyboard.ino @@ -0,0 +1,46 @@ +#include + +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() +{ + pinMode(ledpin,OUTPUT); + 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); + } + } +}