Arduino Nano mit OLED Anzeige

Hallo zusammen,
da ich zum einen hier neu bin und ich auch mich mit einem Arduino Board noch nicht so viel beschäftigt habe möchte ich ggf dass mir bei meinem Problem geholfen wird.

Ich habe ein Arduino Nano Board hier gekauft:

https://www.ebay.de/itm/MINI-USB-Nano-V3-0-ATmega328P-CH340-CH340G-FT232-5V-16M-Micro-Controller-Board/122516387624?ssPageName=STRK%3AMEBIDX%3AIT&var=422954995351&_trksid=p2057872.m2749.l2648

Dazu eine OLED Anzeige:

https://www.ebay.de/itm/0-96-I2C-IIC-Serial-128X64-128-64-White-OLED-LCD-LED-Display-Module-for-Arduino/122680684215?ssPageName=STRK%3AMEBIDX%3AIT&_trksid=p2057872.m2749.l2648

Wenn ich diese OLED Anzeige an mein Nano anschließe und danach ein Example File von der Lib Adafruit SSD1306 oder Adafruit GFX ausführen lasse bekomme ich keine Anzeige auf dem OLED.

Die Verkabelung ist so angeschlossen:
A4 (SDA) > SDA
A5 (SCL) > SCL
5V > VCC
GND > GND

Wo kann ggf. das Problem liegen?

Danke Reinhold

pro2311:
.....
Wo kann ggf. das Problem liegen?
.....

Das du evtl. nicht den richtigen Treiber für das Display geladen hast.

Zeige deinen Sketch, den du installiert hast.
Hat dieser auch fehlerfrei kompiliert ?

Setze den bitte in Code-Tags.

Verwende dazu die Schaltfläche </> oben links im Editorfenster.
Dazu den Sketch markieren und die Schaltfläche klicken.

Damit wird dieser für alle besser lesbar, auch mobile Geräte.

Als Beispiel der Code:

/********************************************************************* 
2 This is an example for our Monochrome OLEDs based on SSD1306 drivers 
3  
4   Pick one up today in the adafruit shop! 
5   ------> http://www.adafruit.com/category/63_98 
6  
7 This example is for a 128x64 size display using SPI to communicate 
8 4 or 5 pins are required to interface 
9  
10 Adafruit invests time and resources providing this open source code,  
11 please support Adafruit and open-source hardware by purchasing  
12 products from Adafruit! 
13  
14 Written by Limor Fried/Ladyada  for Adafruit Industries.   
15 BSD license, check license.txt for more information 
16 All text above, and the splash screen must be included in any redistribution 
17 *********************************************************************/ 
18 
 
19 #include <SPI.h> 
20 #include <Wire.h> 
21 #include <Adafruit_GFX.h> 
22 #include <Adafruit_SSD1306.h> 
23 
 
24 // If using software SPI (the default case): 
25 #define OLED_MOSI   9 
26 #define OLED_CLK   10 
27 #define OLED_DC    11 
28 #define OLED_CS    12 
29 #define OLED_RESET 13 
30 Adafruit_SSD1306 display(OLED_MOSI, OLED_CLK, OLED_DC, OLED_RESET, OLED_CS); 
31 
 
32 /* Uncomment this block to use hardware SPI 
33 #define OLED_DC     6 
34 #define OLED_CS     7 
35 #define OLED_RESET  8 
36 Adafruit_SSD1306 display(OLED_DC, OLED_RESET, OLED_CS); 
37 */ 
38 
 
39 #define NUMFLAKES 10 
40 #define XPOS 0 
41 #define YPOS 1 
42 #define DELTAY 2 
43 
 
44 #define LOGO16_GLCD_HEIGHT 16  
45 #define LOGO16_GLCD_WIDTH  16  
46 static const unsigned char PROGMEM logo16_glcd_bmp[] = 
47 { B00000000, B11000000, 
48   B00000001, B11000000, 
49   B00000001, B11000000, 
50   B00000011, B11100000, 
51   B11110011, B11100000, 
52   B11111110, B11111000, 
53   B01111110, B11111111, 
54   B00110011, B10011111, 
55   B00011111, B11111100, 
56   B00001101, B01110000, 
57   B00011011, B10100000, 
58   B00111111, B11100000, 
59   B00111111, B11110000, 
60   B01111100, B11110000, 
61   B01110000, B01110000, 
62   B00000000, B00110000 }; 
63 
 ......

Der Code kommt aus dem Example "ssd1306_128x64_spi.ino"

Oder ich kann auch einen ganz einfachen Code nehmen mit "Hello World" das klappt auch nicht.
Kompilieren und hochladen hat geklappt ohne Probleme.

Reinhold

Schau Dir mal Dein Display an, und dann das aus dem Adafruit shop:

Die Display nutzen verschiedene Schnittstellen, einmal I2C (Ebay) und zum anderen SPI (das Adafruit Display)

Sprich: Du hast die falsche Library. Hätte Dir auch auffallen müssen wenn Du den Sketch mit Deiner Verkabelung vergleichst.

[Nachtrag]
Es scheint wohl mit der Library zu funktionieren, aber laut Klick musst Du das Display anders initialisieren.
Versuch doch mal den Sketch von der Seite, oder diesen aus der Library.
[/Nachtrag]

  1. Das ist kein "Arduino NANO" sondern ein Nachbau. Bitte den geschützten Namen nicht für dieses Produkt verwenden.
  2. wie Moko sagt kannst Du kein I2C Device mittels SPI ansteuern.
  3. ist die I2C Adresse richtig? Veruche einen I2C Scan. Arduino Playground - I2cScanner
    Grüße Uwe

Ich habe gerade Deinen Aufbau nach gebaut (China Nano m. CH340, und China OLED 0.96).

Example: ssd1306_128x32_i2c

A4 = SDA
A5 = SCL

Und bei mir läuft es ohne Fehler... Was sagt Dein Output denn beim Hochladen!?

Tante Edit: Hast Du hier alles abgearbeitet!? klick mich

Gruß SG

Nimm die Lib von olikraus u8g2. Damit habe ich meine Uhr

gebaut.

Gruß

MiReu

Hallo zusammen,
zuerst einmal Danke für die vielen Hinweise...

Da ich gestern probieren musste konnte leider so schnell nicht antworten. Somit habe ich mein Problem gefunden. Hier mal der Sketch mit dem es klappt:

#include "U8glib.h"


U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0);  // I2C / TWI 


void draw(void) {

  // graphic commands to redraw the complete screen should be placed here  

  u8g.setFont(u8g_font_unifont);

  //u8g.setFont(u8g_font_osb21);

  u8g.drawStr( 0, 64, "Hello World!");

}



void setup(void) {

  // flip screen, if required

  // u8g.setRot180();

  

  // assign default color value

  if ( u8g.getMode() == U8G_MODE_R3G3B2 ) {

    u8g.setColorIndex(255);     // white

  }

  else if ( u8g.getMode() == U8G_MODE_GRAY2BIT ) {

    u8g.setColorIndex(3);         // max intensity

  }

  else if ( u8g.getMode() == U8G_MODE_BW ) {

    u8g.setColorIndex(1);         // pixel on

  }

  else if ( u8g.getMode() == U8G_MODE_HICOLOR ) {

    u8g.setHiColorByRGB(255,255,255);

  }

}




void loop(void) {

  // picture loop

  u8g.firstPage();  

  do {

    draw();

  } while( u8g.nextPage() );

  

  // rebuild the picture after some delay

  delay(50);

}

Somit war die falsche Lib das Problem >:(

Jetzt werde ich mich mal mit dem OLED beschäftigen und dann mit den nächsten Fragen kommen.

Danke
Reinhold

Das ist aber die alte Lib vom Oli.

Lade dir die neue u8g2 und ändere den Sketch entsprechend ab. Die alte wird nicht mehr gepflegt!

Vergessene Pullups verursachen auch gerne mal Probleme. Nur so als als Anmerkung für die Nachwelt, wenn mal jemand ähnliche Probleme hat und auf diesen Thread stößt.