Si possono usare i pin 0 1 (rx e tx)?

Com'è come non è, ho finito i pin(s). Arduino 2009. Ethernet shield: richiede i pin 10 11 12 e 13. Sd card della ethernet shield: richiede il pin 4 Due sensori dht22: al momento sono sui pin 2 e 3.

Mi rimangono liberi: 5 6 7 8 9. Ma per LCD me ne servono sei! Mi ero fatta i conti prima dell'acquisto ma non avevo ben in mente la questione del pin 0 e pin 1 che sono marcati rx e tx. Posso usarli come pin normali? Ci posso spostare sopra almeno un sensore dht e cosi guadagnare il pin che mi serve per l' lcd? (o viceversa). Alla bisogna si possono considerare normali pin digitali?

Grazie per la pazienza

Ok, correggetemi nel caso. Se usassi i pin 0rx e 1tx perderei la comunicazione seriale. Che essendo agli inizi mi è comoda. Una soluzione potrebbe essere utilizzare un pin analogico come digitale e spostarci sopra un sensore dht. La sintassi dovrebbe essere, Pin 14 = Analog in 0 Pin 15 = Analog in 1 Pin 16 = Analog in 2 Pin 17 = Analog in 3 Pin 18 = Analog in 4 Pin 19 = Analog in 5

define DHTPIN_out 14

Oppure semplicemente mettento la reference A0, A1 ecc.

define DHTPIN_out A0

Potrebbe funzionare? Oppure rischio di rovinare arduino/sensore?

ciao

conosco questi ma non lo ho ancora utilizzato

http://code.google.com/p/arduinoshiftreglcd/ http://www.stephenhobley.com/blog/2011/02/07/controlling-an-lcd-with-just-3-pins/

stefano

ciao, allora RX e TX sono i 2 pin che permennoto di comunicare col PC.

se li usi perdi la comunicazione via USB in una delle due direzioni: se usi RX arduino non potrà più ricevere, se usi TX non potrà più inviare. ovvio che se cerhi di leggere la seriale (o il pc prova a scrivere) mentre stai usando un sensore su RX, i segnali di sensore e del PC si sovrappongono, oltre che il tuo codice e il codice della seriale che fanno a botte. La cosa vale anche per l'upload del codice. la cosa migliore è non usarli fino a quando il progetto non è completo e funzionante, poi aggiungi un sensore "facile" su uno dei 2 pin tanto da li in poi comunichi sull'ethernet :)

eidit: non mi ero accorto che hai tutti gli analogioci liberi.... usane uno tranquillamente come digitale!!!

Per usar le entrate analogiche come Pin digitali usa i numeri da 14 a 19. Come hanno giá risposto usando pin 0 e 1 per altri scopi non funziona piú ne il collegamento seriale ne l' upload dei shetch senza dover scollegare quello che hai collegato a quei 2 pin.

Come suggerito puoi usare un shiftregister per fare di un display LCD normale uno con interfaccia seriale. Anche se stefa24 Ti ha giá dato un link questo mi sembra piú chiaro: http://arduino.cc/playground/Code/LCD3wires . Al posto del HEF4094 puoi prendere anche un 74HC595.

Ciao Uwe

Dopo aver ricevuto conferma che i pin analogici potevano essere usati come digitali... mi sono sbizzarrita, grazie a tutti :) Per chi fosse interessato, oggi ho messo su l'RTC, un TSL235R e un dallas DS18S20. Funziona tutto :) Ora che sono riuscita a far funzionare i componenti singolarmente cercherò, nei prossimi giorni, di unire gli sketch. Poi mi occuperò della parte ethernet e sd card.

Al momento ho l'LCD che attende il potenziometro da 10k (ma da 5k andrebbe bene lo stesso?) e avrei due domande... mi accorgo però che sto sforando un po' l'oggetto del post. Se i moderatori credono sarebbe più opportuno raggruppare tutta la discussione in un topic generico (tipo "monitorare serra") fatemelo sapere :)

Cmq. Ho comprato LCD che mi avete indicato, dal polacco che mi avete suggerito. E mi è arrivato un bell'oggetto ma, mi accorgo ora, un po' diverso. In particolare, il mio LCD ha 18 pin. Gli ultimi quattro sono A - K - KB - KR. Come mi comporto? Il datasheet linkato sulla pagina ebay riporta un modello con solo 16 pin. Da questo DS che ho trovato mi pare di capire che gli ultimi due pin posso anche non considerarli. Confermate? Lavoro come se fosse un 16 normale?

Ultimissima domanda e poi non vi stresso più per oggi... Dal tutorial di ladyada (che uso per lavorare sull'lcd) si esplicita la necessità di mettere una resistenza per la backlight (anche se poi nel tutorial non la vedo):

To calculate the value of the series resistor, look up the maximum backlight current and the typical backlight voltage drop from the data sheet. Subtract the voltage drop from 5 volts, then divide by the maximum current, then round up to the next standard resistor value

Mi spiegate come ricavo il valore della mia resistenza? Non mi pare di aver visto i valori della backlight da qualche parte.

Al solito, grazie!

Secondo datasheet che hai indicato e quello linkato dal venditore i pin 17 e 18 del display non sono collegati. puoi ignorarli.

Va bene anche una resistenza da 5kOhm; consuma un po piú corrente, ma non é grave.

Sul datasheet che linka il venditore http://www.artronic.pl/o_produkcie.php?id=968 scrive: "G slim border PIN 17 i 18 nie u?ywane w tej wersji Pod?wietlanie dwie diody LED. Max pobór pr?du 40mA (5V)"

Il mio tentativo di imparare il polacco anni fa non é arrivato al punto da capire qualcosa. Anche traduttori su internet non danno risultati gramaticamente soddisfacenti.

Comunque capisco che la retroilluminazione puó essere attacata direttamente ai 5V e consuma 40mA e che i pin 17 e 18 non sono collegati in questa versione del Display (mia considerazione: forse in una dove puoi modificare il colore della retroilluminazione.

In generale si puó dire che alcuni display hanno integrato la resistenza per i LED e nominano una tensione di 5V per l' alimentazione. In altri non c'é la resistenza e li la tensione di alimentazione normalmente é intorno ai 4,2V.

Ciao Uwe

uwefed: In altri non c'é la resistenza e li la tensione di alimentazione normalmente é intorno ai 4,2V.

Riporto la mia testimonianza. Il mio display 20x4 dichiara una tensione per la retroill. di 4,6V.

c'é qualcuno che testimonia per me. 8) 8) 8) ;) ;) ;)

"2 is megl che one", ricordi la pubblicità? :D

XD

uwefed:
In generale si puó dire che alcuni display hanno integrato la resistenza per i LED e nominano una tensione di 5V per l’ alimentazione. In altri non c’é la resistenza e li la tensione di alimentazione normalmente é intorno ai 4,2V.

Quindi il mio display non ha bisogno di una resistenza per la retroilluminazione ed il contrasto posso gestirlo con un potenziometro da 5k… bello!
grazie!

di niente 8)

Tra me e me sto facendo un pensierino sullo shift register via 2 pin... ed oggi sono incappata in questo :) Magari interessa a qualcuno :) http://hackaday.com/2011/11/23/reading-inputs-from-shift-registers-using-just-one-single-pin/

Se 3 pin sono troppo allora usa 2 pin usando il I2C e un port expander. Funziona in modo piú affidabile e puoi collegare e gestire individualmente piú expander, programmandoli come entrate o uscite a Tuo piacimento. Ciao Uwe

interessante dunque i pin digitali 0 e1 marcati anche come RX e TX sono gli stessi utilizzati per la comunicazione con la porta USB a PC. domanda ma potrebbero essere usati con un altro arduino incrociando RX1 con TX2 e con TX1 con RX2, poi non avrei la più pallida idea come creare la gestione software dei due arduino? Si potrebbe far comunicare i due arduino incrociando RX TX dell'USB si avrebbe lo stesso effetto?

si, funzionerebbe in entrambi i casi, basta che oltre ad incrociare tx e rx colleghi tra di loro anche i GND.

poi per comunicare fai esattamente come se stessi comunicando col PC, solo che dall’altra parte c’è un altro arduino… questo è molto comodo, perchè prima testi la comunicazione tramite PC, se funziona passi a collegare i 2 arduino.

Una altro metodo è usare la NewSoftSerial, in modo da trasformare 2 pin a scelta dell’aruino in TX e RX, in questo modo mantieni sia la comunicazione col PC che con l’altro arduino… anche quì ottimo per il debug!

Etti: ... Si potrebbe far comunicare i due arduino incrociando RX TX dell'USB si avrebbe lo stesso effetto?

No, non fuziona con USB. l'USB funziona in modo diverso e non puoi collegare 2 dispositivi USB Slave come sono gli Arduini. La cosa piú semplice é usare I2C dando al primo nessun indirizzo e definendolo come Master e all'altro o agli altri dei indirizzi. Ciao Uwe

uwefed:

Etti: ... Si potrebbe far comunicare i due arduino incrociando RX TX dell'USB si avrebbe lo stesso effetto?

No, non fuziona con USB. l'USb funziona in modo diverso e non puoi collegare 2 dispositivi USB Slave come sono gli Arduini.

hai ragione, errore mio

Comunque escludendo le porte USB, tra i pin degli arduino TX RX incrociati e a GND comune si può!