#include <Keypad.h>
#include <stdio.h>
#include <string.h>
#define ROWS 4
#define COLS 4
char cKeys[ROWS][COLS] = {
{ '1', '2', '3', 'A' },
{ '4', '5', '6', 'B' },
{ '7', '8', '9', 'C' },
{ '*', '0', '#', 'D' }
};
uint8_t iColPins[COLS] = { 5, 4, 3, 2 }; // Pins connected to C1, C2, C3, C4
uint8_t iRowPins[ROWS] = { 9, 8, 7, 6 }; // Pins connected to R1, R2, R3, R4
Keypad oKeypad = Keypad(makeKeymap(cKeys), iRowPins, iColPins, ROWS, COLS);
int iSollwert;
char cSollwert;
char sSollwert[20];
void setup() {
Serial.begin(9600);
iSollwert = 10;
cSollwert = '?';
sprintf(sSollwert,"??"); //strcopy (sSollwert, "??");
}
void CharAenderMenu (void)
{
char cKey;
char cNeuerSollwert;
Serial.println("CHAR_AENDER_MENU");
Serial.println("Bitte neuen Sollwert eingeben");
while (oKeypad.getKey() == NO_KEY);
do
{
cNeuerSollwert = oKeypad.getKey();
while (cNeuerSollwert == NO_KEY);
}
}
void AenderMenu(void)
{
char cKey;
char sText[40];
sprintf(sText, "iSollwert-%1",iSollwert); Serial.println(sText);
sprintf(sText, "cSollwert-%c",cSollwert); Serial.println(sText);
sprintf(sText, "sSollwert-%s",sSollwert); Serial.println(sText);
Serial.println("=> Taste");
while (oKeypad.getKey() == NO_KEY);
}
void AnzeigeMenu(void)
{
char cKey;
char sText[40];
sprintf(sText, "iSollwert-%1",iSollwert); Serial.println(sText);
sprintf(sText, "cSollwert-%c",cSollwert); Serial.println(sText);
sprintf(sText, "sSollwert-%s",sSollwert); Serial.println(sText);
Serial.println("=> Taste");
while (oKeypad.getKey() == NO_KEY);
}
void TopMenu(void) {
Serial.println("Top Menü");
Serial.println("f.......");
Serial.println("1...Anzeigen");
Serial.println("2...Ändern");
Serial.println("..Print");
char cKey;
do {
cKey = oKeypad.getKey();
} while (cKey == NO_KEY);
switch (cKey) {
case '1':
AnzeigeMenu ();
break;
case '2':
AenderMenu ();
break;
case '3':
Serial.println("Menü -> Print");
break;
default:
Serial.println("Menü -> Anzeigen");
break;
}
}
void loop()
char cKey;
for (;;) {
cKey = oKeypad.getKey();
if (cKey == NO_KEY) {
Serial.println("nix gedrückt");
delay(3000);
} else {
Serial.println(cKey);
}
}