Incuriosito dal prezzo irrisorio di questo oggetto sul sito Banggood, decido di tentare l’acquisto: per 6,72€ posso rischiare senza troppi scrupoli !
Il pacchetto arriva il 29 settembre, come al solito impiegando i consueti 20 giorni (ordinato il 9 settembre e spedito, così risulta dal sito, il 14 settembre), via raccomandata estera.
La confezione, imballata in modo semplice ma efficace, contiene:
- modulo Arduino UNO R3
- display 2.4″ TFT LCD touchscreen
- cavo USB per il collegamento al PC
Essendo la mia prima esperienza con Arduino (pur avendo già avuto modo di sperimentare altre piattaforme come la programmazione dei PIC Microchip e qualche esperimento sulla BeagleBone Black), come prima cosa ho dovuto scaricare l’IDE di programmazione (https://www.arduino.cc/en/Main/Software) e le relative librerie per il display ed il touch screen resistivo (Chip: ILI9341).
Arduino è un progetto italiano (finalmente qualcosa di cui andare orgogliosi !) decisamente interessante che, grazie ad un sistema di librerie e meta-codice semplice da usare, con un IDE completo e pratico, ben si presta a scopi didattici o anche semplice svago per chi ha la passione per l’elettronica ma non vuole impazzire a dover reinventare la ruota ogni volta (con i PIC della Microchip l’esperienza è molto più frustrante !).
In poche decine di minuti sono stato in grado di installare Arduino IDE e capirne velocemente il funzionamento ma, purtroppo, sono letteralmente impazzito a far visualizzare qualcosa di diverso dallo schermo bianco al display ! Alla fine, dopo aver letto decine di forum e provato altrettante diverse librerie, la soluzione a quell’antipatico “Unknown chip: C0C0” visualizzato sul Monitor seriale (è possibile ricevere informazioni di debug direttamente via seriale dalla Arduino Board …geniale !) l’ho trovata con:
- Drivers SKU156315 2.4inch_Arduino_ILI9341_V2.0.zip
- Programma di prova “tftpaint.ino“
- File Banggood_9341_hack.h da includere alla libreria grafica Adafruit_TFTLCD
Una volta compilato e caricato lo sketch, il display TFT si trasforma in una semplice tavolozza per disegnare a 6 colori, usando un pennino di plastica o gomma per non rovinare il display.
Questa semplice applicazione è ovviamente solo per verificare il funzionamento dell’hardware, che nasconde ben altre potenzialità. Grazie, ad esempio, al bus I2C è possibile connettere svariati sensori (temperatura, pressione barometrica, umidità, rilevatore gas metano, giroscopio, RTC…) per realizzare una stazione meteo, una sveglia, un localizzatore GPS…
Tanto per iniziare a fare qualche esperimento, potete giocare con la grafica prendendo spunto dagli esempio nel manuale della libreria GFX, ad esempio per disegnare gli assi cartesiani:
... #define GRAY 0xCCCC ... // Disegna grafico asse X tft.drawLine(20,220,300,220,GRAY); tft.drawPixel(299,219,GRAY); tft.drawPixel(299,219,GRAY); // Asse Y tft.drawLine(30,230,30,20,GRAY); tft.drawPixel(29,21,GRAY); tft.drawPixel(31,21,GRAY); ...
Ovviamente è bene sottolineare che il microcontrollore ATmega328P ha disponibili solamente 32KByte di spazio per il nostro codice, sufficienti per semplici applicazioni ma decisamente inadatti se la vostra fantasia si spinge verso altre mete, verso le quali è forse bene valutare sistemi più evoluti come Raspberry PI o BeagleBone. Per restare in Italia, in questo caso a Siena, potete anche valutare Udoo...