#include <Keypad.h>
/* Keypad setup */
#define KEYPAD_ROWS 4
#define KEYPAD_COLS 4
byte rowPins[KEYPAD_ROWS] = {5, 4, 3, 2};
byte colPins[KEYPAD_COLS] = {A3, A2, A1, A0};
char keys[KEYPAD_ROWS][KEYPAD_COLS] = {
{'1', '2', '3', '+'},
{'4', '5', '6', '-'},
{'7', '8', '9', '*'},
{'.', '0', '=', '/'}
};
Keypad keypad = Keypad(makeKeymap(keys), rowPins, colPins, KEYPAD_ROWS, KEYPAD_COLS);
#define LED_V 11
#define LED_R 12
void setup() {
pinMode(LED_V, OUTPUT);
pinMode(LED_R, OUTPUT);
}
char codice[3] = {'0', '0', '7'};
char seq[3];
int seq_index = 0;
void loop() {
char key = keypad.getKey();
if (key)
{
seq[seq_index] = key;
seq_index += 1;
if (seq_index == 3)
{
seq_index = 0;
// controllo codice
bool ok = true;
for (int i = 0; i < 3; i++)
{
if (seq[i] != codice[i])
{
ok = false;
break;
}
}
if (ok)
{
// Accendo led verde
digitalWrite(LED_V, HIGH);
}
else
{
// Accendo led rosso
digitalWrite(LED_R, HIGH);
}
}
else
{
digitalWrite(LED_V, LOW);
digitalWrite(LED_R, LOW);
}
}
}