Hola gente,
estoy haciendo un proyecto que consta en dos teclados matriciales de 4x1 (porque no consegui uno de 8x1) que cada vez que aprieto un boton activan diferentes reles con diferentes tiempos, lo que quiero es incorporarle un lcd que me muestre cuantas veces se apretaron los botones del teclado matricial (la suma de todos los botones), pero que no se formatee, por eso quisiera poder incorporar la EEPROM, estuve buscando bastante pero la verdad no pude llegar a nada con los conocimientos basicos que tengo, les comparto mi codigo y si pudieran ayudarme seria excelente
#include<Keypad.h>
const byte filas = 4;
const byte columnas = 1;
byte pinesF[filas] = {23,25,27,29};
byte pinesC[columnas] = {31};
const int MM1=12;
const int VS1=11;
const int MR1=10;
const int MM2=9;
const int VS2=8;
const int MR2=7;
const int MM3=6;
const int VS3=5;
const int MR3=4;
const int BOTON1=13;
char teclas[filas][columnas] = {
{'1'},
{'2'},
{'3'},
{'4'}
};
Keypad teclado = Keypad(makeKeymap(teclas), pinesF, pinesC, filas, columnas);
#include<Keypad.h>
const byte Filas = 4;
const byte Columnas = 1;
byte PinesF[Filas] = {22,24,26,28};
byte PinesC[Columnas] = {30};
char Teclas[Filas][Columnas] = {
{'5'},
{'6'},
{'7'},
{'8'}
};
Keypad Teclado = Keypad(makeKeymap(Teclas), PinesF,
PinesC, Filas, Columnas);
char tecla;
int val1;
void setup() {
pinMode(MM1,OUTPUT);
pinMode(VS1,OUTPUT);
pinMode(MR1,OUTPUT);
pinMode(MM2,OUTPUT);
pinMode(VS2,OUTPUT);
pinMode(MR2,OUTPUT);
pinMode(MM3,OUTPUT);
pinMode(VS3,OUTPUT);
pinMode(MR3,OUTPUT);
pinMode(BOTON1,INPUT);
Serial.begin(9600);
}
void loop() {
val1=digitalRead(BOTON1);
digitalWrite(MM1,HIGH);
digitalWrite(VS1,HIGH);
digitalWrite(MR1,HIGH);
digitalWrite(MM2,HIGH);
digitalWrite(VS2,HIGH);
digitalWrite(MR2,HIGH);
digitalWrite(MM3,HIGH);
digitalWrite(VS3,HIGH);
digitalWrite(MR3,HIGH);
//BOTON LIMPIEZA
if (val1==HIGH){
Serial.print("Boton limpieza ");
Serial.println(val1);
digitalWrite(MM1,LOW);
digitalWrite(VS1,LOW);
delay(4000);
digitalWrite(VS1,HIGH);
digitalWrite(MM1,HIGH);
}
if (val1==HIGH){
digitalWrite(MM2,LOW);
digitalWrite(VS2,LOW);
delay(4000);
digitalWrite(VS2,HIGH);
digitalWrite(MM2,HIGH);
}
if (val1==HIGH){
digitalWrite(MM3,LOW);
digitalWrite(VS3,LOW);
delay(4000);
digitalWrite(VS3,HIGH);
digitalWrite(MM3,HIGH);
}
char tecla = teclado.getKey()+Teclado.getKey();
if(tecla != NO_KEY){
Serial.print("tecla ");
Serial.println(tecla);
//BOTON1 50%cafe50%leche
if (tecla=='1'){
digitalWrite(MR1,LOW);
digitalWrite(MM1,LOW);
digitalWrite(VS1,LOW);
delay(1500);
digitalWrite(MR1,HIGH);
delay(2000);
digitalWrite(VS1,HIGH);
delay(1000);
digitalWrite(MM1,HIGH);
digitalWrite(MR2,LOW);
digitalWrite(MM2,LOW);
digitalWrite(VS2,LOW);
delay(4500);
digitalWrite(MR2,HIGH);
delay(3500);
digitalWrite(VS2,HIGH);
delay(1000);
digitalWrite(MM2,HIGH);
}
//BOTON2 10%cafe90%leche
if (tecla=='2'){
digitalWrite(MR1,LOW);
digitalWrite(MM1,LOW);
digitalWrite(VS1,LOW);
delay(1500);
digitalWrite(MR1,HIGH);
delay(1500);
digitalWrite(VS1,HIGH);
delay(1000);
digitalWrite(MM1,HIGH);
digitalWrite(MR2,LOW);
digitalWrite(MM2,LOW);
digitalWrite(VS2,LOW);
delay(4500);
digitalWrite(MR2,HIGH);
delay(4000);
digitalWrite(VS2,HIGH);
delay(1000);
digitalWrite(MM2,HIGH);
}
//BOTON3 10%leche90%cafe
if (tecla=='3'){
digitalWrite(MR1,LOW);
digitalWrite(MM1,LOW);
digitalWrite(VS1,LOW);
delay(1900);
digitalWrite(MR1,HIGH);
delay(2000);
digitalWrite(VS1,HIGH);
delay(1000);
digitalWrite(MM1,HIGH);
delay(500);
digitalWrite(MR2,LOW);
digitalWrite(MM2,LOW);
digitalWrite(VS2,LOW);
delay(4200);
digitalWrite(MR2,HIGH);
delay(3500);
digitalWrite(VS2,HIGH);
delay(1000);
digitalWrite(MM2,HIGH);
}
//BOTON4 capuccino
if (tecla=='4'){
digitalWrite(MR1,LOW);
digitalWrite(MM1,LOW);
digitalWrite(VS1,LOW);
delay(1500);
digitalWrite(MR1,HIGH);
delay(1000);
digitalWrite(VS1,HIGH);
delay(1000);
digitalWrite(MM1,HIGH);
digitalWrite(MR2,LOW);
digitalWrite(MM2,LOW);
digitalWrite(VS2,LOW);
delay(4600);
digitalWrite(MR2,HIGH);
delay(1200);
digitalWrite(VS2,HIGH);
delay(1000);
digitalWrite(MM2,HIGH);
delay(500);
digitalWrite(MR3,LOW);
digitalWrite(MM3,LOW);
digitalWrite(VS3,LOW);
delay(3000);
digitalWrite(MR3,HIGH);
delay(200);
digitalWrite(VS3,HIGH);
delay(1000);
digitalWrite(MM3,HIGH);
}
//BOTON5 mocaccino
if (tecla=='5'){
delay(500);
digitalWrite(MR1,LOW);
digitalWrite(MM1,LOW);
digitalWrite(VS1,LOW);
delay(1500);
digitalWrite(MR1,HIGH);
delay(1500);
digitalWrite(VS1,HIGH);
delay(1000);
digitalWrite(MM1,HIGH);
delay(500);9
digitalWrite(MR3,LOW);
digitalWrite(MM3,LOW);
digitalWrite(VS3,LOW);
delay(7000);
digitalWrite(MR3,HIGH);
delay(1000);
digitalWrite(VS3,HIGH);
delay(1000);
digitalWrite(MM3,HIGH);
}
//BOTON6 chocolate
if (tecla=='6'){
digitalWrite(MR3,LOW);
digitalWrite(MM3,LOW);
digitalWrite(VS3,LOW);
delay(8000);
digitalWrite(MR3,HIGH);
delay(3500);
digitalWrite(VS3,HIGH);
delay(1000);
digitalWrite(MM3,HIGH);
}
//BOTON7 chocolate C/leche
if (tecla=='7'){
digitalWrite(MR3,LOW);
digitalWrite(MM3,LOW);
digitalWrite(VS3,LOW);
delay(6000);
digitalWrite(MR3,HIGH);
delay(2000);
digitalWrite(VS3,HIGH);
delay(1000);
digitalWrite(MM3,HIGH);
delay(500);
digitalWrite(MR2,LOW);
digitalWrite(MM2,LOW);
digitalWrite(VS2,LOW);
delay(3000);
digitalWrite(MR2,HIGH);
delay(500);
digitalWrite(VS2,HIGH);
delay(1000);
digitalWrite(MM2,HIGH);
}
//BOTON8
if (tecla=='8'){
digitalWrite(MR2,LOW);
digitalWrite(MM2,LOW);
digitalWrite(VS2,LOW);
delay(5000);
digitalWrite(MR2,HIGH);
delay(2000);
digitalWrite(VS2,HIGH);
digitalWrite(MM2,HIGH);
}
}
}