Tastiera Numerica Touch per Arduino

0

Di Giovanni Carrera

In questo articolo viene descritto un sistema per inserire, velocemente ed in modo pratico, valori numerici nei nostri programmi su Arduino o Teensy. Presenta il vantaggio di poter utilizzare lo stesso schermo tattile come dispositivo di ingresso, risparmiando spazio e denaro. A corredo anche un semplice programma di acquisizione dati analogici scritto dall’autore.

 

Molto spesso, per i nostri programmi, abbiamo bisogno di un sistema per impostare i parametri, di solito di tipo numerico. Una tastiera 4×4 richiede un po’ di spazio e poi abbiamo anche bisogno di un display. Da qui l’idea di utilizzare un display touchscreen per fare entrambe le cose.

La tastiera touchscreen

Ho quindi scritto la funzione GetNum che consente di stampare un messaggio di prompt, contenente l’informazione che il programma richiede, e di digitare un numero intero.
Per testare questa funzione ho scritto un semplice programma di registrazione dati analogici che richiede due parametri: il primo è il periodo di campionamento (in millisecondi) e il secondo il numero di campioni. In questo esempio il numero di canali da scansionare è impostato su tre, ma il programma può essere modificato per richiedere un terzo parametro con il numero di canali.
Come hardware è possibile utilizzare uno schermo touchscreen TFT da 2,8″ per Arduino Uno con touchscreen resistivo. Sul mercato ci sono molti tipi, è sufficiente utilizzare le librerie adatte ai controller montati sulla shield.
In questo caso non occorre fare neanche una saldatura. Per testare il prototipo ho usato un touchscreen da 3.2″ interfacciato a una scheda Teensy LC progettato per essere interfacciato al Raspberry e non ad Arduino. Nel mio caso, ho dovuto fare molto più lavoro di a livello hardware e aggiungere molti componenti sulla scheda millefori, ma mi piace ed è anche creativo. In appendice B è descritto nei dettagli il mio progetto.

La grafica della tastiera virtuale

Per la tastiera virtuale ho usato 12 tasti, disposti su 3 righe e 4 colonne secondo la Figura 2.

Figura 2: Grafica e coordinate della tastiera

 

Oltre ai tasti numerici ho aggiunto il tasto “C” per cancellare il numero impostato e il tasto “ok” per accettarlo. Lo spazio superiore è occupato dalla stampa del numero da impostare e dalla frase di prompt che indica all’operatore cosa è richiesto dal programma.
I numeri sui tasti sono scritti in
tft.setTextSize(3)
mentre il messaggio di prompt è scritto in

Per continuare a leggere questo articolo devi accedere al sito. Per favore effettua il login o registrati .
Totale 0 Voti
0

Dicci come possiamo migliorare questo articolo..

+ = Verify Human or Spambot ?

Informazioni sull'autore

Sono nato a Genova nel 1947, ingegnere elettronico e professore universitario. Appassionato di elettronica sin da ragazzo. Ho praticamente assistito all’evoluzione dei computer a iniziare da quelli con memoria a nuclei magnetici da 32kB e con i disk pack da 80MB fino ai moderni PC con SSD. Dalla fine degli anni ’70 ho progettato moltissimi sistemi basati su cpu 6502, 8085, e infine sui PIC e Arduino. Nei primi tempi ho progettato e anche auto-costruito molti sistemi di sviluppo e di programmazione dei microcontrollori. Ho iniziato a sviluppare il firmware sui 6502 con compilatori Assembler, Forth e Basic per poi passare al Pascal per i PIC e al C con Arduino e derivati. Su PC utilizzo prevalentemente i linguaggi Matlab/ Octave (per elaborazione e analisi dati), Simulink (per la simulazione), ed Excel. Uso il CAD per la simulazione dei circuiti e per la realizzazione degli schemi. I prototipi li realizzo su schede millefori con sottili fili di connessione con isolamento resistente al calore come il Kynar o il PTFE. Negli anni mi sono fatto un laboratorio elettronico molto ben attrezzato che mi permette di eseguire misure accurate sui miei prototipi. Per la ricerca universitaria e per i corsi che tenevo, ho acquisito notevoli conoscenze su strumentazione di bordo e di laboratorio, sensori e attuatori, sistemi di acquisizione e automazione, analisi dati, simulazione di impianti, radiotecnica e GPS. Ho anche progettato moltissime apparecchiature analogiche e digitali per specifici impieghi nel campo della ricerca, come sistemi di monitoraggio strutturale e controllo di servo-attuatori idraulici. Ho anche messo a punto, a partire dal 2002, alcuni sistemi per rilevare i moti nave mediante una rete di ricevitori GPS carrier phase tracking, con accuratezza centimetrica. Dal 2015, ho incominciato a pubblicare, in lingua inglese per avere maggiore diffusione, sul mio blog “ArduPicLab” molte idee e progetti originali, in parte pubblicati anche sui siti americani Hackster.io e Hackaday.io. Da quell’anno ho pubblicato anche nove progetti su riviste italiane, sei su “Fare Elettronica” e tre su “Elettronica Open Source”.

Nessun commento su "Tastiera Numerica Touch per Arduino"

Lascia un commento

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