Ragazzi è da circa due giorni che sto cercando di capire quale diavoleria è mai questa, non riesco a capire dove sbaglio e come mai il programma cambi una variabile senza che io glie lo dica.
Premetto col dire che ho comprato il simulatore originale di arduino dal sito, Non ho ancora comprato l'arduino perchè ancora non è arrivato in negozio, quindi per ora sto progettando il codice scritto sul simulatore, E' davvero ben fatto e però caz c'e questa bega che non riesco a risolvere, potete aiutarmi? Posto la parte di codice interessata.
void loop()
{
if(Scarico = 1){
GrillettoPremuto = digitalRead(Grilletto);
if(GrillettoPremuto == HIGH){
if(Ammo>0){
Ammo = Ammo - 1;
digitalWrite(LaserELED_Laser, HIGH);
lcd.setCursor(7, 1);
lcd.print("AMMO: ");
lcd.setCursor(12,1);
lcd.print(Ammo);
if(Ammo<10){
lcd.setCursor(13,1);
lcd.print(" ");
}
}
else
{
digitalWrite(Riserva, HIGH);
Scarico = 0;
}
}
else
{
digitalWrite(LaserELED_Laser, LOW);
}
}
else
{
RicaricoPremuto = digitalRead(Ricarico);
if(RicaricoPremuto == HIGH){
Scarico = 1;
digitalWrite(Riserva, LOW);
}
else
{
Scarico = 0;
}
}
}
Ecco dove sta il problema? Voi non preoccupatevi di tutte le altre istruzioni, in pratica la parte di codice che non mi va è questa:
else
{
RicaricoPremuto = digitalRead(Ricarico);
if(RicaricoPremuto == HIGH){
Scarico = 1;
digitalWrite(Riserva, LOW);
}
else
{
Scarico = 0;
}
}
Da come avete notato, dovrebbe saltare in questa parte di codice solo quando Scarico non è 1 (In pratica 0) se notate, qualche riga più in alto ho scritto l'istruzione: "Scarico = 0;" lui la legge, e memorizza lo 0 ma il problema sta nel fatto che si che tiene lo 0, ma quando lo testo step by step e torno alla prima riga del void loop "
if(Scarico = 1){" lui riporta quella variabile "Scarico" a 1! Non capisco il perchè!! Sto uscendo pazzo perfavore aiutatemi a capire dove è che sbaglio...