Salve a tutti:
Ho preso su ebay un display oled 0.96" perchè mi interessava testare questo tipo di display autoilluminato. Purtroppo ho trovato poco in internet a riguardo di questo display. L'unica libreria che ho trovato per testarlo l'ho scaricata da qui:
L'ho collegato come descritto dal sito ma non si accende nemmeno. Non riesco a trovare altre fonti per verificare. Invece per l'altro tipo di display oled a più pin ci sono le librerie anche da adafruit.
Qualcuno ha mai fatto prove su questi display? Mi può dare una dritta per cortesia?
Ciao UWE e grazie della risposta.
Sinceramente non ho mai usato un dispositivo i2c . Questo sketch che mi presenti serve per vedere se è presente un dispositivo con questo tipo di collegamento?
I cavi sono cortissimi. Le resistenze invece non cerano nello schema che ho trovato. Vanno collegate tra i pin sda, scl, e il positivo?
Spiegami come dovrei usare lo sketch scanner please!
Brunello:
Pare collegato male.
Non e' che hai un link al prodotto ?
infatti era sbagliato e non c'erano neanche disegnati le resistenze di pullup, che dopo ho collegato. Ho trovato un link proprio stamattina dove il collegamento era inverso nei pin SDA e SCL. Invertiti e il test è stato questo:
Cosi deducendo che poteva funzionare ho riprovato lo sketch precedente e funziona, le scritte di test di prova si riproducono nel display ma solo gli sketch di scritte e numeri, quelli grafici no. Sto anche provando gli sketch di Adafruit Sperando che siano più sicuri.
Poi vedrò magari più avanti se e come fare per utilizzare altri dispositivi con sistema I2C.
Ma adesso ho un'altro problema, il contrasto è basso, le scritte si vedono poco. Ho provato a estrapolare qualche riga di sketch sempre da quel sito che ho citato e vedo che ha la regolazione in una scala fino a 255 che sarebbe il massimo(credo) perchè se vado oltre non si accende neanche, cosi e tutto le scritte sono proprio poco visibili in confronto a diversi video che ho trovato in rete che sono superluminosi.
Stavo anche provando gli skertch di Adafruit ma riscontro sempre degli errori, dovrò controllare bene le librerie scaricate.
Per quel che riguarda il contrasto mi sai dire qualcosa?
Ho sistemato le librerie di adafruit e adesso funziona bene con il suo programma di test. anche il contrasto è fenomenale, superluminoso. Avevo problemi nella rinominazione delle librerie perchè non ho più il winzip abilitato allora ho dovuto ascogitare altre alternative.
Inoltre l'indirizzo indicato nello sketch era sbagliato, almeno non era come quello che avevo ricavato dal test I2C.
Adesso comincerò a fare qualche test adattando questo sketch di prova ai miei programmini. Vediamo cosa ne viene fuori. Posterò qualche risultato....
Da quel che vedo, proprio in pochi hanno esperimentato questi display.Mi piacerebbe sapere se qualcuno ha fatto degli esperimenti/progetti con gli OLED.
Dovrebbero arrivarmi anche dei display sempre da 128x64 ma di 1,8"
Ciao a tutti:
Alla fine sono riuscito a testare per bene il display oled I2C. Ma adesso ho un problema che non riesco a risolvere:
Avevo sviluppato un frequenzimetro per aplicazioni sportive basato su visualizzazione in un display nokia 5110 ed è perfetto. Ma adesso che ho adattato lo sketch per visualizzarlo sul disp OLED non riesco ad avere la visualizzazione dei dati sullo schermo come col 5110. Al analisi non mi da errori.
Una cosa ho notato però, nello sketch di prova tutte le operazioni anche quelle attive di visualizzazioni di qualsiasi genere vengono fatte sotto le parentesi del setup e non in quella del programma, del void loop per capirci. Provando anche a mettere tutte le istruzioni sotto setup non cambia nulla, il display resta bloccato all'ultimo sketch valido che ho lanciato(nel mio caso quello di prova).
Non riesco a capire dov'è l'errore. Forse lavorando in I2C le funzioni devono essere caricate in altri modi?????
Allego lo sketch:
// dai un nome agli ingressi e definisci il tipo di variabile
int ledrosso = 9;//variabili intere
int ledverde = 10;
int pulsante ;
int conteggio;//conteggio cicli per antirimbalzo
int state = 0;
int colpi = 0; //conteggio dei colpi fatti
float f;//frequenza (float = numero con decimale)
unsigned long t;//timer dei milisecondi
unsigned long previousMillis = 0;
//Richiamo librerie e definizioni segnali su piedini del display
#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define OLED_RESET 4
Adafruit_SSD1306 display(OLED_RESET);
#define NUMFLAKES 10
#define XPOS 0
#define YPOS 1
#define DELTAY 2
#define LOGO16_GLCD_HEIGHT 16
#define LOGO16_GLCD_WIDTH 16
#if (SSD1306_LCDHEIGHT != 64)
#error("Height incorrect, please fix Adafruit_SSD1306.h!");
#endif
// setta uscite e ingressi
void setup()
{
pinMode(ledrosso, OUTPUT);
pinMode(ledverde, OUTPUT);
pinMode(pulsante, INPUT);
Serial.begin(9600);
// by default, we'll generate the high voltage from the 3.3v line internally! (neat!)
display.begin(SSD1306_SWITCHCAPVCC, 0x3c); // initialize with the I2C addr 0x3D (for the 128x64)
}
// inizio del loop
void loop()
{
pulsante = digitalRead(2); //definizione ingresso digitale al pin()
if (pulsante == HIGH)//se il pulsante viene premuto segui le operazioni sotto
//altrimenti saltale fino alla prima parentesi graffa
{
digitalWrite(ledrosso, LOW); // spegni il led rosso
for (int conteggio=0; conteggio<=35; conteggio++)//conteggio di "x" cicli per creare l'antiriblalzo del pulsante
{
digitalWrite(ledverde, HIGH); // accendi il led verde
Serial.println(f); //visualizza la frequenza al minuto
Serial.println(state);
//Impostazioni numeri sul display
display.clearDisplay();// text display tests
display.setTextSize(3);
display.setTextColor(WHITE);
display.setCursor(0,0);
display.println (f);// Il valore f non si vede nel display, da verificare.
}
state ^=1; //cambio di stato di riferimento
if (state == 0)// se lo stato è zero fai il calcolo altrimenti tieni il riferimento del calcolo precedente
{
unsigned long currentMillis = millis();
t = currentMillis - previousMillis;
previousMillis = currentMillis;
f = 60000.0/t; //calcolo della frequenza al minuto
colpi++;
Serial.println(colpi);
}
digitalWrite(ledverde, LOW);
}
if (pulsante == LOW)//se il pulsante è rilasciato
{
digitalWrite(ledrosso, HIGH); // accendi il led rosso, situazione di standby
}
}
Ciao
Se ho capito bene nn hai usato la libreria di cui hai postato il link ma quella di aafruit.
Per completezza potresti postare il nuovo link?
Franco
Francesco_Noto:
salve scusate per la lingua..
Volevo sapere quanto consumo di preciso questo schermo perchè volevo attaccarlo a batteria..
Grazie
Ma perchè non chiedere a chi lo produce ? Metti link della seeedstudio, chiedi a loro.
Inoltre hai pochi post ma quasi tutti su un tft (questo?) e ovunque. Perchè non aprire un TUO thread con le domande invece di fare mila e mila domande ovunque e a chiunque ?
nid69ita:
Ma perchè non chiedere a chi lo produce ? Metti link della seeedstudio, chiedi a loro.
Più semplicemente leggere il data sheet del display dove c'è scritto chiaramente che il consumo, con tutti i pixel accesi, è al massimo 120 mW (96 mW valore tipico), ovvero meno di 35 mA a 3.3V a cui vanno aggiunti altri 0.9 mA per il controller SS1308.
Francesco_Noto:
sul datasheet dice solo:
low power consumation
Magari se vai a vedere pure il data sheet del display vero e proprio e del controller utilizzato, tutti e due linkati sul wiki di seeedstudio che non è il datasheet, è meglio e ci trovi scritti chiaramente i consumi.
Se vuoi ci do un'occhiata con il tester cosi tagliamo la testa al toro, ma se non ricordo male consumava come un led o giù di li, davvero una stupidata. Per collegarlo all'auto non credo che ci siano problemi... a dopo...