Archivi tag: display

Arduino NOKIA LCD display

Questi piccoli display economici sono quelli utilizzati nel vecchio Nokia 5110, le loro dimensioni sono molto ridotte, appena 3×3 cm ed hanno una risoluzione di 84×48 pixel. Al loro interno troviamo il driver Philips PCD8544,che ci permetterà di poter comandare con il nostro microcotrollore arduino il display.

In questa pagina troverete come pilotare e collegare questo dispositivo .

Iniziamo dalla parte Hardware vedendo a cosa servono i pin:

  1. RST è il reset del dispositivo
  2. CE serve ad attivare il driver Philips
  3. DC ci permette di dire al driver di fare Write o Read
  4. Din è dove scorrono le informazioni
  5. CLK serve a sincronizzare i due dispositivi
  6. VCC alimentazione dello schermo
  7. BL accensione della retroilluminazione
  8. GND massa dello schermo

display connt comp
display basetta comp
All’interno del programma troverete dei define che vi indicheranno come collegare i PIN di arduino.

COLLEGAMENTI DA FARE:

NOKIA RESET     DC     CE     Din CLOCK    Vcc     BL   GND
ARDUINO      12     13     11     10      9    3,3V    3,3V   GND

All’interno del programma ci sono delle funzioni create dalla sparkfun che ci permetteranno di pilotare il display, e le principali sono:

  • gotoXY( ASSE X, ASSE Y)  :decidiamo in quale punto dello schermo scrivere ( valore MAX 84,84).
  • LcdClear() : cancella tutte le scritte sul display.
  • LcdString()  : ci permette di scrivere una parola o una frase sul display.
  • drawLine() : disegna una cornice.
  • SerialInitialise() : inizializza la seriale.
  • LcdInitialise() : inizializza LCD, questa funzione è molto importante, perchè ci permette di regolare il contrasto del display, il quale se troppo alto o troppo basso,  impedisce di osservare le scritte.

DOWNLOAD PROGRAMMA

download-icon

Arduino Matrice 4×4

Questa tastiera è composta da 16 pulsanti che possono essere letti in due modi:

  • -SINGOLARMENTE cioè utilizziamo 16 pin di arduino per leggere tutti i pulsanti.
  • -SISTEMA A MATRICE cioè utilizziamo un numero limitato di pin(nel nostro caso 8) per leggere sempre 16 pulsanti.

Per usare una tastiera 4×4 con arduino dovrete fare i seguenti collegamenti: keypadb

Le 8 resistenze devono avere tutte  lo stesso valore(nel nostro caso  1Kohm), il loro compito è quello di evitare cortocircuiti.

Il programma si può dividere in 3 parti:

  1. – lettura delle colonne valori: 0,1,2,3
  2. -lettura delle righe valori: 0,1,2,3
  3. – Calcolo del tasto = colonna + ( riga * 4 )

DOWNLOAD PROGRAMMA

download-icon

Arduino Display LCD 16×2

LCd

Questo LCD 16×2 retroilluminato è il display  utilizzato nell’ ArduFonino.

Ha 16 piedini:

  1. GND
  2. VCC
  3. V0 (Regolazione NERO delle lettere )
  4. RS register select
  5. Read / Write ( leggere o scrivere col microcontrollore )
  6. ENABLE  attivare o disattivare il display
  7. NON USATO
  8. NON USATO
  9. NON USATO
  10. NON USATO
  11. D4 pin di comunicazione
  12. D5 pin di comunicazione
  13. D6 pin di comunicazione
  14. D7 pin di comunicazione
  15. Retroilluminazione
  16. Retroilluminazione

LCD_bb

Comandi usati nell’ Ardufonino:

#include <LiquidCrystal.h>     Inseriamo la libreria arduino del display.

LiquidCrystal lcd(RS, EN, D4, D5 ,D6, D7);    va sempre messo in cima al programma, perchè serve a inizializzare i pin din arduino.

–   lcd.begin(Numero_colonne, Numero_righe);   va  messo nel setup.

lcd.print(numero);   scrivo una parola o una variabile.

lcd.setCursor(Asse_X, Asse_Y);    decido dove iniziare a scrivere.

lcd.clear();   cancello tutto.

lcd.createChar(0,ARRAY);   inserisco un Array 8×5 in una casella del display ( si usa pe fare dei simboli ).

 

 

ArduFonino 1.0 Batteria 2°

Per visualizzare il livello della batteria sul display creeremo la funzione Livello batteria(), che ci permetterà di vedere sulla parte alta a destra dello schermo lo stato della pila.

Per prima cosa facciamo 8 array chiamati: batteria_1, batteria_2, batteria_3, batteria_4, batteria_5, batteria_6, batteria_7, batteria_8 e simbolo_USB, ognuno dei quali rappresenterà  un livello di carica della batteria.

Per poter leggere il voltaggio della pila utilizzeremo un partitore di tensione, che fornirà al pin analogico di arduino una tensione pari alla metà dell’ alimentazione.

La formula per svolgere il calcolo è molto semplice:

A1 = [ R2 / ( R1 + R2 ) ] * Vcc

Nel nostro caso avremo

A1 = [ 82000 / ( 82000 + 82000 ) ] * 9 = 4,5VLivello batteria

Per poter sapere la tensione, saremo obbligati ad utilizzare questo circuito, perché i pin analogici di arduino supportano massimo 5V, e collegandone 9 avremmo probabilmente bruciato il microcontrollore.

batteria comp

 Una volta finito il circuito completiamo la funzione, nella quale, per prima cosa,leggeremo il valore della tensione compreso tra 0-1023 e tramite una proporzione (map), convertiremo questo risultato in valori compresi tra 0-8 (variabile “batteria”), successivamente ci basterà assegnare ad ognuno di essi uno degli array precedenti.

Livello batteria

Questa funzione ci permette anche, di capire se il cellulare è alimentato tramite USB, mostrandoci quest’icona, in alto a destra del display.

Attacco USB

Sapendo quanto valgono 5V (più o meno 530-541), mettiamo un if, che fa comparire l’immagine a sinistra solamente quando collego l’USB.

freccia a sinistrafreccia a destra

 

 

 

ArduFonino 1.0 Tastiera 3°

La tastiera in questo progetto è fondamentale, perché è l’unico modo per potersi interfacciare al dispositivo(l’alternativa è usare il Serial Monitor).

Tastiera comp

L’immagine  la schematizzazione circuitale della tastiera, che ci permette di leggere, con un solo pin analogico, ben 10 pulsanti. La logica di funzionamento consiste nell’ assegnare ad ogni resistenza (N) il valore di caduta di tensione pari a  0,5V  e quando un pulsante viene premuto chiude il contatto, restituendo al pin A5 una tensione pari al numero di resistenze nel  ramo per 0,5. La resistenza per fare la partizione è molto grande perché così non avremo grandi perdite.

Ipotizziamo che venga chiuso il contatto J3, la tensione ai capi di A5 sarà uguale a:

Dato che in tutte le resistenza N abbiamo la stessa caduta di tensione ci basterà fare:

Vpulsante = V0 + V1 + V2 = 0,5 + 0,5 + 0,5 = 1,5 V

Tastiera

Una volta realizzato il circuito passiamo alla scrittura del programma, che inizia con un ciclo do, nel quale leggiamo ogni 10 mS il pin A5 e per uscirne basterà premere: o un tasto della tastiera, o il tasto di chiamata.

Successivamente quando usciremo dal ciclo il valore analogico del pulsante premuto sarà convertito nel valore effettivo del tasto, tramite una proporzione (map) ed infine, la funzione ci restituirà questo risultato.

Il problema dell’antirimbalzo è stato risolto non via hardware, ma via software mettendo un ritardo all’interno della funzione. La resistenza Rp  non influisce sul corretto funzionamento della tastiera ( è stata utilizzata per effettuare delle prove in passato).

 

freccia a sinistrafreccia a destra