Scopriamo la nuova scheda Arduino Esplora

Arduino Esplora

Arduino ESPLORA: i creatori di Arduino presentano, nel dicembre 2012, questa nuova scheda. Basata sul progetto della scheda Arduino Leonardo, essa dispone già, di serie, di molti sensori, che permettono di essere subito operativi nel campo dell’elettronica. Il design della scheda ESPLORA ricorda quello tradizionale di un gamepad con un joystick analogico sulla sinistra e quattro pulsanti a destra. Scopriamo com’è fatta!

La nuova Arduino ESPLORA è una scheda a microcontrollore, le sue dimensioni sono di circa 163×60 mm; nella parte alta, a lato della porta USB, sono presenti dei connettori compatibili Tinkerkit che sporgono leggermente dal profilo della scheda. Per fissarla ad una superficie sono presenti quattro fori.

La scheda ESPLORA si differenzia da tutte le schede Arduino precedenti poiché su di essa sono già montati, di serie, diversi sensori. Essa è, inoltre, dotata di una porta di comunicazione USB, che può essere riconosciuta dal computer come un mouse o una tastiera, oltre ad una porta seriale COM / virtuale (CDC).

In particolare sulla scheda ESPLORA sono presenti i seguenti dispositivi:

  • Un joystick analogico a due assi (X e Y) con pulsante centrale.
  • 4 pulsanti disposti a rombo – Un potenziometro lineare a cursore.
  • Un microfono per rilevare il rumore ambientale.
  • Un sensore di luce per la misurazione dell’intensità luminosa.
  • Un sensore per la misurazione della temperatura ambiente.
  • Un accelerometro triassiale (X, Y e Z).
  • Un buzzer per produrre suoni.
  • Un LED luminoso tipo RGB con elementi Rosso Verde e Blu.
  • 2 Ingressi per collegare i moduli sensore della serie Tinkerkit.
  • 2 uscite per collegare i moduli attuatori della serie Tinkerkit.
  • Un connettore per display tipo TFT a colori opzionale, dotato di uno slot per scheda SD, o altri dispositivi che utilizzano il protocollo SPI.

Analisi del circuito

Dal sito Arduino è possibile scaricare lo schema della scheda, che presenta le seguenti caratteristiche:

  • Microcontroller ATMEGA32U4;
  • Tensione di funzionamento 5V;
  • Flash Memory 32 KB di cui 4 KB utilizzati dal bootloader;
  • SRAM 2.5 KB EEPROM 1 KB;
  • Velocità di clock 16 MHz .

Schema elettrico della scheda Arduino Esplora

Alimentazione

L’alimentazione della scheda è derivata dalla presa USB, e sebbene la maggior parte dei computer fornisca una protezione interna, questa è protetta da un fusibile resettabile che, nel caso di un assorbimento superiore ai 500 mA, interromperà automaticamente la connessione finché non sarà rimosso il corto o il sovraccarico.

Schema alimentazione scheda Arduino Esplora

Zona processore

Come detto in precedenza, la scheda utilizza lo stesso processore della Arduino Leonardo, un microcontrollore AVR tipo ATMEGA32U4, che opera a una frequenza di 16 MHz: è connesso ad una porta USB ed è in grado di agire come un dispositivo client USB, come un mouse o una tastiera. Nel circuito è presente un pulsante di reset, con cui è possibile riavviare la scheda.

Ci sono quattro LED di stato: ON [verde] indica se la scheda è alimentata. L [giallo] collegata direttamente al microcontrollore, accessibile attraverso il pin 13. RX e TX [giallo] che indicano che i dati sono trasmessi o ricevuti nel corso della comunicazione USB.

Led Arduino Esplora

Per la comunicazione la scheda ESPLORA dispone già di una serie di servizi per la connessione con un computer, un altro Arduino, o con altri microcontrollori.

L’ATMEGA32U4 appare come una porta COM virtuale per software sul computer. Il chip funziona anche come dispositivo USB secondo lo standard 2.0. L’integrato supporta, inoltre, la comunicazione SPI a cui si può accedere tramite la libreria SPI.

All’interno della memoria è già presente il bootloader che permette di caricare un nuovo codice senza l'uso di un programmatore hardware esterno. Esso comunica utilizzando il protocollo AVR109.

È anche possibile bypassare il bootloader e programmare il microcontrollore attraverso l'ICSP (In Circuit Serial Programming) presente sulla scheda.

Joystick analogico con pulsante centrale.

Il joystick analogico è posto alla sinistra della scheda ed è formato da due potenziometri connessi a croce, premendo il joystick si attiva poi un pulsante.

I tre segnali: J-XOUT, J-YOUT, J-SW sono collegati all’integrato IC3 tipo 74HC4067D che è un multiplexer/demultiplexer a 16 canali. Questo permette di utilizzare il numero totale di sensori disponibili. Ciò significa che un singolo ingresso analogico del microcontrollore è condiviso tra tutti i canali d’ingresso (eccetto l'accelerometro a tre assi).

Quattro ulteriori pin del microcontrollore permettono di scegliere il canale da leggere.

Joystick Arduino esplora

4 pulsanti disposti a rombo.

Sul lato destro della scheda, sono presenti quattro pulsanti disposti a rombo: ognuno ha la propria resistenza di pull up da 10 kohm per mantenere l'uscita a livello alto quando il pulsante non è premuto; come per il Joystick, le 4 uscite A-S1, A-S2, A-S3, A-S4 sono connesse all’integrato IC3.

Pilosanti Arduino Esplora

Un potenziometro lineare a cursore

Nella parte bassa della scheda, è presente un potenziometro lineare da 1 kohm, collegato come partitore resistivo per variare il livello di tensione in uscita sul pin A-LINEAR connesso sempre all’integrato IC3.

Il valore letto sarà un numero con una risoluzione pari a 10 bit, ed è possibile leggerlo tramite il comando di libreria Esplora.readSlider().

Potenziometro linear Arduino Esplora

Un microfono per rilevare il rumore ambientale.

La capsula microfonica tipo PMOF-9745P-Q è un microfono omnidirezionale a condensatore Electret, ha una frequenza di funzionamento compresa tra i 20 e i 16000 Hz, il massimo valore del livello di pressione pari a 120 dB S.P.L., un rapporto segnale/rumore di 60 dB.

Nel circuito, il segnale in uscita, è amplificato tramite due amplificatori operazionali contenuti all’interno di un integrato tipo LMV358 del tipo rail-to rail.

Anche in questo caso l’uscita A-MIC è collegata all’integrato IC3, il valore può essere letto tramite il comando di libreria Esplora.readMicrophone().

Microfono Arduino Esplora

Sensore di luce per la misurazione dell’intensità luminosa

Per la misurazione dell’intensità luminosa, la scheda ESPLORA ha una fotoresistenza, anche se nello schema e sullo stampato figura un fototransistor.

Le fotoresistenze sono delle particolari resistenze il cui valore dipende dall’intensità e dal colore della luce che le colpisce; in genere sono dei sottili film di solfato di cadmio su un supporto rigido, chiusi in involucri protettivi trasparenti.

Il modello montato presenta a 10 lux valori di resistenza compresi tra 12 kohm e 36 kohm, e un valore massimo di resistenza al buio di 500 kohm

L’uscita A-LIGHT è collegata all’integrato IC3, il valore può essere letto tramite il comando di libreria Esplora.readLightSensor(), che legge l'intensità della luce che colpisce il sensore come un numero a 10 bit. Ciò significa che mapperà tensioni di ingresso comprese tra 0 e 5 volt in valori interi compresi tra 0 e 1023. Questo produce una risoluzione tra le letture di: 5 volt / 1024 unità,  0,0049 volt (4,9 mV) per unità.

Fotocellula Arduino Esplora

Sensore di temperatura per la misurazione della temperatura ambiente.

Per la misurazione della temperatura, la scheda ESPLORA utilizza un integrato tipo TMP36 che è un sensore di temperatura di precisione alimentabile a bassa tensione.

Il sensore fornisce una tensione di uscita che è linearmente proporzionale, la temperatura è in gradi Celsius. Il sensore non richiede nessuna regolazione esterna per fornire precisioni tipiche di ± 1 ° C a +25 ° C e ± 2 ° C nel range compreso tra i -40 ° C e i +125 ° C. L'uscita lineare e la calibrazione di precisione semplificano l'interfacciamento al circuito di controllo della temperatura e ADC. Il sensore è utilizzabile con singola alimentazione con valori compresi tra un minimo di 2,7 V e un massimo di 5,5 V. La corrente assorbita dal sensore è minore di 50 μA, questo permette un basso auto-riscaldamento tipicamente inferiore a 0,1 ° C in aria calma.

Il TMP36 fornisce un uscita di 750 mV a 25 ° C, e opera a 125 ° C con soli 2,7 V di alimentazione.

L’uscita A_TEMP è collegata all’integrato IC3, il valore può essere letto tramite il comando di libreria Esplora.readTemperature(scale) a seconda dell’argomento, il valore della temperatura può essere in Celsius o in Fahrenheit.

Sensore di temperatura Arduino Esplora

Accelerometro triassiale (X, Y e Z).

L’accelerometro triassiale utilizzato sulla scheda ESPLORA, è il modello a basso costo tipo MMA7361 LCR2 prodotto dalla Freescale, misura solamente 3x5x1 mm, ha un consumo di 400uA e opera con una tensione compresa tra i 2.2 e i 3.6V. Presenta una sensibilità di 800 mV / g @1.5g: agendo sul pin G-SEL è possibile scegliere la sensibilità per 1.5 o 6g, agendo sul pin S-TEST si può impostare l’auto test. I tre pin di uscita XOUT, YOUT, ZOUT sono connessi all’integrato IC3 e possono essere letti tramite il comando di libreria Esplora.readAccelerometer(axis) singolarmente, impostando il parametro asse che può essere X_AXIS, Y-AXIS, o Z_AXIS.

Accelerometro Arduino Esplora

Buzzer per produrre suoni.

Per la produzione dei suoni, è presente un buzzer connesso alla porta PD7 del processore. Per non sovraccaricare la porta è presente un transistor tipo NPN BC847. Per la sua gestione sono presenti due comandi della libreria ESPLORA.tone() e ESPLORA.noTone(). Nel primo caso, il comando genera un'onda quadra di frequenza specificata, può essere specificata la durata in millisecondi, altrimenti l'onda continua finché non è richiamato il comando ESPLORA.noTone().

Buzzer scheda Arduino Esplora

Led RGB con elementi Rosso Verde e Blu per la miscelazione del colore.

Sulla scheda ESPLORA, è presente un led RGB tipo CLP-6C-FKP, il led si presenta come un piccolo rettangolo delle dimensioni di 6x5mm.

Al suo interno sono presenti tre led: Rosso (619-624nm), Verde (520-540nm), Blu (460-480nm) che possiedono un’intensità luminosa di 560-1120 mcd per il led rosso, 1120-2240mcd per il led verde e tra i 280-560 mcd per il led blu. L’angolo di vista è di 120° e per ogni led è prevista una resistenza di limitazione da 1kohm. Per il pilotaggio dei led, sono presenti diversi comandi della libreria come Esplora.writeRGB(red, green, blue) che permettono di miscelare i vari colori, oppure Esplora.writeRed(value), Esplora.writeGreen(value), Esplora.writeBlue(value) per comandare l’emissione dei singoli colori a diverse intensità.

Ler RGB Arduino Esplora

Ingressi e uscite Tinkerkit

La scheda ESPLORA ha quattro connettori compatibili con il sistema Tinkerkit, due ingressi di colore bianco e due di uscita di colore arancio. Questi hanno tre terminali, due per l’alimentazione (+5V e GND) e uno per l’ingresso o l’uscita del segnale. A questi connettori possono essere collegati i moduli della serie Tinkerkit, tra cui moduli sensore come: accelerometri, pulsanti, giroscopi, sensori di tilt, di tocco, magnetici oppure moduli attuatori come led alta potenza, relè, relè allo stato solido, servomotori.

Connettori Arduino Esplora

Connettore per display tipo TFT a colori opzionale.

La scheda ESPLORA può essere dotata, di un display tipo TFT (Thin Film Transistor), in italiano transistor a pellicola sottile: è una tecnologia applicata ai display piatti a cristalli liquidi (LCD) o OLED (Organic Light Emitting Diode ovvero diodo organico ad emissione di luce) che vengono in questo modo, identificati come display a matrice attiva. Il display TFT utilizzato è di tipo retroilluminato e misura 1,77" di diagonale, con risoluzione di 160 x 128 pixel, basato sul chip ST7735 che è un controller / driver a chip singolo per 262K colori.

LINK Schema elettrico del display

Display Arduino Esplora

Questo chip, è in grado di collegarsi direttamente a un microprocessore esterno tramite un’interfaccia SPI. I dati possono essere memorizzati all’interno della memoria RAM on-chip. La retroilluminazione del display è dimmerabile tramite il pilotaggio PWM del mosfet T1.

Scheda retroilluminazione

Il modulo misura 40x44mm circa, nella parte posteriore è presente uno slot per schede micro-SD che, tra le altre cose, permette di memorizzare le immagini bitmap da visualizzare sullo schermo.

Pin display

Lo schema di alimentazione del modulo, è molto semplice: l’alimentazione a +5V è ridotta al valore di 3,3V con un integrato regolatore LP2985 del tipo a basso rumore e basso valore di dropout che eroga sino a 150 mA.

Schema alimentatore display

Per la comunicazione, il display utilizza un protocollo SPI (Serial Peripheral Interface). In questo caso, la scheda ESPLORA è il dispositivo master mentre il display è il dispositivo slave. Abbiamo le tre linee di controllo:

  • MISO (Master In Slave Out) – La linea Slave per l'invio dei dati al master.
  • MOSI (Master Out Slave In) – La linea principale per l'invio dei dati alle periferiche.
  • SCK (Serial Clock) – Gli impulsi di clock che sincronizzano la trasmissione di dati generati dal master.
Connettori display

Lo slot micro-SD riceve l’alimentazione a +3,3V tramite il regolatore presente sulla scheda. L’accesso al contenuto della scheda è possibile tramite la libreria SD Library, questa supporta file systems FAT16 o FAT32 per schede standard SD oppure SDHC.

Connettore SD card

Per la gestione del display, è disponibile un’apposita libreria che è inclusa in quelle disponibili per l’IDE 1.0.5 e successive. Il comando ESPLORATFT permette alla scheda ESPLORA di comunicare con lo schermo LCD TFT e semplifica il processo di disegno di forme, linee, immagini e testo sullo schermo.

Conclusione e progetti futuri

È così terminata l’analisi della scheda Arduino Esplora, che sembra avere le carte in regola per diventare un’interfaccia di comando wireless.
Il progetto prevede di dotare la scheda di un modulo BlueSMiRF-42 RN che è un modem wireless Bluetooth che può sostituire un collegamento di tipo seriale mediante cavo.
In questo modo sarà possibile comandare un piccolo robot, e ricevere dei dati di telemetria da visualizzare sul display.

I risultati e le prove saranno oggetto di un prossimo articolo.

11 Comments

  1. tesone 1 novembre 2013
  2. adrirobot 1 novembre 2013
  3. tesone 1 novembre 2013
  4. Boris L. 29 luglio 2013
  5. Piero Boccadoro 29 luglio 2013
  6. adrirobot 29 luglio 2013
  7. illupo89 29 luglio 2013
  8. adrirobot 29 luglio 2013
  9. illupo89 29 luglio 2013
  10. adrirobot 29 luglio 2013
  11. illupo89 29 luglio 2013

Leave a Reply