finalmente dopo un po' di tempo per dedicarmi ad Arduino...
ho fatto un semplice circuito con pulsante e led per cercare di fare i primi passi con la creazione di sketch.
In poche parole, un pulsante accende un LED rosso convenzionalmente tramite circuito elettrico, il circuito e' collegato anche ad arduino tramite il pin 9 ( dichiarato come input ), poi ho collegato il pin 10 ( dichiarato come output ) ad un secondo LED giallo.
Il risultato dovrebbe essere che schiacciando il pulsante mi si dovrebbero accendere entrambi i LED.
Ci sarei anche riuscito... ma sullo sketch ho le condizioni IF al contrario di quello che la mia logica mi direbbe... e non capisco perché...
Non credo di essermi spiegato bene.
Non capisco perche' funziona al contrario.
Quando il pulsante non e' schiacciato con c'e' tensione e quindi sulla linea ci dovrebbe essere 0 v, quandi LOW sul pin di controllo 9. Quando schiaccio il pulsante chiudo il circuito, c'e' tensione, quindi il pin 9 dovrebbe essere in HIGH.
Con la versione originale del codice la condizione if dice che quando il pin 9 e' high allora mi deve mandare un segnale sul pin 10 ( che accende il mio led giallo )... pero' mi funziona al contrario... ???
con il codice che ho postato ho dovuto invertire le condizioni... e' non capisco perché'...
Io voglio che quando il pulsante e' schiacciato, mi si accende il led giallo controllato da Arduino... ma sopratutto perché' il circuito/codice che a me sembra così elementare non funziona come dovrebbe... evidentemente c'e' un qualche errore grossolano...
Secondo lo schema postato, quando il pulsante non è schiacciato, all'ingresso arrivano 5V attraverso la resistenza e l'ingresso è HIGH.
Quando premi il pulsante connetti l'ingresso a GND, il segnale cade (è tenuto su dalla pull'up) e sull'ingresso avrai LOW.
Non esiste un ingresso.... IBRIDO... nel senso che se è "aperto" cioè senza una resistenza di pull down o pull up è alla mercè di qualsasi disturbo.
Fai una prova con un ingresso analogico, (ma anche i digitali sono abbastanza sensibili), dove ci hai collegato un pezzetto di filo libero, non collegato a nulla. Poi leggi il suo stato e poi invialo al monitor seriale... : non sta fermo un momento!
Se li colleghi a negativo (pull down) tramite una resistenza, entrerai con una tensione positiva (fino a 5 Vcc).
Se li colleghi al positivo (pull up) tramite una resistenza, entrerai con una tensione negativa (fino a 0 Vcc).