Ciao a tutti,
Prima di scrivere questo nuovo Topic ho provato a chiarirmi autonomamente le idee provando ad utilizzare due Arduino UNO completamente svincolati, ma non sono giunto a una conclusione soddisfacente.
Mi servirebbe far comunicare due Atmega328P standalone (che d'ora in poi chiamerò (1) e (2)) su millefori ma mi sono sorti alcuni dubbi (che riguarderebbero comunque anche due Arduino UNO):
Come mai se su (1) carico (dopo le dovute dichiarazione di pin):
analogWrite (3, 200);
e se su (2) carico (dopo le dovute dichiarazioni della seriale):
Serial.println (analogRead(A0));
e collegando il pin 3 di (1) all'A0 del (2) leggo valori che sono sparati a 0 o 1023 (random) e non valori intermedi, che correttamente mappati dovrebbero ridarmi 200?
Chiedo questo perchè avendo terminato i pin su (1), ne implementerei un (2) che lavora indipendentemente ma che però deve scambiare alcuni dati con (1), dati di sensori (o altro) e la soluzione più pratica e rapida che mi era venuta in mente era appunto questa.
Scusa ma direi che non hai capito cosa fa analogWrite() su un pin che esce in PWM.
PWM è un segnale in onda quadra con una certa frequenza e con HIGH/LOW distanziati a seconda del tuo valore duty cycle (nel tuo caso 200)
se analogRead campiona mentre c'e' un picco alto hai 1023, se basso, 0
davideerio97:
Chiaro, ripensandoci è stata una domanda alquanto banale.
Per scambiarsi dati, dunque, cosa consiglieresti?
Se può essere utile io sto utilizzando semplicemente la comunicazione seriale già presente per comunicare dati tra due NANO, uno riceve dei comandi e l'altro a bordo di una macchina diversa li interpreta e li gestisce, ti basta collegare il pin TX del trasmettitore al pin RX del ricevente, GND comune e parli semplicemente con una "Serial.write()".
lucamenny:
Se può essere utile io sto utilizzando semplicemente la comunicazione seriale ...
... è già stato suggerito ... lo svantaggio è che si perde la possibilità di usare la Seriale per il debug, per cui ... la cosa migliore è implementare una seconda seriale o con la SoftwareSerial o con l'ottima AltSoftwareSerial (che è decisamente superiore all'altra).