Jjaja

Dependencies:   mbed FXOS8700Q TextLCD

main.cpp

Committer:
thesad
Date:
2020-06-11
Revision:
0:421257dc3042

File content as of revision 0:421257dc3042:

#include "mbed.h"
#include "C12832.h"


DigitalOut L1(p8);
DigitalOut L2(p9);
DigitalOut L3(p10);
AnalogIn pot(p15);
C12832 lcd(SPI_MOSI, SPI_SCK, SPI_MISO, p8, p11);

 
//Contadores para cada dígito
int seg1=0; //Variable para contador de unidades de segundo
int seg2=0; //Variable para contador de décimas de segundo
int min1=0; //Variable para contador de unidades de minuto
int min2=0; //Variable para contador de décimas de minuto
int hor1=0; //Variable para contador de unidades de hora
int hor2=0; //Variable para contador de décimas de hora
 
void reloj(){//Subrutina para generar reloj de 6 segmentos
    lcd.locate(21,1);//Posicionamiento de las unidades de segundo
    lcd.printf("%i", seg1);
    lcd.locate(11,1);//Posicionamiento de las décimas de segundo
    lcd.printf("%i",seg2);
    lcd.locate(26,1);//Posicionamiento del doble punto
    lcd.printf(":");
    lcd.locate(42,1);//Posicionamiento de las unidades de minuto
    lcd.printf("%i",min1);
    lcd.locate(32,1);//Posicionamiento de las décimas de minuto
    lcd.printf("%i",min2);
    lcd.locate(49,1);//Posicionamiento del punto doble
    lcd.printf(":");
    lcd.locate(63,1);//Posicionamiento de las unidades de minuto
    lcd.printf("%i",hor1);
    lcd.locate(53,1);//Posicionamiento de las décimas de minuto
    lcd.printf("%i",hor2);
}
 
 
int main() {
    
     printf("Proyecto, equipo 3\n");
     printf("Contraseña: 8569 \n");
    float x;
    lcd.cls();
    while(1){
    x = 5*pot.read();
    
    if(x<3.5){
        
    lcd.cls(); //Limpia el LCD
    lcd.locate(15, 15); //Posiciona en columna 2, fila 0)
    lcd.printf("Tiempo de inactividad"); //Imprime en LCD "Reloj digital"
    lcd.copy_to_lcd();
    
    
        
        reloj(); //Llama a subrutina
            
        seg1++; //Inician el primer contador de unidades de segundo
        wait(1); //Genera tiempo de un segundo
        if (seg1==10){
            seg2++;//Contador décimas de segundo
            seg1=0;
            if (seg2==6){
                min1++;//Contador unidades de minuto
                seg2=0;
                if (min1==10){
                    min2++;//Contador décimas de minuto
                    min1=0;
                    if(min2==6){
                        hor1++;//Contador unidades de hora
                        min2=0;
                        if(hor1==10){
                            hor2++;//Contador décimas de hora
                            hor1=0;
                            if((hor2==2)&&(hor1==4)){/*Cuando el contador llega
                                                       a 24hrs, este se reinicia*/
                                hor2=0;
                                hor1=0;
                            }
                        }
                    }
                }
            }
        }  
    }
    
    
    if(x>=3.5){
        
 int valida = 8569;
 int clave;
 
 
         lcd.cls();
        lcd.locate(1,1);
        lcd.printf( "Introduzca su clave: ");
        scanf("%i", &clave) ;
   wait(1);
    
    if(clave != valida) {
            
            lcd.locate(1,15);
            lcd.printf("No valida!");
            lcd.copy_to_lcd();
            L1 = 1;
            wait(0.3);
            L1 = 0;
            wait(0.3);
            L1 = 1;
            wait(0.3);
            L1 = 0;
            wait(0.3);
            L1 = 1;
            wait(0.3);
            L1 = 0;
            lcd.cls();
            clave=0;
        } 
    
    if (clave == valida){
        lcd.locate(1,15);
        lcd.printf("Aceptada.");
            L2 = 1;
            L3 = 1;
            wait(0.3);
            L2 = 0;
            wait(0.3);
            L2 = 1;
            wait(0.3);
            L2 = 0;
            wait(0.3);
            L2 = 1;
            wait(0.3);
            L2 = 0;
            wait(15);
            L3 = 0;
        
    }
    if (clave == 0){ 
        lcd.cls();
        lcd.locate(1,1);
        lcd.printf( "No ha introducido ninguna clave");
        
    }
    }
}
}