#include <Keypad.h>
const int LED_VERMELHO = 32;
const int LED_VERDE = 33;
byte rows[] = { 23, 22, 21, 19 };
byte columns[] = { 18, 5, 4, 2 };
const byte numRows = 4;
const byte numCols = 4;
char keys[numRows][numCols] = {
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}
};
Keypad myKeypad = Keypad(makeKeymap(keys), rows, columns, numRows, numCols);
char key;
int soma = 0;
void setup()
{
pinMode (LED_VERMELHO, OUTPUT);
pinMode (LED_VERDE, OUTPUT);
Serial.begin(9600);
Serial.println("Welcome!!");
}
void loop()
{
key = myKeypad.getKey();
if (key != NO_KEY){
switch (key) {
case '1':
Serial.println ("0,10 R$ recebidos");
soma += 10;
break;
case '2':
Serial.println ("0,20 R$ recebidos");
soma += 20;
break;
case '3':
Serial.println ("0,25 R$ recebidos");
soma += 25;
break;
case '4':
Serial.println ("0,50 R$ recebidos");
soma += 50;
break;
case '*':
if(soma >= 100){
soma = 0;
digitalWrite(LED_VERDE, HIGH);
digitalWrite(LED_VERMELHO, LOW);
Serial.println("Receba seu produto!");
delay(3000);
digitalWrite(LED_VERDE, LOW);
}
else{
soma = 0;
digitalWrite(LED_VERMELHO, HIGH);
digitalWrite(LED_VERDE, LOW);
Serial.println("Não tem dinheiro suficiente!");
delay(3000);
digitalWrite(LED_VERMELHO, LOW);
}
break;
default:
break;
}
}
}