#include <Keypad.h> //Bibliothek zum auslesen der Matrix Tastatur
#include <Keyboard.h>
//Definieren der Zeilen und Spalten.
//Wenn eine größere Tastatur verwendet wird,
//muss das hierdefiniert werden.
const byte COLS = 5;
const byte ROWS = 5;
int keyold = 0;
//Definieren der Pins, über welche die Matrix Tastatur
//mit dem Microcontroller verbunden wurde.
const byte COL_PINS[COLS] = { 2, 3, 4, 5, 6 };
const byte ROW_PINS[ROWS] = { 7, 8, 9, 10, 11};
//Aufbau der Tastatur als mehrdimensionales Array abbilden.
//Es ist darauf zu achten das die Tastatur verkehrtherum abgebildet ist.
//Wenn eine 4x4 Tastatur verwendet wird muss hier jeweils
//die Buchstaben 'A' bis 'D' ergänzt werden.
const char KEYS[ROWS][COLS] = {
{ '7', '8', '9', '+', 'd' },
{ '4', '5', '6', '-', 't' },
{ '1', '2', '3', 'u', 'o' },
{ '.', '0', '/', 'a', '9' },
{ '!', '!', '!', 'c', 'e' }
};
//Initialisieren des KeyPad Objektes
Keypad myKeypad = Keypad(makeKeymap(KEYS), ROW_PINS, COL_PINS, ROWS, COLS);
void setup() {
//Begin der seriellen Kommunikation mit 9600 baud.
Serial.begin(9600);
}
void loop() {
//lesen ob eine Taste gedrückt wurde
char key = myKeypad.getKey();
//Werte sind in ASCII!!!!
//dann den Wert auf der seriellen Konsole
if (key == 55) {
//Serial.print("Die Taste ");
Serial.print("ENTER");
Serial.println(" ");
//MIDI.send(CC/BYTE/BYTE)
//Serial.println(" wurde gedrueckt");
}
if (key == 64) {
//Serial.print("Die Taste ");
Serial.print(" ");
//Serial.println(" wurde gedrueckt");
}
if (key == 85) {
//Serial.print("Die Taste ");
Serial.print(" ");
Serial.print("THRU");
Serial.print(" ");
//Serial.println(" wurde gedrueckt");
}
else if (key) {
//Serial.print("Die Taste ");
Serial.print(key);
Serial.print("");
//Serial.println(" wurde gedrueckt");
}
if (key == 64) {
//Serial.print("Die Taste ");
Serial.print(" ");
//Serial.println(" wurde gedrueckt");
}
if (key == 47) {
//Serial.print("Die Taste ");
Serial.print("Fixture");
//Serial.println(" wurde gedrueckt");
}
delay(50);
}