Verzweiflung mit I2C Oled

  • Hallo,

    bin gerade schwer am verzweifeln. Wollte mir über die Feiertage ein kleines Display am Raspi zum Ansteuern bringen, nur leider scheitere ich hier kläglichst. :(

    Habe schon einige Tutorials durchgespielt, doch irgendwo hakt es noch. Ich benutze einen Raspberri Pi 3, das OLED ist ein SSD1306 welche über I2C angesteuert werden soll. Die Examples funktionieren nicht, ich habe schon von Adafruit alles installiert, auch wurde I2C freigeschaltet. Wenn ich I2CDETECT eingebe erscheint leider keine Adresse, nur "--".


    Über ein paar gute Links, bzw. Ratschläge wäre ich echt dankbar.:)


    Gruß, Martin.

  • Moin newton333,


    du hast I2C wie eingeschaltet? Ich frage, weil in älteren Anleitungen das noch anders gemacht wird.

    Das Display ist auch an 3,3V angeschlossen?


    Gruss Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"

    Vielleicht trifft man sich in der RPi-Plauderecke.

  • Willkommen im Forum!

    Denkbar, dass das Display defekt ist? Hast Du eventuell andere I²C Komponenten, die Du probieren könntest? Kannst Du am I²C mal messen, ob die Spannung auf 3,3V gezogen wird (das Display müsste meines Wissens 2 Stk. PullUp drauf haben).

    Es wäre gut, wenn Du noch weitere Infos hier posten könntest. z.B.

    • Um welches Display genau handelt es sich
    • Wo nimmst Du die Versorgungsspannung für das Display her
    • Welchen Code verwendest Du zum probieren (bitte ggf. CODE Tags verwenden!)

    ...wenn Software nicht so hard-ware ;) ...

    Freue mich über jeden like :thumbup:

  • Moin newton333,


    es ist wichtig deinen genauen Displaytyp zu wissen.

    Ich habe eben einen in der Bucht gesehen, der hatte die Adressen 0x78 und 0x7A.

    Der RPi macht aber nur bis zur Adresse 0x77


    Gruss Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"

    Vielleicht trifft man sich in der RPi-Plauderecke.

  • Erstmal wie erwähnt Anschlüsse und Verkabelung prüfen und freischalten über raspi-config

    Rebooten und dann mit:

    i2cdetect -y 1

    nachsehen.


    Mein Oled hat die Adresse 0x3C

    Ich habe es so in Betrieb genommen:

    Monitoring mit Oled (I2C)

    Kommentier bei dem Phyton-Script die Zeilen 53-57 aus, sie funktionieren bei Dir nicht.

    Die Adresse des Oled befindet sich in der Library lib_oled96.py auf Zeile 27.


    MfG


    Jürgen

  • ich verstehe die Verzweifelung, es brauchte etliche Displays und Versuche bis ich das am Arduino mit I2C zum Laufen bekam


    https://forum-raspberrypi.de/a…-oled-nokia-demo-web-jpg/


    nicht alle I2C funktionieren, nicht alle Libs sind brauchbar!


    ob es generell mit 3,3V vom PI geht weiss ich nicht.

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

  • Wenn er mal ein Foto posten würde und eventuell auch die Bezugsquelle...

    Ich hatte im 2. oder 3. Anlauf das Demo am laufen, es läuft immer noch, wenn es auch ziemlich dunkel geworden ist.


    MfG


    Jürgen

  • Hallo


    erstmal vielen Dank für die zahlreichen und schnellen Antworten. Spricht schon mal für das Forum hier. :)


    Ich hoffe ich vergesse jetzt keine Fragen zu beantworten. Bei dem Display handelt es sich um das SSD1306, ob es defekt ist kann ich nicht sagen, wie kann ich das am einfachsten überprüfen? Selbsttest??? Es hängt an den 3,3V des Raspi die habe ich gemessen.

    Den I2C habe ich wie folgt aktiviert:

    https://webnist.de/i2c-oled-di…it-python-am-raspberrypi/


    Leider bekomme ich bereits bei i2cdetect keine Adresse, ein anderes Modul mit i2c zum Testen habe ich leider nicht.


    Ich kann mir auch gerne ein anderes Modul besorgen, bei dem bekannt ist dass es in einem aktuellen Tutorial sicher funzt, wenn das dann läuft kann ich mit meinem vorhandenen nochmal Versuche machen.

    Danke für Eure Unterstützung hier!


    Gruß, Martin.

  • Servus newton333

    Den I2C habe ich wie folgt aktiviert:

    https://webnist.de/i2c-oled-di…it-python-am-raspberrypi/

    vergiss das ganz schnell wieder. Das Tut ist vermutlich etwas älter.

    Mach' einfach Deine Änderungen rückgängig und aktiviere I2C über sudo raspi-config.

    Da sich auf den verschiedenen RPi verschiedene Chipsätze befinden, könnte das schon der Fehler sein.


    cu,

    -ds-

  • Ich kann mir auch gerne ein anderes Modul besorgen, bei dem bekannt ist dass es in einem aktuellen Tutorial sicher funzt

    ist leider sinnlos, ich hatte die verschiedensten I2C Oled bestellt, jedesmal kam was anderes und nicht alle bekam ich zum Laufen, das klemmt u.U. auch an fehlerhaften Beschreibungen und Aufdrucken sowie an nicht passende Anweisungen.

    Merke mit nur einem OLED bei einem händler hast du schon mal die nicht Testmöglichkeit zu prüfen ob es kaputt ist, kannst nicht ausweichen auf ein 2tes um weiter zu testen.

    Mit Bestellung bei 2 Händlern hast du dann abweichende Belegung und Chipsatz obwohl sie optisch gleich aussehen und hast wieder keine Möglichkeiten zu vergeichen und zu testen.


    Deswegen bestelle ich ja min. immer 2-3 Teile bei einem Händler und wenns nicht klappt 2-3 Teile bei einem anderen Händler, so liegen hier nun 6-8 OLEDs rum von denen ich nur 2 oder 3 echt zum Laufen bekommen hatte am Arduino!

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

    Edited once, last by jar ().

  • Moin newton333,


    eigentlich ist alles geschrieben.


    Wie dreamshader schreibt, ist das verlinkte Tutorial veraltet. Die Schnittstellen werden heute alle über die /boot/config.txt oder einfacher mit sudo raspi-configeingeschaltet.


    Wenn das verlinkte Display wirklich deins ist, dann vergiss es. Das Display zeigt auf dem einen Bild die Adressen 0x78 und 0x7A. Der Raspberry kann aber nur bis 0xzz 0x77.


    Schau bitte mal auf die Rückseite des Display's, ob man da was sehen kann.


    Gruss Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"

    Vielleicht trifft man sich in der RPi-Plauderecke.

    Edited once, last by Bernd666 ().

  • man i2cdetect


    gibt doch Auskunft!


    OPTIONS

    -y Disable interactive mode. By default, i2cdetect will wait for a

    confirmation from the user before messing with the I2C bus. When

    this flag is used, it will perform the operation directly. This

    is mainly meant to be used in scripts.


    -a Force scanning of non-regular addresses. Not recommended.


    und da es 2* I2C gibt nehme ich mal an 1 bezieht sich auf diese

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

  • Es wird wohl an der Adresse des OLED ( 0x78 o. alternativ 0x7A ) liegen. Testen könnte man das OLED an fast jedem PC, welcher einen VGA o. DVI Anschluß hat. Der I2C Bus ist i.d.R. an diesen Anschlüssen verfügbar, einfach mal den PC mit einer LINUX Live CD ( z.B. Knoppix ) starten das Display mit den richtigen Anschlüssen verbinden u. testen, ob das OLED per i2c-detect erreichbar ist. Falls dies funktioniert, könnte man das OLED später auch mit einem billigen Arduino bzw. per USB I2C Adapter o. einem anderem Teil mit vollem Adressbereich u. dem RPi verbinden,

  • Hallo Fliegenhals.


    Jetzt machst mich neugierig. VGA auf I2C???

    Der VGA hat analoge und digitale Pins, sowie RGB. Wie müsste ich das verdrahten dass da was sinnvolles passiert?

    Der VGA hat aber keine 3,3V sondern nur 5V.


    Kann ich dann unter Linus nur den Adressbereich rausfinden oder auch was auf dem Display ausgeben?


    Bin schon gespannt auf Deine Antwort.