Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Integrantes:
Introducción
Esta práctica haremos uso de la memoria EEPROM para guardar voltajes y mostrarlos en la
pantalla LCD mediante un teclado con el cual tendremos queingresar una contraseña para que
la pantalla arroje datos (voltaje) almacenados en la memoria.
Materiales utilizados:
- 2 potenciómetros
- Pantalla LCD
- Arduino UNO
- Teclado 4x4 de membrana
- Puentes (cables)
- Protoboard
Códgio:
#include <Keypad.h>
#include <LiquidCrystal.h>
#include <EEPROM.h>
const int POT = A3; // Define el pin analógico en donde se conecta el potenciometro
char Key; //En esta variable se guardara la tecla que se presione del teclado matricial
{'1','2','3','B'},
{'4','5','6','C'},
{'7','8','9','D'}};
void setup() {
EEPROM.get( 0, PW ); //Se leé las dos primeras celdas de la memoria EEPROM y se guarda en PW
CurrentPW=PW; //Para el caso de tener configurada la contraseña a una diferente que la por defecto
//lcd.print("PW: "); //Por si se olvidan la contraseña le quitan los "//" y muestra al iniciar el arduino la contraseña
guardada
//lcd.print(CurrentPW);
//delay(5000);
void loop() {
char KeyOp;
int i,j;
float vEE[4];
value=analogRead(POT);
volt=(value*5/1023.0);
lcd.home(); // Coloca el cursor en las coordenadas (0,0)
//Valida la contraseña
if(PW == CurrentPW){
lcd.clear();
for(i=2;i<2+ 4*sizeof(float);i+= sizeof(float)){ //El sizeof al tener una variable de tipo flotante retora un 4
volt=(value*5/1023.0);
EEPROM.put( i, volt ); //Graba los datos de voltaje en el memoria EEPROM desde la celda 2 hasta la 17
delay(1000);
lcd.clear();
delay(2000);
lcd.clear();
j=0;
for(i=2;i<2+ 4*sizeof(float);i+= sizeof(float)){ //El sizeof al tener una variable de tipo flotante retora un 4
EEPROM.get( i, vEE[j] ); //Lee los datos de la EEPROM desde la celda 2 y los guarda en la variable vEE
j++;
lcd.print(j+1);
lcd.print(')');
lcd.print(vEE[j]);
lcd.print("; ");
lcd.print(j+1);
lcd.print(')');
lcd.print(vEE[j]);
lcd.print("; ");
lcd.clear();
}else{
lcd.clear();
delay(2000);
int pass,i=0;
String KeyWord;
lcd.setCursor(0, 1);
while(i<4){
i=4;
}
if(KeyWord.length()>0){ //Se consulta el tamaño del strig de la variable Keyword y si es mayor a 0 entra al if
}else{
Circuito físico: