Display OLED 0.96" 4 pin ( I2C )

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:

http://blog.oscarliang.net/arduino-oled-display-library/

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?

Saluti a tutti.

Quello é un interfaccia I2C.
hai provato con il I2C scanner a vedere se trovi un indirizzo?

Hai messo delle resistenze pullup da 4,7kOhm su SDA e SCL?. Quanto lunghi son i cavi di connessione?

Ciao Uwe

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!

Ciao.....

Ciao:
Ho inserito le resistenze di pullup ho avviato lo sketch i2c scanner e mi ha dato questo risultato sul monitor seriale:

Scanning: 
...

   0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
01: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
02: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
03: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
04: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
05: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
06: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
07: -- -- -- -- -- -- -- --                        

Pausing for 5.00 seconds

I cavi sono collegati sui pin 4 e 5 della riga analog income diceva il sito che ho citato. Ma non so se sia corretto per la scansione.

Pare collegato male.
Non e' che hai un link al prodotto ?

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:

Scanning: 
...

   0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
01: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
02: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
03: -- -- -- -- -- -- -- -- -- -- -- -- 3c -- -- --
04: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
05: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
06: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
07: -- -- -- -- -- -- -- --                        

Pausing for 5.00 seconds

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"

Vi tengo aggiornati.

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

}
}

Ma proprio nessuno riesce ad aiutarmi? E si che i display oled sono in commercio ormai da parecchio con le librerie di Arduino.....

=( =( =( =(

Già risolto cera solo da sistemare l'inizializzazione del display. Poi va tutto.

Poi vi stresserò per delle temporizzazioni che non mi trovo... vediamo se qui o in un'altra discussione.

Saluti a tutti.

Hello i buy this display:

http://www.seeedstudio.com/wiki/Grove_-_OLED_Display_0.96"

what is power consuming???

voltage is 5 V thanks

@Francesco Noto:
in questa sezione si deve usare la lingua italiana

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

salve scusate per la lingua..
Volevo sapere quanto consumo di preciso questo schermo perchè volevo attaccarlo a batteria..

Grazie

Il datasheet del costruttore generalmente fornisce questo genere di dati.

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.

sul datasheet dice solo:

low power consumation

volevo sapere se posso utilizzalo a batteria...

il datasheet è questo:

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.

Francesco_Noto:
sul datasheet dice solo:

low power consumation

volevo sapere se posso utilizzalo a batteria...

il datasheet è questo:
https://www.sparkfun.com/datasheets/LCD/SSD1308.pdf

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...