If else con LCD

Ciao a tutti.

Sto facendo fatica a capire dove sto sbagliando nella programmazione, di un LCD quello che viene fornito con i kit arduino con una logica if else. Ogni volta che cambio lo statto della costante la scrittura sull LCD non cambia. Sotto il codice

//Digital PIN 11 A-E Enable LCD
//Digital PIN 12 A - RS LCD
//PIN R/W LCD- OV Write on LCD
//Digital PIN4 - DBO LCD
//Digital PIN4 - DB1 LCD
//Digital PIN4 - DB2 LCD
//Digital PIN4 - DB3 LCD
//Digital PIN4 2 - DB4 LCD
//Digital PIN4 3 - DB5 LCD
//Digital PIN4 4 - DB6 LCD
//Digital PIN4 5 - DB7 LCD

#include <LiquidCrystal.h>

// initialize the library by associating any needed LCD interface pin
// with the arduino pin number it is connected to
//const int rs = 3, en = 2, d0 = , d1 = , d2 = , d3 = ,d4 = 2, d5 = 3, d6 = 4, d7 = 5;
//LiquidCrystal lcd(rs, en, d0, d1, d2, d3, d4, d5, d6, d7);
LiquidCrystal lcd(12,11,5,4,3,2);
const int SwitchPin=13;
int SwitchState;

void setup() {
Serial.begin (9600);
// const int SwitchPin=13;
// int SwitchState=0;
// set up the LCD's number of columns and rows:
lcd.begin(16, 2);
// Print a message to the LCD.
//lcd.print("");
pinMode (SwitchPin, INPUT);
SwitchState = digitalRead(SwitchPin);
}

void loop() {

// set the cursor to column 0, line 1
// (note: line 1 is the second row, since counting begins with 0):
//lcd.setCursor(0, 1);
// print the number of seconds since reset:
//pinMode (SwitchPin, INPUT);
//SwitchState = digitalRead(SwitchPin);

if (SwitchState==HIGH)
{
lcd.setCursor(0,0);
lcd.print("Che famo?");
lcd.setCursor(0,1);
lcd.print("Anammo?");

}

else //(SwitchState==LOW)

{
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Ndo vammo?");
lcd.setCursor(0, 1);
lcd.print("Ndo stammo?");

}
Serial.print (SwitchState);
delay(5000);
return;
}

Se qualcuno ha qualche consiglio da darmi, grazie

Buongiorno e benvenuto :slight_smile: ,

essendo il tuo primo post nella sezione Italiana del forum, nel rispetto del regolamento di detta sezione (… punto 13, primo capoverso), ti chiedo cortesemente di presentarti IN QUESTO THREAD (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con molta attenzione tutto il su citato REGOLAMENTO

... poi, in conformità al suddetto regolamento, punto 7, cortesemente edita il tuo post qui sopra (quindi NON scrivendo un nuovo post, ma utilizzando il bottone a forma di piccola matita :pencil2: che si trova in basso del tuo post), seleziona la parte di codice e premi l'icona </> nella barra degli strumenti per contrassegnarla come codice. Così com'è non è molto leggibile ... assicurati di averlo correttamente indentato nell'IDE prima di inserirlo (questo lo si fa premendo ctrlT su un PC o cmd T su un Mac, sempre all'interno del IDE). Grazie.

Guglielmo

P.S.: Ti ricordo che, purtroppo, fino a quando non sarà fatta la presentazione nell’apposito thread e sistemato il codice come da regolamento, nel rispetto del citato regolamento nessuno ti risponderà (eventuali risposte verrebbero cancellate), quindi ti consiglio di fare il tutto al più presto. :wink:

Ah ... noto solo ora che hai scritto in una sezione sbagliata del forum ...

... ti segnalo che, nella sezione in lingua Inglese, si può scrivere SOLO in Inglese ... quindi, per favore, la prossima volta presta più attenzione in quale sezione metti i tuoi post; questa volta esso è stato spostato, da un moderatore della sezione di lingua Inglese, nella sezione di lingua Italiana ... la prossima volta potrebbe venire direttamente eliminato :neutral_face:

Guglielmo

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.