angeblich" eingebauten Controller zeigt nicht den Erfolg. //Display #include <U8g2lib.h> U8G2_SH1106_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0); void setup(void){ u8g2.begin(); } Was ich jetzt mache, ich versuche Schritt für Schritt die einzelnen Initialisierungsschritte durchzugehen.(Evtl. auch
hingehört. Moment mal, das kommt mir bekannt vor... hier: "Es sind vereinzelt Displays mit SH1106 aufgetaucht, wo das Bild um zwei Pixel verschoben erscheint. Links fehlt etwas und rechts erscheint dafür ein vertikaler Balken mit zufälligem Inhalt. In diesem Fall musst du im Quelltext von OLED:
https://www.opendtu.solar/hardware/esp32nodemcu_38pin/#symbolic-view Display ist das OLED Display SH1106 Funkmodul das Generic nRF24L01+ Module with SMA antenna Hier noch ein paar Screenshots. Ist sicher nur eine Sache der richtigen Konfiguration. Ist mein erstes ESP32 Projekt.
aber gern ein Display mit 1,3" einsetzen (auf der Platine vorgesehen), finde aber nur Displays mit SH1106. Im Sourcecode finde ich nur die Library für den 1306, in der BOM wird aber auch 1106 erwähnt. Bin etwas verwirrt. Sind die weitgehend kompatibel, so dass es mit beiden funktionieren kann?
Sourcecode wird dabei nur um 2 Pixel versetzt dargestellt. Also kurzerhand ein 1,3 Zoll Display mit SH1106 bestellt - funktioniert.
> Laut waveshare ist das ein SH1106 https://cdn.velleman.eu/downloads/29/infosheets/sh1106_datasheet.pdf Hatschi! Demnach heißt der Hersteller Sino Wealth, (chinesische "Gesundheit"?). Ich verstehe trotzdem nicht, wieso 0x7F
Mit welchem Generator bastelt man sich die dt. Umlaut? Viele Grüße runout Ach ja, der SH1106-Display-Controller taucht als "0x3C" am Bus auf.
das 4-Pin, I2C NONAME OLED ohne erkennbare Einschränkungen. Verwendete Initialisierung: U8G2_SH1106_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0, U8X8_PIN_NONE); oder mit SDA / SCL: U8G2_SH1106_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0, U8X8_PIN_NONE, D1, D2); Bei Verwendung der Instantiierung im Page-Modus erscheint keinerlei Anzeige auf dem OLED: U8G2_SH1106_128X64_NONAME_1_HW_I2C u8g2(U8G2_R0, U8X8_PIN_NONE); oder mit SDA / SCL: U8G2_SH1106_128X64_NONAME_1_HW_I2C u8g2(U8G2_R0, U8X8_PIN_NONE, D1, D2); Es gibt dabei weder Kompilierungs- noch Laufzeitfehler
SSD1306 Treiber funktioniert. Nun ist meine Frage, ob ich mit der selben Schematik auch Displays mit SH1106 Treiber anschließen und ansteuern kann und sich die Handhabung nur in der Software unterscheidet. Danke im Voraus für eure Hilfe! Beste Grüße, Philipp
www.szallvision.com 8 4.Functional Specification 4.1 Commands Refer to the Technical Manual for the SH1106G 4.2 Power down and Power up Sequence To protect OEL panel and extend the panel life time, the driver IC power up/down routine should include a delay period between high voltage and low voltage power
Na vielleicht funktionierte es nicht weil es ein SH1106 ist statt SD1306.
Würde ich auch nicht. Aber die Demo macht's halt und es zeigt dann auch wieder, daß die Adafruit SH1106-Demoapp das Display nicht vollständig und richtig initialisiert.
heller Umgebung toll aus. - simple Ansteuerung (Lib lcd.c von Michael Köhler für ssd1306/ssd1309/sh1106-Controller) - leider um Größenordnungen zu dunkel für Betrieb im Freien unter Sonnenlicht. *LCD transreflektiv* - brauchbarer Kontrast bei allen Umgebungsbedingungen, notfalls mit leichter Hintergrundbeleuchtung
=*/ 8); // same as the NONAME variant, but may solve the "every 2nd line skipped" problem //U8X8_SH1106_128X64_NONAME_4W_HW_SPI u8x8(/* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8X8_SH1106_128X64_NONAME_HW_I2C u8x8(/* reset=*/ U8X8_PIN_NONE); //U8X8_SH1106_128X64_VCOMH0_4W_HW_SPI u8x8(/* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // same as the NONAME variant, but maximizes setContrast() range //U8X8_SH1106_128X64_WINSTAR_4W_HW_SPI u8x8(/* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // same as the NONAME variant, but uses updated SH1106 init sequence //U8X8_SH1106_72X40_WISE_4W_HW_SPI u8x8(/* cs=*/ 10, /* dc
anfängt. siehe hier: https://forum.arduino.cc/t/whats-the-difference-between-adafruit-ssd1306-and-sh1106/247368/4 von olikraus "First problem for standard 128x64 OLEDs with SH1106 controller is: How is the 128x64 window mapped into the 132x64 RAM? It seems, that the 128x64 OLED is centered in most
geschrieben.. Hast du auch den Controller-Typ angepasst? Die Library ist für SSD1306-Displays und für SH1106 Displays. Beim falschen Controller bekommt man auch falsche Zeichen/Pixel gezeichnet. Das Beispiel auf github ist auf SH1106-Displays eingestellt, das musst du auf SSD1306 ändern wenn du ein SSD1306
rechts-Drehung links - Steuern von einem WS2812B RGB LED Ring mit 24-32 LEDs - Bedienung über Balkenmenu auf SH1106-OLED-Display 128 x 64 Pixel - Menu-Steuerung über Drehgeber - Menu viersprachig (DE, EN, FR, ES) Alle Einstellungen bei Veränderung speichern und bei Programmstart wiederherstellen - Hauptmenu 1. Programm
=*/ 8); // same as the NONAME variant, but may solve the "every 2nd line skipped" problem //U8G2_SH1106_128X64_NONAME_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_SH1106_128X64_NONAME_1_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE); //U8G2_SH1106_128X64_VCOMH0_1_4W_HW_SPI
Adafruit Libery? Kann mir jemand zufällig eine andere Libery empfehlen, welches mein Oled 128x64 SH1106 untetstützt? Oder hat jemand zufällig einen Standart Sketch für dieses Display?
zum Fenster öffnen, funktioniert auch, Daten wie Temperatur und Luftfeuchte werden auf einem OLED sh1106 ausgegeben. Ich habe also Code-Schnipsel zusammengefügt, verändert und erweitert und habe nun ein Problem. Bei einer Menüerweiterung um die Temperatur zum ansteuern der Motoren über das Menü zu ändern
Schlaumaier, würde gerne diese Display https://www.christians-shop.de/13-OLED-Display-128-x-64-SH1106-I2C-IIC-weiss verwenden wenn möglich? Andere Frage dazu, wie bekomme ich die I2C Adresse von dem Display dann raus um es anzusteuern?
Hier mal als Diskussionsbeitrag meine OLED SSD1306 / SH1106 Assembler Routinen als Teil eins RDA5807 Radios mit ATtiny45. - Thomas
Display extrem responsiv. Olaf zusatztip: Seit kurzem findet man immer mehr Oled (1.3") mit dem SH1106. Der ist fast baugleich zum SSD1306, lediglich die Uebergabe der Columnadresse braucht einen anderen Befehl.
generic display // //#define U8GLIB_SSD1306 // // SAV OLEd LCD module support using either SSD1306 or SH1106 based LCD modules // //#define SAV_3DGLCD #if ENABLED(SAV_3DGLCD) //#define U8GLIB_SSD1306 #define U8GLIB_SH1106 #endif // // Original Ulticontroller from Ultimaker 2 printer with SSD1309 I2C display
microtronic-nextgen-nokia https://github.com/lambdamikel/Busch-2090/tree/master/microtronic-nextgen-sh1106-i2c https://github.com/lambdamikel/Busch-2090/tree/master/microtronic-nextgen-sh1106-spi Übrigens - auf der Suche nach einem Nachfolger für das Nokia 5110 haben wir auch einmal die Display Performance von 3 Display verglichen: - Nokia 5110 - SH-1106 I2C - SH-1106 SPI Alle 3 Displays können mit dem gleichen Adafruit-API programmiert werden. Die Geschwindigkeitsunterschiede waren frappierend! Falls jemand ein schnelles monochromes Display sucht
NO_RESET_PIN, uint8_t i2c_address=0x3C, uint_fast8_t width=128, uint_fast8_t height=32, bool isSH1106=false); [/c] Also ja, da musst du mehr Parameter angeben. Sind denn die Pin Nummern 4 und 5 richtig? Es wäre interessant zu erfahren, wo genau die init() Methode hängen bleibt. Eine I²C Kommunikation
, > uint8_t i2c_address=0x3C, uint_fast8_t width=128, > uint_fast8_t height=32, bool isSH1106=false); > > Also ja, da musst du mehr Parameter angeben. Aber wie? [c]static OLED display=OLED(4,5,255,0x3C,128,64,false);[/c] oder [c]static OLED display=OLED(4,5,255,60,128,64,false);[/c
www.szallvision.com 8 4.Functional Specification 4.1 Commands Refer to the Technical Manual for the SH1106G 4.2 Power down and Power up Sequence To protect OEL panel and extend the panel life time, the driver IC power up/down routine should include a delay period between high voltage and low voltage power