Sfrutto questo porto per presentarmi e poi per presentare il mio problema.
mi piace l'elettronica da molti anni e ora che ho trovato Arduino mi sto cimentando nel suo utilizzo ma ho dei problemi perchè di programmazione non so molto.
Questo è il mio codice:
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
int timemin;
int timesec;
int ist;
int time1;
int time2;
int ann;
int sic;
int start;
boolean countdown=false;
boolean countdown1=false;
boolean countdown2=false;
boolean ciclo=false;
void setup(){
pinMode(1,INPUT); //start
pinMode(6,INPUT); //istantaneo
pinMode(7,INPUT); //30sec
pinMode(8,INPUT); //2min
pinMode(9,INPUT); //annulla
pinMode(10,INPUT); //sicura
pinMode(13,OUTPUT); //uscita segnale
lcd.begin(16, 2);
}
void loop(){
start=digitalRead(1);
ist=digitalRead(6);
time1=digitalRead(7);
time2=digitalRead(8);
ann=digitalRead(9);
sic=digitalRead(10);
if(sic=HIGH && ciclo==true){
if(ist=HIGH){
digitalWrite(13,HIGH);
delay(100);
digitalWrite(13,LOW);
}
if(time1=HIGH){
timesec=30;
}
if (time2=HIGH){
timesec=120;
}
if(start=HIGH){
countdown=true;
}
}
if(ann=HIGH){
ciclo=false;
}
else{
ciclo=true;
}
if(sic=LOW){
lcd.setCursor(1,0);
lcd.print("Sicura Inserita");
}
if(countdown=true){
if(countdown1=true){
if(timesec=30){
lcd.setCursor(1,0);
lcd.print("Cntdwn avviato");
lcd.setCursor(1,1);
lcd.print(timemin);
lcd.print(":");
lcd.print(timesec);
for(timesec=30;timesec<0;timesec-=1){
delay(1000);
}
}
}
if(countdown2=true){
if(timesec=120){
lcd.setCursor(1,0);
lcd.print("Cntdwn avviato");
lcd.setCursor(1,1);
lcd.print(timemin);
lcd.print(":");
lcd.print(timesec);
if(timesec>60){
timesec=0;
timemin+=1;
}
for(timesec=120;timesec<0;timesec-=1){
delay(1000);
}
}
}
}
else{
countdown=false;
}
if(timesec=0&&timemin==0){
digitalWrite(13,HIGH);
delay(200);
digitalWrite(13,LOW);
}
}
appena accendo la board sullo schermo appare "Cntdwn avviato" e timemin:timesec aumentano a dismisura all'infinito.
cosa c'è di sbagliato? (non mangiatemi)