LETTURA DI 6 VALORI ANALOGICI
  CON DUE ARDUINO IN ETHERNET



INTRODUZIONE
Il sistema presentato in questa pagina e' composto da:

1) Un router.
2) 6 pulsanti.
3) Un convertitore digitale analogico.
4) Un Arduino Mega con Ethernet shield.
5) Un Arduino Uno con Ethernet shield.
6) Due led.
7) 8 resistenze 1K 1/4 W.

Lo schema a blocchi e' raffigurato nella seguente figura:

Tramite la tastiera, collegata ad Arduino Mega (server), si puo' selezionare uno dei 6 ingressi analogici presenti su Arduino Uno (client), in particolare ogni tasto premuto, oltre ad illuminare il proprio led, invia il un codice univoco al client che lo usa  per selezionare  l'ingresso analogico corrispondente e di inviare al server i relativi byte prodotti dalla conversione in modo sequenziale e continuativo.
Questi dati vengono letti, sempre in maniera sequenziale, dal server che li invia ad un convertitore DAC, fatto in casa, ad esso collegato. Nella foto iniziale si vede, tra le altre cose, un potenziometro. Questo componente l'ho usato solo per fare le prove in fase di collaudo spostandolo da un ingresso analogico all'altro, non deve essere quindi considerato un componente necessario al funzionamento del sistema. Al posto del potenziometro andranno messi sensori di varia natura scelti in base alle proprie esigenze (ad esempio di temperatura, di luminosita'...).
Notate inoltre, sempre in foto,  che la tastiera che ho usato ha 8 pulsanti (e' quella che utilizzo per fare sperimentazioni), in realta' ne servono solo 6.
Quando il server ed il client sono connessi tra loro si illumina un led collegato ad ogni scheda.
SERVER
Come gia' detto il server e' costituito da Arduino Mega con shield Ethernet, il diagramma di flusso del programma e' il seguente:

Lo schema dei collegamenti e' raffigurato nell'immagine seguente (non e' presente la scheda Ethernet schield per chiarezza di disegno):

CLIENT
Come gia' detto il client e' costituito da Arduino Uno con shield Ethernet, il diagramma di flusso del programma e' il seguente:

Lo schema dei collegamenti e' raffigurato nell'immagine seguente (non e' presente la scheda Ethernet schield per chiarezza di disegno):

DAC
Il DAC è fatto in casa, non ci sono particolari attenzioni nella scelta dei componenti che lo compongono a parte quello di usare un operazionale rail-to-rail che funzioni con una  tensione singola di 5V. Il processo di conversione e di trasmissione dal client al server richiede tempo, per valutarlo ho repentinamente variato il potenziometro durante il funzionamento del sistema e ho acquisito il segnale all'uscita del DAC con un oscilloscopio digitale. Il risultato e' rappresentato nella figura seguente:



Ogni scalino rappresenta il dato ricevuto dal server, la distanza tra i fronti di discesa di due scalini adiacenti fornisce il tempo che passa tra un dato e l'altro, esso è pari a 12 mS. Un tempo non molto piccolo ma tenendo conto che la maggior parte dei sensori misurano fenomeni fisici che variano lentamente nel tempo, va piu' che bene.
Lo schema elettrico del DAC e' raffigurato nella figura seguente:


File sorgente
Fabio