MI PROYECTO FINAL

Como he ido variando de código y el montage del circuito para poder lograr mi objetivo, mi primera entrada del proyect no la realicé, pues ahora voy a realizarla:

Objetivos
  • Hacer un marcador de baloncesto. Tenga cuenta atrás, y cuando termine el tiempo suene, y además apuntamos los puntos a favor y en contra. 
  • Aprender realmente cómo funciona Arduino. 
  • Aprender a utlizar pantallas y otros componentes
Materiales
  • Arduino UNO
  • Zumbador
  • LCD 16x2
  • Cables
  • Protoboard
  • Pulsadores
  • Potenciomentro
Código
 
#include <LiquidCrystal.h> 

LiquidCrystal lcd(7, 8, 9, 10, 11, 12);

int buzzer = 5; 
int aminutos = 0;       
int asegundos = 0;       
int segundostotal = 0;   
int msg= 0;              
int start = A1;         
int empieza = 1024;      
int butm = A4;           
int buts = A3;          
int varbutm = 0;       
int varbuts = 0;
int notas[]={262};


void setup(){
   lcd.begin(16, 2); 
   pinMode(buzzer, OUTPUT);
   pinMode(butm, INPUT);   
   pinMode(buts, INPUT);   
   pinMode(start, INPUT);  
   msg = 0;               
   empieza = 1024;         
   varbutm = 1;           
   varbuts = 1;            
   Serial.begin(9600);
}
void loop(){
     if(msg==0)          
     {
       lcd.setCursor(0,0);
       lcd.print("Temporizador");
       delay(2500);    
       msg = 1;
       lcd.clear();
     }
     do                
     {
       varbutm = analogRead(butm); 
       varbuts = analogRead(buts); 
     
        if(analogRead(butm)> 0)       
       {
         aminutos = aminutos + 1;
         if(aminutos == 60) aminutos = 0;
         delay(250);

       }
        if(varbuts > 0)       
       {
         asegundos = asegundos + 1;
         if(asegundos == 60) asegundos = 0;
         delay(250);
       }
          
       lcd.setCursor(0,0);
       lcd.print("Elige el tiempo");  
       lcd.setCursor(5,1);  
      if (aminutos < 10) lcd.print("0");
       lcd.print(aminutos);            
       lcd.print(":");
      if (asegundos < 10) lcd.print("0");
       lcd.print(asegundos);          
     }
   
   
while (segundostotal > 0);
     segundostotal = asegundos + (aminutos * 60);

      while (segundostotal > 0);
      {
        delay (1000);                 
        lcd.setCursor(0,0);
        lcd.print("Tiempo restante");    
        lcd.setCursor(4,1);
        lcd.print(":");
        if (aminutos < 10) lcd.print("0");
        lcd.print(aminutos);              
        lcd.print(":");
        if (asegundos < 10) lcd.print("0");
        lcd.print(asegundos);          

          if (segundostotal == 0)         
          {        
             while(1)                     {            
                  lcd.clear();
                  lcd.setCursor(5,0);
                  lcd.print("Tiempo");
                  lcd.setCursor(3,1);
                  lcd.print("Finalizado");
                  tone (5,notas[0]);
                 exit(0);
             }   
          }
     }
}
 
 

Comentarios