Libera Elettronica è il luogo dove parleremo di elettronica fai-da-te, di programmazione dei sistemi embedded e di curiosità tecnologiche, guardando avanti, ma senza dimenticare la storia.
Facciamo ancora un altro piccolo passo in avanti nella realizzazione del nostro Computer Linux Embedded Open Source - YALC - con la realizzazione dell'interfaccia tra la scheda Portux G20 ed il modulo display intelligente (...nel senso che è dotato di una CPU ARM Cortex-M3 indipendente).
Proveremo una semplice interfaccia bidirezionale basata sui segnali GPIO presenti sul connettore di espansione della scheda Linux.
Dopo aver cablato non più di 6 fili (4 bit DATI + STROBE e ACK) possiamo dare spazio alla nostra creatività grafica :) visualizzando immagini Bitmap o Vettoriali, e disegnando sul display come fosse una piccola lavagna da 3.5 Inch.
Bene, guardiamo insieme il video che ho realizzato per Voi...
Nell'immagine che segue, trovate lo schema dettagliato delle interconnessioni ed il Timing dell'interfaccia TFT-GPIO ...è davvero semplice e potete adattarla a qualsiasi tipo di microcontrollore, anche PIC o Arduino, ma attenzione alla capacità computazionale e alla disponibilità di memoria!
oggi, voglio parlarvi di come le nostre applicazioni elettroniche, pervasive, comunicano con noi umani. Naturalmente stimolano i nostri sensi e, la vista, è uno di quelli maggiormente sviluppati nella nostra specie, evolutasi mediante la raccolta, diurna, delle risorse spontaneamente presenti sul nostro Pianeta.
Pertanto, la rappresentazione a colori delle immagini, rappresenta uno dei nostri metodi, privilegiati, di comunicazione!
Guardiamo insieme il video che ho preparato per Voi e, poi, parleremo dei componenti e delle tecniche hardware/software, per realizzare i nostri "liberi" progetti con i Display TFT.
Ok, avrete apprezzato la qualità delle immagini a colori e, sono sicuro, non vi accontenterete più dei soliti display LED a 7-Segmenti oppure dei Moduli LCD.
Prima di abbandonare definitivamente le tecnologie più mature, è opportuno ricordare che i display a 7-Segmenti hanno il grande vantaggio di essere completamente allo stato solido e di poter operare in un'ampia gamma di temperature (es. -55°C, +125°C) e che i Moduli LCD Transflettivi restano egualmente visibili sia in piena luce solare e sia al buio, grazie alla presenza del circuito di retroilluminazione a LED o fluorescente. Mentre, i Display TFT, devono essere scelti in funzione dell'ambiente nel quale dovranno operare, sia in termini di temperatura e sia di luminosità dell'ambiente circostante.
Vi ricordo che il Display TFT è stato comandato dal nostro sistema tuttofare Linux-ToolBox che ho già descritto qui.
Nella seguente figura vengono riportati i segnali utilizzati per la comunicazione con il modulo Display TFT.
Mentre, nel seguito, potete vedere il diagramma temporale con cui la CPU trasferisce i dati al display.
Qui vi riporto un frammento di codice per leggere il contenuto di un file Bitmap di 320x240 pixel. Cosa sono i pixel? Quarda questo link su Wikipedia!
Qualche giorno fa un amico mi ha segnalato questo video: Pinguino in aereo . E’ buffo, ma sai che spavento per il povero animaletto.
Adesso, invece, voglio presentarvi un pinguino dal cuore d’acciaio, anzi di silicio, che vive nel mio laboratorio e che, spero, userete presto anche per i vostri progetti. Eccolo!
E’ la mia Linux-Toolbox, un sistema tuttofare, completamente open-source, con il quale realizzare rapidamente ogni genere di prototipo e sperimentare cose sempre nuove, senza rinunciare alla flessibilità e con una discreta potenza di calcolo della CPU (200 MIPS @ 180 MHz).
Guardiamolo meglio...
In questa foto, potete notare la tastiera 4x4 ed il display TFT da 3,5 pollici.
Qui si vede l’assieme completo.
Gli elementi hardware che compongono la Linux-Toolbox sono i seguenti:
Scheda Portux920T, prodotta dalla TaskIt Gmbh, su cui è installato il Kernel Linux 2.6.18 e alcuni applicativi di base.
Alimentatore step-down, basato su due regolatori LM2575, per generare le tensioni necessarie (3,3Vdc e 5 Vdc).
Display TFT da 65536 colori con Touch-Screen resistivo, che viene venduto come kit di sviluppo per il microcontrollore LM3S1958 (Core ARM Cortex-M3) della Texas Instruments (il kit è RDK-IDM-L35).
Il tutto è assemblato mediante piastre di allumino ed è pensato per rendere le schede e le interfacce, facilmente accessibili e smontabili.
Cosa c’è nella mia Linux-Toolbox?
Troviamo, oltre al display, alla tastiera e alla CPU, anche n°4 porte seriali (2xRS232 e 2xLVCMOS), una interfaccia Ethernet 10/100 Mb/s, alcune porte di I/O LVCMOS, un local-bus a 8/16 bit direttamente pilotato dalla CPU, 64Mbyte di SDRAM, 1Mbyte di Flash per i dati/programmi dell’utente (una partizione della Flash contenente uboot e l'immagine del kernel), una SDCARD (attualmente monto una 128 Mbyte).
La dotazione software è costituita da una shell BusyBox, accessibile via Telnet oppure localmente, un server Ftp, un web server Http, un editor VI. Tutto il processo di sviluppo software avviene su un PC (con Linux installato ...naturalmente... e può andare benissimo un Netbook con Ubuntu 10), mediante il cross-compilatore arm-linux-3.4.2-gcc.
Io preferisco usare il linguaggio ANSI C, ma la tool-chain sembra abbastanza completa e ci sono esempi nella documentazione anche per Java (...da provare!).
Configurazione per uso locale
Adesso potete divertirvi a creare applicazioni per Internet (non il solito Hello World), e telecontrollare il vostro tostapane dall’altro capo del pianeta.