Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Gestione display OLED

Progetti, interfacciamento, discussioni varie su questa piattaforma.

Moderatori: Foto UtenteWALTERmwp, Foto Utentexyz

1
voti

[11] Re: Gestione display OLED

Messaggioda Foto Utentestefanopc » 2 mag 2024, 12:34

Dopo svariati tentativi con diverse librerie attualmente mi sto trovando molto bene con U8glib.
20210525_234944.jpg
20210525_234944.jpg (41.37 KiB) Osservato 3386 volte

Ha decisamente una buona compatibilità su un buon numero di tipologie di questi oled per Micro.
Numerosi comandi per grafica anche personalizzabile e un impressionante numero di font.
Ovviamente la grafica è pesante per la memoria limitata di alcuni Micro e ci si deve limitare ad uno o due font al massimo.

https://github.com/olikraus/u8g2
https://github.com/olikraus/u8glib/wiki/userreference
https://github.com/olikraus/u8g2/wiki/fntlistallplain
Tutorial italiano
https://m.youtube.com/watch?v=vYA6n8j5rYE

Ciao
600 Elettra
Avatar utente
Foto Utentestefanopc
13,3k 5 9 13
Master EY
Master EY
 
Messaggi: 5567
Iscritto il: 4 ago 2020, 9:11

0
voti

[12] Re: Gestione display OLED

Messaggioda Foto UtenteWALTERmwp » 2 mag 2024, 12:58

Se può continuare a gestire anche gli altri sono un'alternativa da considerare.

Saluti
W - U.H.F.
Avatar utente
Foto UtenteWALTERmwp
30,2k 4 8 13
G.Master EY
G.Master EY
 
Messaggi: 8986
Iscritto il: 17 lug 2010, 18:42
Località: le 4 del mattino

0
voti

[13] Re: Gestione display OLED

Messaggioda Foto UtenteEtemenanki » 2 mag 2024, 16:05

Avevo provato anche la u8glib, ma era troppo pesante ed occupava un sacco di spazio (non parliamo poi del "mattone" Adafruit, che da solo, includendolo, mi portava via quasi il 90% dello spazio di memoria)

Dipende tutto da quello che poi ci vuoi effettivamente disegnare sopra, se con la u8glib ti avanza abbastanza spazio, usa quella, se invece non ti avanza abbastanza spazio per il programma (ma solo se NON ti serve la grafica, ma solo il testo), usa l'altra.

Purtroppo il 328P (o PB) piu di tanta flash non ha, se il programma e' troppo lungo e ti serve per forza anche la grafica, tocca andare su altre MCU, magari in standalone (la sola MCU e qualche condensatore se ti bastano gli 8MHz dell'oscillatore interno, oppure aggiungi un quarzettino da 16MHz e due condensatorini da 12 o 14 pF, se devi per forza usare i 16MHz) ... ad esempio, Atmega1284P , 128K di flash, 16 di sram interna e 4 di eeprom, e c'e' perfino in PDIP da 40pin.
"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
9.507 3 6 10
Master
Master
 
Messaggi: 5940
Iscritto il: 2 apr 2021, 23:42
Località: Dalle parti di un grande lago ... :)

0
voti

[14] Re: Gestione display OLED

Messaggioda Foto UtenteSaverio15 » 2 mag 2024, 19:09

Mi sono dimenticato di dire che nella risoluzione del Display che dovrebbe essere 128x64 ho dovuto mettere 128x32 per far funzionare il programma Può essere questo l'inghippo?
Se metto 128x64 il display non si accende.

Qui sotto inserisco la parte iniziale di uno sketch che funziona con lo stesso display

#include <SPI.h>
#include <Wire.h>
#include <Adafruit_SSD1306.h>

#define OLED_ADDR 0x3C //verificare che sia corretto per il proprio modello
#define SCREEN_WIDTH 128 // Larghezza del display OLED in pixels
#define SCREEN_HEIGHT 64 // Altezza del display OLED in pixels

// Creiamo istanza del display connesso tramite I2C (SDA, SCL pins)
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT);

void setup() {

display.begin( SSD1306_SWITCHCAPVCC, OLED_ADDR);
// Avviamo il display pronto a ricevere le informazioni da visualizzare
delay(2000); // Pausa di 2 secondi
Allegati
OLED SSD1306 (1).jpg
Avatar utente
Foto UtenteSaverio15
20 3
 
Messaggi: 28
Iscritto il: 17 feb 2013, 17:28

0
voti

[15] Re: Gestione display OLED

Messaggioda Foto UtenteEtemenanki » 2 mag 2024, 19:25

Il fatto che su un programma funzioni con 64 e con l'altro no, e' un po sospetto, puoi usare direttamente le risoluzioni invece che i "define" ? ... cioe' al posto di :

Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT);

Fai piu semplicemente:

Adafruit_SSD1306 display(128, 64);

Inoltre senza anche tutto il resto del TUO programma (quello che non funziona correttamente), come facciamo a capire se c'e' qualche altra cosa che interferisce o cambia qualche parametro al volo ? ;-)
"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
9.507 3 6 10
Master
Master
 
Messaggi: 5940
Iscritto il: 2 apr 2021, 23:42
Località: Dalle parti di un grande lago ... :)

0
voti

[16] Re: Gestione display OLED

Messaggioda Foto Utentestefanopc » 2 mag 2024, 19:55

Se posso esprimere i miei dubbi la libreria che stai utilizzando ha dei problemi.
Il display in foto non è 128x32.
Io proverei a cambiere libreria.
Ce ne sono diverse sicuramente più funzionali.
Anche nel tutorial che ti ho allegato nel messaggio precedente si accenna a problemi di compatibilità simili ai tuoi.
Anche io l'avevo utilizzata inizialmente ma avevo riscontrato qualche pecca.
In più è leggermente più macchinosa e sicuramente meno ricca di opzioni.

Ciao
600 Elettra
Avatar utente
Foto Utentestefanopc
13,3k 5 9 13
Master EY
Master EY
 
Messaggi: 5567
Iscritto il: 4 ago 2020, 9:11

1
voti

[17] Re: Gestione display OLED

Messaggioda Foto UtenteSaverio15 » 2 mag 2024, 20:27

Chiedo scusa per la mia disattenzione.
Non mi ero accorto che per leggere le nuove risposte dovevo cambiare pagina e quindi non avevo letto le vostre risposte.
Abbiate pazienza. i miei 82 anni non mi aiutano ad essere più sveglio.
Avatar utente
Foto UtenteSaverio15
20 3
 
Messaggi: 28
Iscritto il: 17 feb 2013, 17:28

0
voti

[18] Re: Gestione display OLED

Messaggioda Foto Utentestefanopc » 2 mag 2024, 20:47

Non c'è problema.
Le disattenzioni succedono a tutti.
:ok:
Ciao
600 Elettra
Avatar utente
Foto Utentestefanopc
13,3k 5 9 13
Master EY
Master EY
 
Messaggi: 5567
Iscritto il: 4 ago 2020, 9:11

0
voti

[19] Re: Gestione display OLED

Messaggioda Foto UtenteSaverio15 » 3 mag 2024, 21:36

Ho letto su di un forum americano che diversi utenti si lamentavano dello stesso mio problema. Anche loro dovevano impostare il display con un 128x32 ma ottenevano un mal funzionamento dei caratteri presentati sul display.
Quello che più mi preoccupa è che nessuno dava una soluzione al problema.

Il fatto strano (per me) è che impostando un 128x64 , il compilatore non mi da errore e carica il programma su Arduino. Alla fine del caricamento il display rimane nero.

Non so se servirà a qualcosa ma proverò ad utilizzare un display SH1106.
Avatar utente
Foto UtenteSaverio15
20 3
 
Messaggi: 28
Iscritto il: 17 feb 2013, 17:28

0
voti

[20] Re: Gestione display OLED

Messaggioda Foto UtenteEtemenanki » 4 mag 2024, 10:01

Attenzione ad una cosa ... la quasi totalita' dei display da 1.3 pollici OLED che trovi in giro (come quello della tua immagine, solo un po piu grande), montano apparentemente un SH1106 (quindi vanno inizializzati con il costruttore dell'SH1106), ma per qualche misteriosa ragione, rispondono all'indirizzo I2C del SSD1306 (il che e' assurdo, lo so, dato che i due datasheet riportano due diversi indirizzi, ma ci sono passato, ore a bestemmiare cercando di capire perche' non funzionavano come dovevano, per poi scoprire con lo scanner I2C che anche se erano SH, avevano l'indirizzo del SSD)

Giusto per il caso che provando con l'indirizzo dichiarato per il SH, il tuo display non funzioni ;-)
"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
9.507 3 6 10
Master
Master
 
Messaggi: 5940
Iscritto il: 2 apr 2021, 23:42
Località: Dalle parti di un grande lago ... :)

PrecedenteProssimo

Torna a Arduino

Chi c’è in linea

Visitano il forum: Nessuno e 3 ospiti