Far parlare due Atmega con soli 3 fili

Ciao a tutti!! Devo stabilire un dialogo fra casa mia ed il cancello.
In casa ho ho 3 cavi che vanno fino alla centralina (comune, apre, chiude).
Tramite questi 3 cavi vorrei però far passare informazioni in modo bidirezionale: vorrei aprire, chiudere e bloccare il cancello ed inoltre sapere quando qualcuno passa fra le fotocellule (da usare come antintrusione) e mandarmi indietro la temperatura...
Che protocollo posso usare? I cavi sono circa 30metri... Cosa mi consigliate?

Grazie!

Guglio:
Che protocollo posso usare? I cavi sono circa 30metri... Cosa mi consigliate?

Te ne bastano due, usa la RS485.

Anche la RS232 andrebbe bene, ma servono massa e TX/RX.
Entrambe le soluzioni suppongono che i 2 Arduini sono alimentati e l' alimentazione non deve essere passata sul cavo.
Ciao Uwe

1 wire + VCC + GND = 3 fili :grin:

oppure RS485 + GND. (RS485 - RS485 Cables – Why you need 3 wires for 2 (two) wire RS485 - Chipkin Automation Systems)
Se hai già la centralina vuol dire che non dovresti avere problemi per l'alimentazione.

PaoloP:
oppure RS485 + GND. (RS485 - RS485 Cables – Why you need 3 wires for 2 (two) wire RS485 - Chipkin Automation Systems)

Sono d'accordo con quello che è scritto in quel sito solo fino al punto in cui si parla di collegare lo schermo del cavo, ammesso che ne stai usano uno di quel tipo, ad un solo GND, quindi alla fine servono sempre e solamente due cavi per veicolare l'informazione.
Non sono per niente d'accordo sul collegare direttamente i GND agli altri device connessi sul network RS485 ad un GND di riferimento, se è necessario equipotenziare i riferimenti nel caso di terre con potenziali diversi, capita solo nel caso di connessioni tra sistemi relativamente lontani e con alimentazioni separate, si deve creare una connessione gnd tra i solo transceiver RS485, e ovviamente la cosa deve essere prevista a livello di apparato con un GND dedicato e disaccoppiato da quello generale, questa connessione viene collegata alla terra di riferimento tramite una resistenza da 150-220 ohm.


Ho trovato questo schema con relativo sketch.. Solo che quel componente non lo trovo dal mio negozietto sotto casa..
Posso usare un MAX485? Basta solo che colleghi il tutto ai rispettivi PIN?
Servono le resistenze di pullup / down come in foto nel caso siano tutti e due in ricezione?

Si puoi usare una coppia di MAX485.
In quello schema mancano le due resistenze di terminazione da 120 ohm che vanno collegati ai capi opposti del cavo.
Le due resistenze non sono delle pullup/pulldown perché assieme alle resistenze di terminazione del bus formano un partitore che tiene prepolarizzato il cavo per non lasciarlo flottante quando nessuno trasmette.

@Guglio:

  1. prendi gli SN75176, sono migliori: costano meno dei Max e sono più esenti dai disturbi.
  2. se vuoi un consiglio, collega i pin RE/ e DE di ognuno dei 2 chip ad un unico pin, in questo modo puoi attivare la ricezione/trasmissione del chip semplicemente cambiando lo stato logico di quel pin.