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.
SERVERCome
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):
DACIl
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 sorgenteFabio