Buongiorno a tutti! Mi chiamo Alessio e ora vi espongo il mio problema.
Sto lavorando ad un progetto dove sto facendo comunicare due arduino UNO tramite led infrarossi e un ricevitore TSOP.
Un arduino ha il ruolo di trasmettere il segnale attraverso dei led infrarossi ( TX ) mentre il secondo arduino presenta un ricevitore TSOP2236 che riceve il segnale inviato da led ( RX ). Ora il problema è questo: Devo inviare dei messaggi dall'arduino TX all'arduino RX, usando anche un controllo di parità sugli errori oppure con il CRC. Come posso fare? girovagando su internet per trovare soluzioni a questo problema, ho trovato molti post che parlano di questa comunicazione bidirezionale, alcuni parlano anche di comunicazione seriale ma non sono riuscito a trovare nulla come aiuto concreto.
Vi ringrazio per la disponibilità e spero di riuscire a risolvere questo problema anche grazie al vostro aiuto!
Ciao e benvenuto.
Come da regolamento, sarebbe buona norma usare il primo post per presentarsi e non per far subito una richiesta di aiuto
Tornando al tuo problema, si tratta di fare una piccola ricerchina, troverai diversa roba sia sulla comunicazione , esempio:
https://learn.sparkfun.com/tutorials/ir-communication/all
sia sui CRC (c'è un post dell'utente gbp01 con un paio di librerie CRC).
ciao! ho visionato il post con il crc ed è tornato molto utile, però per quanto riguarda l'altro link sulla comunicazione, non riesco ancora a capire. Mi spiego meglio: per far comunicare i due arduino, sto utilizzando la libreria IRremote. Per far comunicare due arduino Uno inviando dei messaggi come posso fare? nell'esempio del link è tutto collegato su un arduino! Forse la libreria SoftwareSerial può tornarmi utile? in poche parole è come se io dovessi scrivere un qualcosa di testuale dal primo arduino e inviarlo all'altro e farlo comparire sulla monitor seriale! grazie ancora per l'aiuto!
Guarda se questo progetto ti può aiutare:
http://forum.arduino.cc/index.php/topic,10555.0.html
ciao leo72! ho visionato il link postato, l'ho provato ma non funge. Ho visto l'esempio e li parla di Arduino 10mila se non erro. Comunque, compilandolo e caricandolo sull'arduino che trasmette, sul monitor seriale escono fuori simboli strani, tipo stelline e quadratini, mentre compilando e caricando l'altro sketch sull'arduino che riceve, esso non riceve nulla sul monitor seriale!
Forse una comunicazione seriale potrebbe tornarmi utile? ma dovrei quindi collegare i due arduino in qualche modo però!
Alessio,
se NON sei obbligato ad usare gli IR, allora un semplice doppino incrociato che collega due pin di un arduino con due pin dell'altro e hai risolto.
In pratica, basta che colleghi due pin (es. il 10 e 11) di una scheda con gli stessi due pin, ma incrociandoli (es. il 11 e 10), dell'altra e poi su entrambe usi la SoftwareSerial per crearti una porta seriale (oltre quella di base che ti rimane libera per il debug ed il collegamento via USB) e comunichi via seriale
Guglielmo
Il TSOP é un ricevitore che é tarato di ricevere l'infrarosso modulato con una certa frequenza (l' ultime 2 cifre della sigla che va da 25 a 52kHz). Per usarlo devi modulare il segnale della seriale con quella frequenza. Perché il TSOP riconosca un segnale come H deve avere un minimo di cicli (dovrebbero essere almeno 14) e percui giá lí Ti si abbassa il Boudrate possibile sotto i 2400 Baud (ca 100 BYte al secondo). Inoltre l'uscita del TSOP va a massa quando riceve il segnale infrarossi.
Il CRC o il byte di controllo aumentano i Bit trasmessi per ogni Byte trasferito.
Ciao Uwe
il problema è che devo utilizzare per forza IR infrarossi, in quanto io utilizzerò una distanza tra i 4-5 metri, collegare i pin a questa distanza è un po' complicato. Quindi se non posso usare la libreria SoftwareSerial per questo motivo e i2c per lo stesso, Sto cercando di capire come fare ma ora come ora sono bloccato!!!
E se usassi due modulini bluetooth --> [HOWTO] Guida (più o meno) completa all'utilizzo di Moduli Bluetooth - Megatopic - Arduino Forum