Go Down

Topic: Gestione display 7 segmenti (Read 3 times) previous topic - next topic

Artal

Salve a tutti, sono nuovo del mondo arduino e sto iniziando a muovere i primi passi, sono sicuro che ci divertiremo!  XD

Veniamo al dunque, sto provando a fare qualche sketch per prova e volevo fare un sistema con un display a sette segmenti che contasse avanti o indietro alla pressione di due pulsanti.
Non ho a disposizione gli appositi integrati driver binario/sette segmenti, e comunque preferirei non utilizzarli perchè voglio provare a poter gestire i singoli segmenti personalmente per scrivere anche lettere.
Per ora l'unico modo che mi è venuto in mente è quello, alla pressione di un pulsante, aggiungere o sottrarre uno ad una variabile, controllare tale variabile tramite la funzione switch e poi inserire i vari casi, da 0 a 9, andando direttamente a mettere HIGH o LOW i pin collegati ai segmenti: metodo amatoriale all'ennesima potenza!

Mi chiedevo se esistesse un modo più raffinato, che mi consigliate?

quello che mi è venuto in mente ad esempio (la sparo) è facendo in modo di utilizzare un byte i cui bit siano collegati a 7 pin di arduino e con cui io possa dire semplicemente quali mandare in HIGH o LOW scrivendo il byte bit per bit (non so se mi sono spiegato, esempio con un display a catodo comune dicendo ad arduino 1,1,1,1,0,0,1,0, corrispondenti ad a,b,c,d,e,f,g,dot per far venire il 3)...si potrebbe fare o esistono sistemi migliori?!

leo72

La tua idea è quella giusta. Se apri il link della mia firma e sul mio sito cerchi il progetto Micrologio vedrai come si può pilotare un display a 7 segmenti e 4 cifre usando solo 1 chip, senza driver esterni.
L'articolo comprende sketch e schema.

PaoloP

Ciao,
questo display venduto da SparkFun (https://www.sparkfun.com/products/11442) è comandabile tramite un collegamento seriale, SPI o I2C.
Ma non è per questo che lo sto indicando.
Se guardi la foto del retro noterai che è stato assemblato insieme a un ATmega328P, ovvero lo stesso microcontrollore (in diverso formato) che monta Arduino UNO. Ogni pin del micro è collegato ad un segmento ( o gruppi di segmenti), come vuoi fare tu. [nota anche la presenza delle resistenza]

La cosa interessante è che Sparkfun pubblica i codici sorgenti che permettono al display di funzionare.
Se la cosa ti può interessare, per approfondire l'argomento, ti consiglio di dargli uno sguardo.
Il codice è molto complesso ma con pazienza e metodo se ne viene a capo, scoprendo soluzioni interessanti.
Ecco il link --> https://github.com/sparkfun/Serial7SegmentDisplay/tree/master/firmware/Serial%207-Segment%20Display/Serial_7_Segment_Display_Firmware

Buona lettura.
Code fast. Code easy. Codebender --> http://codebender.cc/?referrer=PaoloP

Artal

Grazie ragazzi!
Ho dato un occhiata al tuo progetto Leo...sono rimasto un po' spiazzato, sicuramente andare a capire i progetti di altri non è mai semplice, figuriamoci all'inizio, però penso di aver capito come fare su arduino quello che avevo in mente...e comunque continuerò a studiare il tuo ottimo lavoro dopo aver provato se ho capito come impostare il mio banalissimo contatore!  XD

Il display SparkFun sembra interessante, ma direi di fare un passo alla volta, anche perchè per il momento di display ne sto usando uno solo...quell'attrezzo è decisamente troppo per me al momento!

Artal

Incredibilmente tutto funziona!  XD
A spippolare con il 7 segmenti mi è venuto in mente un progettino interessante... inizio subito a chiedere lumi in un altro post dedicato
Grazie!!

Go Up