ciao a tutti, ho bisogno di un cronometro realizzato con arduino, ho trovato un progetto online ma il programma quando viene caricato mi da svariati errori.
sapreste aiutarmi?
Vi ringrazio tutti in anticipo ed un saluto all'intera community
di seguito il codice
#include <LiquidCrystal.h> //Incluimos la libreria que contiene las funciones del display LCD
int m, mu=0,md=0; //Declaramos las variables que vamos a usar
int s, su=0,sd=0;
int l, lu=0,ld=0,lc=0;
int pulsador,antes,despues;
long int tiempo,inicio;
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); //Configuramos las Entradas/Salidas a las que esta conectado el LCD
byte accent_o[8] = { //Opcional (Creamos un caracter para la o con tilde que no esta
//predefinida en el display)
B00010, //Creamos un array de 8 elementos (filas del caracter) en cada uno
//de los elementos
B00100, //establecemos que pixels de la fila se encienden(1) y cuales se apagan(0)
B00000,
B01110,
B10001,
B10001,
B01110,
};
void setup() {
lcd.createChar(0, accent_o); //Guardamos el caracter accent_o creado en el lugar 0 de la memoria del LCD
lcd.begin(16, 2); //Establecemos el tamaño del display (16 caracteres de largo y 2 lineas de alto)
lcd.print("___Cron"); //Imprimimos "___Cron"
lcd.write(byte(0)); //Seguido imprimimos la "o" con tilde que definimos anteriormente
lcd.print("metro___"); //Imprimimos a continuacion el resto "metro___"
lcd.setCursor(4, 1); //Situamos el comienzo de la siguiente impresion de datos en el caracter 5
//(comienza a contar en el 0)
lcd.print("00:00:000"); //y en la segunda linea empezando por arriba(comienza a contar en 0)
//Imprimimos "00:00:000"
pinMode(6, INPUT); //Ponemos el pin 6 como entrada para el Sensor START/STOP
pinMode(7, INPUT); //Ponemos el pin 7 como entrada para el Pulsador RESET
pinMode(10,OUTPUT); //Ponemos el pin 10 como salida para mandar la señal al zumbador
antes=HIGH; //Ponemos la variable antes a HIGH
despues=HIGH; //Ponemos la variable despues a HIGH
}
void loop() {
if(digitalRead(7)==LOW){ //Si el pin 7 esta LOW
analogWrite(10,100); //Mandamos una señal PWM con valor 100 al pin 10 (zumbador)
lcd.setCursor(4, 1); //Nos ponemos en el LCD en la segunda linea caracter 5
lcd.print("00:00:000"); //Escribimos 00:00:000 (Ponemos el cronometro a 0)
delay(200); //Establecemos un retardo de 200ms
analogWrite(10,0); //Apagamos el zumbador
}
despues=digitalRead(6); //Guardamos en la variable despues el valor del pin6 (sensor start/stop)
if(despues==LOW&&antes==HIGH){ //Si el valor que tenia era HIGH y ahora tiene LOW sera porque lo hemos activado
analogWrite(10,100); //Mandamos una señal PWM con valor 100 al pin 10 (zumbador)
inicio=millis(); //Guardamos en inicio el tiempo que se lleva ejecutando el programa hasta que
//se activa el sensor start/stop
antes=despues; //cambiamos el valor de la variable antes al que tiene la variable despues
pulsador=0; //Ponemos la variable pulsador a 0
delay(200); //Establecemos un retardo de 200ms
while(pulsador==0){ //Cuando la variable pulsador sea 0
tiempo=millis()-inicio; //Calculamos el tiempo que paso desde que se activo el sensor start/stop
m=(tiempo/1000)/60; //Calculamos los minutos
mu=m%10; //Descomponemos los minutos y sacamos el valor de las unidades
md=(m-mu)/10; //Descomponemos los minutos y sacamos el valor de las decenas
s=(tiempo/1000)%60; //Calculamos los segundos
su=s%10; //Descomponemos los segundos y sacamos el valor de las unidades
sd=(s-su)/10; //Descomponemos los segundos y sacamos el valor de las decenas
l=(tiempo%1000); //Calculamos las milesimas de segundo
lu=l%10; //Descomponemos las milesimas y sacamos el valor de las unidades
ld=((l-lu)/10)%10; //Descomponemos las milesimas y sacamos el valor de las decenas
lc=(l-(ld*10)-lu)/100; //Descomponemos las milesimas y sacamos el valor de las centenas
lcd.setCursor(4, 1); //Ponemos el cursor en la linea 2 y el caracter 5
lcd.print(md); //Imprimimos los valores en el display
lcd.print(mu);
lcd.print(":");
lcd.print(sd);
lcd.print(su);
lcd.print(":");
lcd.print(lc);
lcd.print(ld);
lcd.print(lu);
despues=digitalRead(6); //Guardamos en la variable despues el valor del pin6 (sensor start/stop)
analogWrite(10,0); //Apagamos el zumbador
if(despues==LOW&&antes==HIGH){ //Si el valor que tenia era HIGH y ahora tiene LOW sera porque hemos activado
//el sensor
analogWrite(10,100); //Mandamos una señal PWM con valor 100 al pin 10 (zumbador)
antes=despues; //cambiamos el valor de la variable antes al que tiene la variable después
pulsador=1; //Ponemos la variable pulsador a 1
delay(200); //Establecemos un retardo de 200ms
analogWrite(10,0); //Apagamos el zumbador
}
antes=despues; //cambiamos el valor de la variable antes al que tiene la variable despues
}
}
antes=despues; //cambiamos el valor de la variable antes al que tiene la variable despues
}
EDIT:
l'errore è talmente lungo che non riesco a pubblicarlo....
l'ultimo errore che mi mostra è il seguente: stray \302' in program
gli altri sono principalmente uguali ma con numeri differenti