// include the library code:
#include <LiquidCrystal.h>
// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
// set up a constant for the tilt switchPin
const int switchPin1 = 8;
const int switchPin2 = 9;
// variable to hold the value of the switchPin
int switchState1 = 0;
int switchState2 = 0;
int ritardo;
// a variable to choose which reply from the crystal ball
void setup()
{
// set up the number of columns and rows on the LCD
lcd.begin(16, 2);
// set up the switch pin as an input
pinMode(switchPin1, INPUT);
pinMode(switchPin2, INPUT);
// Print a message to the LCD.
}
void loop()
{
// check the status of the switch
switchState1 = digitalRead(switchPin1);
switchState2 = digitalRead(switchPin2);
// compare the switchState to its previous state
if (switchState1==HIGH)
if (switchState2==HIGH)
{
// set the cursor to column 0, line 0
lcd.setCursor(0, 0);
// print some text
lcd.print("A");
// move the cursor to the second line
}
if (switchState1==HIGH)
if (switchState2==LOW)
{
// set the cursor to column 0, line 0
lcd.setCursor(0, 0);
// print some text
lcd.print("B");
// move the cursor to the second line
}
if (switchState1==LOW)
if (switchState2==LOW)
{
// set the cursor to column 0, line 0
lcd.setCursor(0, 0);
// print some text
lcd.print("C");
// move the cursor to the second line
if (switchState1==LOW)
if (switchState2==HIGH)
{
// set the cursor to column 0, line 0
lcd.setCursor(0, 0);
// print some text
lcd.print("D");
// move the cursor to the second line
}
}
Hai messo delle resistenze pullup/pulldown?
Ciao Uwe
Quindi visualizza una sequenza abca?
Quindi il problema che avevi qui con il display hai risolto ?
http://forum.arduino.cc/index.php?topic=368532.msg2543828#msg2543828
Fai debug su Serial monitor, aggiungi la stampa dei pin, per verificare siano come te li aspetti:
switchState1 = digitalRead(switchPin1);
switchState2 = digitalRead(switchPin2);
Serial.print("sw1="); Serial.print (switchState1);
Serial.print(" sw2="); Serial.println(switchState2);
// compare the switchState to its previous state
if (switchState1==HIGH)
Se stampa A il sw2 probabilmente NON è high. Collegamenti ?
Ma i pulsanti sono quelli che premi e poi ritornano non premuti se levi il dito o mantengono lo stato ?
uwefed:
Hai messo delle resistenze pullup/pulldown?
Ciao Uwe
[/assolutamente si 10k]
speedyant:
Quindi visualizza una sequenza abca?
[HH-A, HL-B, LL-C, LC,A ma non in secuenza, compare la lettera secondo la true table ]
nid69ita:
Quindi il problema che avevi qui con il display hai risolto ?
LCD guasto? - #18 by calandra - Hardware - Arduino ForumFai debug su Serial monitor, aggiungi la stampa dei pin, per verificare siano come te li aspetti:
switchState1 = digitalRead(switchPin1);
switchState2 = digitalRead(switchPin2);
Serial.print("sw1="); Serial.print (switchState1);
Serial.print(" sw2="); Serial.println(switchState2);
// compare the switchState to its previous state
if (switchState1==HIGH)
Se stampa A il sw2 probabilmente NON è high. Collegamenti ? Ma i pulsanti sono quelli che premi e poi ritornano non premuti se levi il dito o mantengono lo stato ?
nid69ita:
Quindi il problema che avevi qui con il display hai risolto ?
LCD guasto? - #18 by calandra - Hardware - Arduino ForumFai debug su Serial monitor, aggiungi la stampa dei pin, per verificare siano come te li aspetti:
switchState1 = digitalRead(switchPin1);
switchState2 = digitalRead(switchPin2);
Serial.print("sw1="); Serial.print (switchState1);
Serial.print(" sw2="); Serial.println(switchState2);
// compare the switchState to its previous state
if (switchState1==HIGH)
Se stampa A il sw2 probabilmente NON è high. Collegamenti ? Ma i pulsanti sono quelli che premi e poi ritornano non premuti se levi il dito o mantengono lo stato ? [Dunque il vcchio problema è stato risolto inserendo una R da 2.2 k a VReg, eliminando potenziometri e trim e tutto fila. per quanto riguarda la tua risposta ho pensato anchio ai collegamenti e ppure la basetta è sta STRACOLLAUDATA]
Quello che hai postato NON compila, le parentesi graffe non sono corrette.
Usa CTRL+T nell 'IDE che te lo indenta meglio e vedrai che le graffe sono messe male
...
// compare the switchState to its previous state
lcd.setCursor(0, 0);
if (switchState1==HIGH)
{ if (switchState2==HIGH)
{ lcd.print("A");
}
else // if (switchState2==LOW)
{ lcd.print("B");
}
}
else //if (switchState1==LOW)
{ if (switchState2==LOW)
{ lcd.print("C");
}
else // if (switchState2==HIGH)
{ lcd.print("D");
}
}
} // end loop
nid69ita:
Quello che hai postato NON compila, le parentesi graffe non sono corrette.
Usa CTRL+T nell 'IDE che te lo indenta meglio e vedrai che le graffe sono messe male...
// compare the switchState to its previous state
lcd.setCursor(0, 0);
if (switchState1==HIGH)
{ if (switchState2==HIGH)
{ lcd.print("A");
}
else // if (switchState2==LOW)
{ lcd.print("B");
}
}
else //if (switchState1==LOW)
{ if (switchState2==LOW)
{ lcd.print("C");
}
else // if (switchState2==HIGH)
{ lcd.print("D");
}
}
} // end loop
[PER UNA GRAFFA! Adesso tutto ok! Grazie comunque ragazzi, mancava una graffa nell'ultima iterazione Ciau nè ]