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
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);
}
}
}
}
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
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
Publicar un comentario