Didattica SHIELD DI ESPANSIONE ADC PER RASPBERRYPI COMPATIBILE CON ARDUINO di MARCO MAGAGNIN C Espandiamo le funzionalità di RaspberryPi con uno shield compatibile con la piedinatura di Arduino e con a bordo un convertitore analogico digitale a 16 bit di risoluzione. Ulteriori espansioni che presenteremo in futuro permetteranno di aggiungere un convertitore DAC, una serie di I/O digitali aggiuntivi e la possibilità di collegarsi anche a schede e PC sprovvisti di GPIO. ontinuiamo la nostra serie di appuntamenti legati al mondo RaspberryPi ed alle sue applicazioni tornando ad occuparci più approfonditamente delle funzionalità della periferica GPIO. In questo e nei prossimi articoli vi proponiamo una serie di dispositivi che permettono diverse possibilità di integrare periferiche e dispositivi hardware sia collegandoli al GPIO della scheda RaspberryPi, sia ad altri microPC non dotati di GPIO ed anche ai comuni PC portatili e desktop. Nella Fig. 1 potete vedere un’immagine d’insieme delle integrazioni possibili con la scheda che vi presentiamo in questo articolo, uno shield di espansione ADC che permette di aggiungere a RaspberryPi la possibilità di eseguire letture da sensori con uscita analogica. Come vedremo nel prosieguo dell’articolo, questo shield può essere alimentatato sia a 12V che a 5V ed esegue Elettronica In ~ Febbraio 2013 51 Fig. 1 la conversione dei livelli di tensione da 3,3V a 5V per i pin digitali del GPIO e per le linee di comunicazione dei bus i2C, SPI e seriale. Inoltre questo shield possiede sia un connettore adatto ad inserirsi nel connettore GPIO di RaspberryPi sia le strip che corrispondono ai connettori tipici dei microcontrollori della famiglia Arduino e dei relativi shield di espansione. Con questo shield potremo utilizzare con RaspberryPi molti degli shield già disponibili per Arduino, ed anche per mettere in comunicazione la scheda RaspberryPi con lo stesso microcontrollore Arduino. Nel prossimo futuro vi proporremo un ulteriore shield con a bordo un integrato DAC ed un integrato di espansione I/O con sedici pin, entrambi pilotati via i2C. Per permettere anche ai dispositivi Linux non dotati di GPIO come i microPC Mk802, Mk802 III ed anche normali PC, di utilizzare periferiche di ingresso/uscita analogiche e digitali 52 Febbraio 2013 ~ Elettronica In vi proporremo dei convertitori USB/i2C e USB/SPI che potranno essere utilizzati con questo shield. Chiaramente completeremo questa panoramica con esempi software per utilizzare questa architettura nei vari linguaggi e con i diversi dispositivi Linux. Prima di iniziare la descrizione dello schema elettrico dello shield è però necessario tenere conto ancora una volta delle modifiche e degli aggiornamenti che si susseguono in un mondo in evoluzione accelerata come quello legato al sistema operativo Linux e che non risparmia la nostra RaspberryPi. Quella attualmente in vendita ed in distribuzione è la rev. 2 della versione B di RaspberryPi, caratterizzata principalmente, rispetto alla rev. 1, dall’aumento della memoria RAM da 256 a 512 Mb e da alcune variazioni ai riferimenti di I/O del connettore GPIO. Per verificare il modello di RaspberryPi in vostro possesso potete fare riferimento alla Fig. 2; a destra la scheda rev. 1, a sinistra la scheda rev. 2, riconoscibile, tra l’altro, dai due evidenti fori di fissaggio. Nella Fig. 3 sono visibili le piedinature del connettore GPIO nelle due versioni della scheda; le principali differenze sono i riferimenti agli I/O digitali per i pin 3, 5, 7, 13 e per i pin del bus i2C che nella rev. 1 riportano le linee del bus(0) e nella rev. 2 quelle del bus(1). Vediamo ora la descrizione del Fig. 2 . e ch i ità M en s ile a ic on r tt e l E e d l ie w w it l a u r t t at lic pp a a, w .e le t t a fic n o à t at i sc o ,n i r o n ic a o n ec t a c i v t en g lo in t i . a c i on r t t le e ’ l e lo tr n I