Go Down

Topic: Display probleem (Read 406 times) previous topic - next topic

Erla

Ik heb mij tot doel gesteld om de snelheid van mijn wagen uit te lezen via OBDII en die dan op een oled display af te beelden.
Beschik o.a. over een oled display van 0.96", SSD1306, I2C aansturing.
Ben natuurlijk begonnen met het display uit te testen en loop daar meteen tegen een probleem aan. Ik krijg geen fatsoenlijke afbeelding van veranderende cijfers op dat display, wat ik ook probeer de refresh rate is zodanig laag dat het irritant is om af te lezen. Als ik op die manier de snelheid moet uitlezen is dat echt niet te doen.
Heb al allerlei bibliotheken gebruikt, maar altijd hetzelfde resultaat. Ik begin zo stilaan te denken dat Arduino dit niet fatsoenlijk aan kan. Heb een en ander uitgetest met een UNO alsook met een Mega.

Op Youtube vond ik volgend filmpje: https://www.youtube.com/watch?v=8ikyp4lu45M vanaf min 8.50 ongeveer kan men duidelijk een veranderende aflezing zien op een oled display, een zeer nette klare uitlezing.
Ik heb dezelfde sketch geladen en uitgetest, echter krijg ik zoals steeds een uitlezing die ongeveer om de seconde veranderd en waarbij je dus duidelijk de overgang ziet van de ene uitlezing naar de volgende, zie bijgevoegde foto.

#include <Arduino.h>
#include <U8g2lib.h>
#include <SPI.h>
#include <Wire.h>
 
U8G2_SSD1306_128X64_NONAME_F_SW_I2C u8g2(U8G2_R0, /* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ U8X8_PIN_NONE);
 
void setup(void) {
  u8g2.begin();
}
 
void loop(void) {
  u8g2.clearBuffer();
  u8g2.setFont(u8g2_font_logisoso32_tr);
  u8g2.setCursor(0, 32);
  u8g2.print(millis());
  u8g2.sendBuffer();
  delay(200);
}

In het filmpje vertelt de man dat hij een delay(200) heeft ingebouwd om zodoende 5 maal per seconde het scherm te verversen, maar bij mij blijft dat altijd om de seconde, waardoor ik een knipperend display krijg.

Wie kan mij helpen, verlang ik gewoon te veel of wat doe ik verkeerd ?

Misschien nog bijvertellen dat ik ook aan het experimenteren ben geweest met een TFT display, dat werkt dan niet over de I2C bus maar gebruikt 4 digitale uitgangen, resultaat echter net hetzelfde.

nicoverduin

Hier dus hetzelfde antwoord wat ik je al gegeven heb op het andere forum. Je stuurt dat scherm niet goed aan. ....
Met vriendelijke groet / kindest regards
Nico Verduin
www.verelec.nl
Do not PM me for personal consultancy unless you are willing to pay for it.

Erla

Opgelost, Rudi raadde mij aan om lijn 6 te wijzigen in:

U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0, /* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ U8X8_PIN_NONE);

en alles loopt als een trein...

Go Up