Jair Valdovinos / Mbed 2 deprecated puerta

Dependencies:   mbed FXOS8700Q TextLCD

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002 #include "C12832.h"
00003 
00004 
00005 DigitalOut L1(p8);
00006 DigitalOut L2(p9);
00007 DigitalOut L3(p10);
00008 AnalogIn pot(p15);
00009 C12832 lcd(SPI_MOSI, SPI_SCK, SPI_MISO, p8, p11);
00010 
00011  
00012 //Contadores para cada dígito
00013 int seg1=0; //Variable para contador de unidades de segundo
00014 int seg2=0; //Variable para contador de décimas de segundo
00015 int min1=0; //Variable para contador de unidades de minuto
00016 int min2=0; //Variable para contador de décimas de minuto
00017 int hor1=0; //Variable para contador de unidades de hora
00018 int hor2=0; //Variable para contador de décimas de hora
00019  
00020 void reloj(){//Subrutina para generar reloj de 6 segmentos
00021     lcd.locate(21,1);//Posicionamiento de las unidades de segundo
00022     lcd.printf("%i", seg1);
00023     lcd.locate(11,1);//Posicionamiento de las décimas de segundo
00024     lcd.printf("%i",seg2);
00025     lcd.locate(26,1);//Posicionamiento del doble punto
00026     lcd.printf(":");
00027     lcd.locate(42,1);//Posicionamiento de las unidades de minuto
00028     lcd.printf("%i",min1);
00029     lcd.locate(32,1);//Posicionamiento de las décimas de minuto
00030     lcd.printf("%i",min2);
00031     lcd.locate(49,1);//Posicionamiento del punto doble
00032     lcd.printf(":");
00033     lcd.locate(63,1);//Posicionamiento de las unidades de minuto
00034     lcd.printf("%i",hor1);
00035     lcd.locate(53,1);//Posicionamiento de las décimas de minuto
00036     lcd.printf("%i",hor2);
00037 }
00038  
00039  
00040 int main() {
00041     
00042      printf("Proyecto, equipo 3\n");
00043      printf("Contraseña: 8569 \n");
00044     float x;
00045     lcd.cls();
00046     while(1){
00047     x = 5*pot.read();
00048     
00049     if(x<3.5){
00050         
00051     lcd.cls(); //Limpia el LCD
00052     lcd.locate(15, 15); //Posiciona en columna 2, fila 0)
00053     lcd.printf("Tiempo de inactividad"); //Imprime en LCD "Reloj digital"
00054     lcd.copy_to_lcd();
00055     
00056     
00057         
00058         reloj(); //Llama a subrutina
00059             
00060         seg1++; //Inician el primer contador de unidades de segundo
00061         wait(1); //Genera tiempo de un segundo
00062         if (seg1==10){
00063             seg2++;//Contador décimas de segundo
00064             seg1=0;
00065             if (seg2==6){
00066                 min1++;//Contador unidades de minuto
00067                 seg2=0;
00068                 if (min1==10){
00069                     min2++;//Contador décimas de minuto
00070                     min1=0;
00071                     if(min2==6){
00072                         hor1++;//Contador unidades de hora
00073                         min2=0;
00074                         if(hor1==10){
00075                             hor2++;//Contador décimas de hora
00076                             hor1=0;
00077                             if((hor2==2)&&(hor1==4)){/*Cuando el contador llega
00078                                                        a 24hrs, este se reinicia*/
00079                                 hor2=0;
00080                                 hor1=0;
00081                             }
00082                         }
00083                     }
00084                 }
00085             }
00086         }  
00087     }
00088     
00089     
00090     if(x>=3.5){
00091         
00092  int valida = 8569;
00093  int clave;
00094  
00095  
00096          lcd.cls();
00097         lcd.locate(1,1);
00098         lcd.printf( "Introduzca su clave: ");
00099         scanf("%i", &clave) ;
00100    wait(1);
00101     
00102     if(clave != valida) {
00103             
00104             lcd.locate(1,15);
00105             lcd.printf("No valida!");
00106             lcd.copy_to_lcd();
00107             L1 = 1;
00108             wait(0.3);
00109             L1 = 0;
00110             wait(0.3);
00111             L1 = 1;
00112             wait(0.3);
00113             L1 = 0;
00114             wait(0.3);
00115             L1 = 1;
00116             wait(0.3);
00117             L1 = 0;
00118             lcd.cls();
00119             clave=0;
00120         } 
00121     
00122     if (clave == valida){
00123         lcd.locate(1,15);
00124         lcd.printf("Aceptada.");
00125             L2 = 1;
00126             L3 = 1;
00127             wait(0.3);
00128             L2 = 0;
00129             wait(0.3);
00130             L2 = 1;
00131             wait(0.3);
00132             L2 = 0;
00133             wait(0.3);
00134             L2 = 1;
00135             wait(0.3);
00136             L2 = 0;
00137             wait(15);
00138             L3 = 0;
00139         
00140     }
00141     if (clave == 0){ 
00142         lcd.cls();
00143         lcd.locate(1,1);
00144         lcd.printf( "No ha introducido ninguna clave");
00145         
00146     }
00147     }
00148 }
00149 }