Arduino UNO R3 con display LCD TFT da 2.4” Touch Screen

Attenzione ! Questo articolo è stato scritto più di due anni fa. Ti prego quindi di considerare che le informazioni riportate potrebbero non essere aggiornate o non più valide.

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).

uno
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 !).

ARDUINO_9341_1

Arduino IDE

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:

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 metanogiroscopioRTC…) 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...

Michele Pinassi

Nato a Siena nel 1978, dopo aver conseguito il diploma in "Elettronica e Telecomunicazioni" e la laurea in "Storia, Tradizione e Innovazione", attualmente è Responsabile del Sistema telefonico di Ateneo presso l'Università degli Studi di Siena. Utilizza quasi esclusivamente software libero. Dal 2006 si occupa di politica locale e da giugno 2013 è Consigliere Comunale capogruppo Siena 5 Stelle.

Potrebbero interessarti anche...

Rispondi

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.

%d blogger hanno fatto clic su Mi Piace per questo: