Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Gestione display OLED

Progetti, interfacciamento, discussioni varie su questa piattaforma.

Moderatori: Foto UtenteMassimoB, Foto Utentexyz, Foto UtenteWALTERmwp

0
voti

[41] Re: Gestione display OLED

Messaggioda Foto Utentebigendian » 23 mag 2024, 12:06

in genere coi display si lavora cosi', poi volendo si puo affinare di piu':

1 - ti crei un modulo con i font, che in genre saranno un array per ogni carattere,
puoi crearti cosi anche diversi fonts
2 - ti creai un buffer di memoria grande come il display,
3 - stampi in memoria con dei prinf(x, y, "testo")
4 - aggiorni solo di tanto in tanto (diff time nel loop, niente delay), e/(o solo) subito dopo il printf, copiando il buffer o parte di esso (regione x, y, w, h) sullo schermo

Poi non ho letto tutto l'ultimo codice, magari fai gia una cosa del genere
Avatar utente
Foto Utentebigendian
25 2
 
Messaggi: 28
Iscritto il: 6 mag 2024, 9:26

0
voti

[42] Re: Gestione display OLED

Messaggioda Foto UtenteEtemenanki » 23 mag 2024, 14:05

Dipende dalla gestione dei chip interni al display, SSD1306 e' da 128x64, SH1106 e' da 132x64 (ma sono collegate solo 128 colonne come per il SSD), quindi il costruttore della libreria deve "scalare" automaticamente di due pixel i dati inviati, per fare in modo che la colonna 0 sia effettivamente pilotata con lo zero come indice.

Poi per il resto non saprei, io la libreria di Adafruit non la uso perche' e' un "mattone" (ma di quelli grossi), che contiene un po di tutto ma non e' ottimizzata per caricare solo quello che effettivamente usi ... hai provato per curiosita' la ssd1306ascii.h, pero' usando il costruttore per l'SH, nell'inizializzazione (nell'header devi includere sia "SSD1306Ascii.h" che "SSD1306AsciiWire.h", poi nel setup usi oled.begin(&SH1106_128x64, 0x3C) al posto di ...&ssd... eccetera ... non serve specificare switchcap perche' si arrangia )

Ovviamente con quella non ci fai grafica, ma mi sembra che a te' non serva, quindi e' anche un vantaggio (non ti mangia un sacco di memoria per cose che lei carica ma poi tu non usi)
"Sopravvivere" e' attualmente l'unico lusso che la maggior parte dei Cittadini italiani,
sia pure a costo di enormi sacrifici, riesce ancora a permettersi.
Avatar utente
Foto UtenteEtemenanki
6.665 3 5 10
Master
Master
 
Messaggi: 4259
Iscritto il: 2 apr 2021, 23:42
Località: Dalle parti di un grande lago ... :)

0
voti

[43] Re: Gestione display OLED

Messaggioda Foto Utentebigendian » 24 mag 2024, 9:23

si, a suo tempo appunto mi ero riscritto i driver per diversi dispplay, uno per display, ognuno con un write_char(font_char_buff, x, y), chiamata standard.

Ovviamente tutto gia esiste in librerie varie, ma ogni byte risparmiato conta su mcu 8 bit con flash limitata, certe cose si fanno non solo per passione e divertimento, ma anche a volte per essere sicuri di contenete al massimo lo spazio.

Devo dire che i dislay i2c oled non mi hanno entusiasmato, dopo anni uno mi ha perso notevolmente luminosita'. Forse difettoso o qualche problema nel mio codice.
Avatar utente
Foto Utentebigendian
25 2
 
Messaggi: 28
Iscritto il: 6 mag 2024, 9:26

1
voti

[44] Re: Gestione display OLED

Messaggioda Foto UtenteSaverio15 » 25 mag 2024, 9:24

Ancora grazie per i vostri suggerimenti. Se non fossi testardo, avrei dovuto lasciar perdere il progetto alcuni mesi fa.
Quello che mi rema contro è l'età (ho 82 anni) e la memoria non mi aiuta. A volte rifaccio delle prove che ho già fatto, senza risultati, facendomi perdere un sacco di tempo.
Comunque qualche piccola notizia c'è.
Ho passato il programma dall'SSD1306 al SH1106. Il difetto dei caratteri strani sull'ultima riga non si presenta più.
Naturalmente non poteva andare tutto liscio.
Ora l'unica cosa che non funziona, è la presentazione dei dati di Umidità e temperatura
Dopo innumerevoli tentativi mi sono accorto che il programma non legge i dati del sensore e fa bloccare il funzionamento del display, rendendolo tutto nero.
Immagino che sia una sciochezza ma data la mia scarsa conoscenza di Arduino, mi farà perdere ancora un sacco di tempo.
Avatar utente
Foto UtenteSaverio15
20 3
 
Messaggi: 26
Iscritto il: 17 feb 2013, 17:28

0
voti

[45] Re: Gestione display OLED

Messaggioda Foto Utentelelerelele » 25 mag 2024, 10:37

Saverio15 ha scritto:Quello che mi rema contro è l'età (ho 82 anni) e la memoria non mi aiuta.

Comunque complimenti!
Io mi sono buttato su progettazione e programmazione dei microprocessori, mai usati prima, ma ne avevo solo una cinquantina di anni.

Questa penso che possiamo dire che è vera passione per l'elettronica! Wow.

Ti capisco bene, l'età è una limitazione non trascurabile, purtroppo non ci si crede da giovani, ma poi con il tempo si impara....

Buono studio.
Avatar utente
Foto Utentelelerelele
4.080 3 7 9
Master
Master
 
Messaggi: 4707
Iscritto il: 8 giu 2011, 8:57
Località: Reggio Emilia

0
voti

[46] Re: Gestione display OLED

Messaggioda Foto UtenteSaverio15 » 25 mag 2024, 12:55

Appassionato da sempre di elettronica, come autodidatta ho cominciato a programmare in assembler nel 1980.
Sono riuscito a progettare, costruire e programmare importanti apparecchiature nel campo dell'automazione.
Poi mi sono fermato per 30 anni e qualche anno fa, mi è passato per le mani Arduino. Mi ha affascinato ma ormai era troppo tardi per imparare bene la sua programmazione.
Mi sono avventurato in questo lavoro per fare un regalo al marito di mia figlia, appassionato di grotte, ma non immaginavo a cosa andavo incontro.
A dir il vero, lo strumento con il display a LCD, mi è stato abbastanza facile assemblarlo e non ho avuto grossi problemi.
I guai sono iniziati quando ho voluto sostituire il display 'LCD con un OLED.
Comunque, ormai devo portare a termine questa "avventura".
Avatar utente
Foto UtenteSaverio15
20 3
 
Messaggi: 26
Iscritto il: 17 feb 2013, 17:28

0
voti

[47] Re: Gestione display OLED

Messaggioda Foto UtenteEtemenanki » 25 mag 2024, 13:52

Be', per un'apparecchio portatile (come credo sia il tuo) il vantaggio degli OLED e' che non necessitano di retroilluminazione come gli LCD, ed il consumo e' ridotto, quindi l'autonomia finale del tutto aumenta un po, che per un'apparecchio a batteria non e' mai un male.

La mia applicazione era un logger subacqueo di profondita' e temperatura dell'acqua, e con una batteria lipo da 3Ah l'autonomia e' di diversi giorni consecutivi acceso (o diverse settimane di uso saltuario).

E l'OLED e' ben visibile anche sott'acqua ed in profondita', sia dai sub se lo usano a mano, sia dalle telecamere del ROV se lo usano su quello (il contenitore puo arrivare a 200m senza problemi, ed il sensore regge 300m)

Poi e' vero che alcuni OLED dopo qualche anno perdono luminosita', ma in genere si tratta di prodotti "cinesate" di bassa qualita', se ben costruiti dovrebbero durare decenni ... oppure se lasciati al sole a lungo si "cuociono", ma questo succede anche ai normali display, LCD inclusi.
"Sopravvivere" e' attualmente l'unico lusso che la maggior parte dei Cittadini italiani,
sia pure a costo di enormi sacrifici, riesce ancora a permettersi.
Avatar utente
Foto UtenteEtemenanki
6.665 3 5 10
Master
Master
 
Messaggi: 4259
Iscritto il: 2 apr 2021, 23:42
Località: Dalle parti di un grande lago ... :)

0
voti

[48] Re: Gestione display OLED

Messaggioda Foto UtenteSaverio15 » 27 mag 2024, 15:26

Mi rendo conto che sono troppe le cose che non capisco.
Il programma che ho pubblicato con il display SSD1306 funziona seppure con dei limiti.
Ho trasferito lo stesso programma su un display SH1106, pur compilato senza errori mi blocca la visualizzazione sul display.
Dopo varie prove, mi sono accorto che dovevo disattivare una qualsiasi delle 4 righe per la lettura dei vari strumenti. Tolta una riga le rimanenti 3 funzionano correttamente.
Nella compilazione delle 4 righe, mi viene segnalato "" Poca memoria disponibile, potrebbero presentarsi problemi di stabilità".
L'Arduino nano è lo stesso per i due display, come mai questa differenza?
Avatar utente
Foto UtenteSaverio15
20 3
 
Messaggi: 26
Iscritto il: 17 feb 2013, 17:28

0
voti

[49] Re: Gestione display OLED

Messaggioda Foto UtenteEtemenanki » 27 mag 2024, 18:28

Ripeto, hai provato, per curiosita', una libreria diversa dal "mattone" di adafruit ?

Potrebbe anche essere quello.
"Sopravvivere" e' attualmente l'unico lusso che la maggior parte dei Cittadini italiani,
sia pure a costo di enormi sacrifici, riesce ancora a permettersi.
Avatar utente
Foto UtenteEtemenanki
6.665 3 5 10
Master
Master
 
Messaggi: 4259
Iscritto il: 2 apr 2021, 23:42
Località: Dalle parti di un grande lago ... :)

0
voti

[50] Re: Gestione display OLED

Messaggioda Foto UtenteSaverio15 » 27 mag 2024, 23:13

A dir il vero volevo provare con la libreria u8g2 ma ho paura di incasinarmi una volta di più.
Comunque visto questa storia infinita, ci proverò.
Se ho ben capito, nelle varie istruzioni le devo iniziare con "u8g2" anzichè con "display", è così?
Avatar utente
Foto UtenteSaverio15
20 3
 
Messaggi: 26
Iscritto il: 17 feb 2013, 17:28

PrecedenteProssimo

Torna a Arduino

Chi c’è in linea

Visitano il forum: Nessuno e 5 ospiti