Go Down

Topic: Comunicazione tra due Arduino1 con I2c per Input-Output (Read 1 time) previous topic - next topic

pietro78

La mia idea è quella di far "parlare " tra di loro due moduli Arduino1 e vorrei farlo con il collegamento I2c e avrei in mente questo:

Arduino A Master                                         Arduino B Slave

pin 1 input                                                 pin 1 Output
pin 2 input                                                 pin 2 Output
pin 3 input                                                 pin 3 Output
pin 4 input                                                 pin 4 Output

Per input intendo dei pulsanti che poi vanno ad azionare i corrispettivi pin Output sull 'Arduino B Slave e perfare ciò sono a conoscenza del fatto che devo caricare due sketch differenti per il master e lo slave e che devo fare uso della libreria Wire ma giuro non ho la più pallida idea da dove cominciare i due sketch...
Chiedo aiuto a qualche bravo arduinomane per qualche esempio di sketch...per favore e grazie...

uwefed

Quanto distanti sono i 2 Arduini?
Il I2C non copre grandi distanze. meglio la seriale TTL o RS485.
Ciao Uwe

pietro78

I due moduli sono vicinissimi,30 cm al massimo e vorrei provare I2c perchè permette di usare tanti indirizzi...ora nulla toglie che si possa usare anche la seriale TTL o ancora meglio l'Rs485 ma sono sempre fermo ad un bivio...come scrivere i sketch per i due moduli...

Difatti il protocollo I2c l'avevo scelto proprio perchè dovrebbe essere quello più "semplice" da utilizzare e avendo trovato qualche esempio in rete non riesco comunque ad affrontare questa montagna...e poi chiedo scusa ma con la seriale TTL mi pare che non posso usare più di due moduli ma in parte se avessi qualche esempio di sketch anche con TTL risolverei il mio progettino...chiedo aiuto ancora ...grazie...

acik

Una soluzione potrebbe essere un' Arduino ed un PCF8574. (al posto del secondo arduino)
Alex Limbeck

leo72

Il bus I2C usa sull'Arduino 2 pin prefissati, A4 e A5, mappati direttamente dall'hardware. Basta collegare il pin A4 del 1° Arduino al pin A4 del secondo Arduino, mettendo una resistenza di pull-up da 1,5K sulla linea. Stesso discorso (e resistenza) per il collegamento dei pin A5.

Poi ti rimando qui:
http://www.arduino.cc/en/Reference/Wire
dove trovi come usare la libreria Wire. Si tratta solo di dare un indirizzo fittizio all'Arduino slave, cosa che farai con Wire.begin(indirizzo) nello sketch dello slave, mentre l'Arduino master si aggancerà al bus I2C con Wire.begin() senza specifica dell'indirizzo. A questo punto il più è fatto

Federico_Vanzati

Inclusi nell'IDE ci sono 4 esempi per usare due schede arduino come master e slave usando l'i2c. Da usare a "coppie":

master_reader <-> slave_sender

master_writer <-> slave_receiver
F

pietro78

I primi passi per l'I2c li ho fatti grazie ai vostri aiuti ma ora mi chiedo se invece volessi provare ad usare un altro bus tipo l'rs485 di cosa avrei bisogno??

Io setacciando internet ho trovato alcuni esempi di comunicazione tra n.3 Arduino1 in rs485 interfacciati tra di loro con una shield particolare che traduce il seriale tx-rx dell'arduino1 direttamente in 485 ma non ho trovato nessun sketch d'esempio nè tanto meno delle librerie da poter utilizzare....

Come si può affrontare il discorso dei 2 arduino1 che parlano tra loro con l'rs485 ???

Grazie...

livio

Caro pietro78,
forse ho capito come mai il messaggio e' sparito, si trattava del forum sbagliato e quindi il messaggio era fuori argomento.

Provo a scriverti qui che mi sembra proprio il posto giusto per gli argomenti tecnici sulla comunicazione,
fammi sapere se mi ricevi.

ciao e ancora Buona Pasqua
Livio 

Go Up