OLED SSD1306 - erste Schritte - leider dunkel ....

    This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

    Aufgrund technischer Veränderungen ist der Mailverkehr innerhalb des Forums (Private Nachrichten) nur noch eingeschränkt möglich. Die Einschränkung ist notwendig, um zusätzliche Betriebskosten für das Forum zu vermeiden. Näheres zu den Hintergründen im Thread "Aktuelles zum Forum".Wir bitten um Verständnis.

    Hinweis kann nach Kenntnisnahme deaktiviert werden!

    • OLED SSD1306 - erste Schritte - leider dunkel ....

      Moin zusammen,
      meine ersten Schritte mit BasCom auf einem Arduino Clone ( Spitzname Nano :P ) - leider habe ich wohl etwas komplett nicht verstanden ... der Fehler sitzt sicher vor der Tastatur .

      Um auch etwas von meinen ersten Schritten sehen zu können möchte ich etwas Text auf dem kleinen OLED ausgeben.
      Einfach nur vier Zeilen Text - aber das Display bleibt dunkel.

      Ich bin mir relativ sicher das mein Code auf dem Nano ankommt - das Display funktioniert - direkt nach dem ersten Auspacken und Strom über USB zeigte es Text wie auf dem Bild ...

      Mein erster Programmcode:

      BASCOM Source Code

      1. '***************************************
      2. $regfile = "m328pdef.dat" 'es handelt sich um einen ATmega329P
      3. $crystal = 16000000 'der eingebaute RC-Oszillator läuft mit 1 Mhz
      4. $hwstack = 100 'im Speicher werden für den Hardware-Stack 100 Byte reserviert
      5. $swstack = 100 'im Speicher werden für den Software-Stack 100 Byte reserviert
      6. $framesize = 100 'im Speicher werden für den Frame 100 Byte reserviert
      7. ' OLed einbinden
      8. $lib "glcdSSD1306-I2C.lib"
      9. $INCLUDE "font8x8.font"
      10. Config Graphlcd = Custom , Cols = 128 , Rows = 32 , Lcdname = "SSD1306"
      11. Config I2CDelay = 5
      12. Config Scl = PortD.5 'Portb.3
      13. Config Sda = Portd.4 'Portb.4
      14. I2cinit
      15. WaitMS 200
      16. initlcd
      17. Cls
      18. Setfont Font8x8 'select font
      19. Lcdat 1 , 1 , "Zeile 1"
      20. Lcdat 3 , 1 , "Zeile 2"
      21. Lcdat 5 , 1 , "Zeile 3"
      22. Lcdat 7 , 1 , "Zeile 4"
      23. Wait 3
      24. Do
      25. Loop
      26. End
      Display All

      ?( Fehlt mir etwas grundlegendes?
      ?( Muss ich das Display noch irgendwie initialisieren?

      ... ich dachte ich frage einfach mal - nicht das ich aus Frust über mich das Thema wieder beende ...
      Ich freue mich über jede Antwort - DANKE
      Das isser ... Adruino_nano_front.jpgAVR_71EB2GNSF6L._AC_SL1500_.jpg
    • Interessantes Board.
      Woraus schließt Du, dass Dein Programm auf dem Nano ankommt? Die Display-Anzeige sieht eher nach einer Standardanzeige aus. Demnach wartet der Nano auf AT-Befehle.

      Wie bringst Du das BASCOM-Programm auf den Nano? Mit Bootlader oder mit ISP?
      Auf dem Board scheint eine LED an PortB.5 zu sein. Als Einstieg solltest Du mal die LED zum Blinken bringen. DANN bist Du sicher, dass Dein Programm auf dem Nano ankommt. Dann kannst Du das Display angehen.
      Woher hast Du das BASCOM-Programm?

      „Nano“ ist übrigens kein „Spitzname“, sondern die Bezeichnung eines Arduino-Boards. Du hast anscheinend ein Arduino Nano Board mit dem Display im Huckepack. Nicht schlecht. Hast Du einen Link zum Datenblatt?

      avrhelp.mcselec.com/index.html?glcddssd1306_i2c.htm

      SSD1306 OLED Display
    • Keine Ahnung ob die Unterschiede groß sind, aber das würde ich schon einmal ändern


      Source Code

      1. $regfile = "m328pdef.dat" 'es handelt sich um einen ATmega329P

      in

      Source Code

      1. $regfile = "m329pdef.dat" 'es handelt sich um einen ATmega329P
      Aus datenschutzrechtlichen Gründen befindet sich die Kontaktdaten auf der Rückseite dieses Beitrages.
    • Moin Zusammen,
      einen MEGA großen DANK für eure Antworten!

      Ich glaube jetzt - das Problem liegt in der Kommunikation zwischen BasCom - meinem PC und dem Arduino Clone ...
      Auch wenn die RX/TX LEDs auf dem Board blicken - scheint der Programmer seinen Code nicht auf das Board zu bekommen.

      Ich habe das Board einfach per USB an meinen PC geklemmt.
      Windows meldet auf COM 3 einen USB-Serial CH340.
      Den Programmer wie folgt eingestellt.

      Arduino_BasCom_Programmer.png

      Aber
      • Der Programmer kann den Chip nicht erkennen
      • "Write Buffer to Chip" meldet ein paar Fehler
      Arduino_BasCom_Programmer_error.png


      Anderes:
      Das Board habe ich auf der großen Plattform A...N gefunden ( diymore-Store ).
      Ein Datenblatt gibt es nicht - nur die Bilder.
      Die Kommentare in den Bewertungen haben ein paar fehlende Informationen ersetzt.
      Z.B. das ich als Programmer ARDUINO setzen/nutzen soll ...

      Auch ich kann auf dem kleinen LCD nicht mehr viel erkennen - aber für meine ersten Schritte war mir das egal.

      Den Programmcode habe ich selber erstellt - ein wenig aus den BasCom Beispielen kopiert und die BasCom Doku gesichtet ...

      ... mal schauen wie ich den Code auf das Board bekommen - als kleines Projekt soll die LED blinken ...

      MiGu sagt DANKE
    • Schau mal im Gerätemanager von Windows, welcher comport dem Arduino zugeteilt wurde, den trägst du in den Optionen ein ein. Wenn ein chipinfo im progammer-Fenster nix brauchbares zeigt, dann muss du mal verschiedene baudraten durchprobieren. Nach meiner Erfahrung haben die verschiedenen Arduinos, nano, mico und wie sie alle heißen verschiedene baudraten.
      Raum für Notizen

      -----------------------------------------------------------------------------------------------------

      -----------------------------------------------------------------------------------------------------
    • Jetzt ist es Zeit DANKE zu sagen.

      • Ich habe den CH340 Treiber einfach noch mal überinstalliert ...
      • dann mit der Baud-Zahl gespielt
      und bei 11200 Baud findet der Programmer den Chip - mega.
      Ich kann das Programm auf das Board laden und das Display zeigt vier Zeilen - mega mega .

      P.S. Der Font oder die Position passt wohl nicht für das OLED - lesen kann man den Inhalt nicht ... lach - das bekomme ich hin!

      DANKE an die mega Community - die Motivation ist wieder da - ich mache weiter.

      P.S.S.: meine Frau bekommt irgendwann ihre Bewässerungssteuerung und der Keller seine Lüftersteuerung ( Taupunktlüftung ).
    • Moin,
      gerne als Info für alle anderen:

      Das Display - 0.96 Zoll OLED ( Achtung - breiter Rand unten - gehört wohl so )

      BASCOM Source Code

      1. $lib "glcdSSD1306-I2C.lib"
      2. $INCLUDE "font8x8.font"
      3. Config Graphlcd = Custom , Cols = 128 , Rows = 32 , Lcdname = "SSD1306"
      4. Config I2CDelay = 5
      5. Config Scl = PortC.5 'i2c SCL
      6. Config Sda = PortC.4 'i2c SDA
      Die LED

      BASCOM Source Code

      1. LED Alias PINB.5 'LED BuildIn Port
      2. Config PinB.5 = Output 'Output einschalten

      Programmer - ARDUINO an COM XXX ( mit Treiber für CH340 ) und 115200 Baud

      MiGu