-
Thread
I2C Display-Weis-I2C-SDD1306-128x64-Modul
andere Displays), das gibt das Display vom TO aber nicht her! ausserdem gibt es diese Displays mit SSD1306 und SH1106 Chip, beide differieren etwas in der Ansteuerung. Dein 3-Zeiler Beitrag hilft also dem TO in keinster Weise
Die SSD1306 Controller senden alle ACK ganz normal wie es sein soll.
-
Thread
ESP32 IDF Buildsystem
│ │ │ ├── fonts.h │ │ │ │ ├── i2c.h │ │ │ │ └── ssd1306.h │ │ │ ├── main.c │ │ │ ├── main.c.dist │ │ │ └── ssd1306_i2c.c │ │ ├── Makefile │ │ ├── README.md │ │ └── sdkconfig │ └── esp32-owb │ ├── component.mk
welche da auch > hingehören), noch zusätzlich ein komplettes Beispielprojekt hast > (esp32-i2c-ssd1306-oled). Deswegen hast du auch in deinem tree zweimal > "main.c". Danke! Juter Hinweis!
-
Thread
Graphig Display 128x64 mit KS0108 am I2C Bus?
es ansonsten keine anderen Anforderungen als 128×64 und I²C gibt: gibt billige OLED-Displays mit SSD1306 in der Auflösung. OT: mit etwas mehr Sorgfalt beim Verfassen deiner Beiträge erhöhst du die Chance auf schnelle und gute Antworten *deutlich*.
Leider ist die Lupe nicht im Preis mit drin. Dachte ehr an die Grösse mit 2,2 bis 3,5 Zoll und dem SSD1306
-
Thread
atmega328 avrdude verification error
safemode: Fuses OK (E:FF, H:D9, L:22) avrdude done. Thank you. [/code] Nun wollte ich mein SSD1306 Oled an dem Atmega testen, habe alle libs in Arduino IDE runtergeladen und ein minimalen Sketch geschrieben. [code] #include <SPI.h> #include <Wire.h> #include <Adafruit_GFX.h> #include <Adafruit_SSD1306
, in pixels #define SCREEN_HEIGHT 64 // OLED display height, in pixels // Declaration for an SSD1306 display connected to I2C (SDA, SCL pins) #define OLED_RESET 4 // Reset pin # (or -1 if sharing Arduino reset pin) Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
-
Thread
Gibt es schon skalierbare Arduino 16-Segent Font-Lib ?
Also bitte jetzt den Link dorthin. das Roland und Dankeschön :-) P.S. kann man beim SSD1306 eigentlich OR oder XOR zum OLED schicken ? Also Grafik-Linien übereinander malen..
Hab jetzt mal in die https://cdn-shop.adafruit.com/datasheets/SSD1306.pdf geschaut. In y-Richtung kann man wohl nur in 8 pixel "page" Schritten adressieren. Dann würde ich mich wohl doch auf 8px, 16px, 32px, 40px, 48px, 56px und 64px hohe fonts beschränken. 8, 16
-
Thread
Watchdog Reset mit Oled Display und Rotary Encoder HILFE
MIN_POS, MAX_POS, START_POS, INCREMENT); r.setChangedHandler(rotate); if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) { Serial.println(F("SSD1306 allocation failed")); for(;;); } startup(); display.setTextSize(4); display.setTextColor(SSD1306_WHITE); } void loop(
} } void setTemp(void) { delay(500); display.setTextSize(4); display.setTextColor(SSD1306_WHITE); display.clearDisplay(); display.fillRect(0, 60, 128, 10, SSD1306_WHITE); display.display(); do { r.loop(); } while (digitalRead(13) != LOW); delay(500); } void
-
Thread
Langsamer Bildrefresh mit ESP8266 und OLED 128x64 (SSD1306)
Wenn dein SSD1306 genug Ram (bzw. dein OLED wenig genug Pixel) hat: Bau den neuen Screen im Hintergrund auf, und schalte das Display um, sobald fertig. Befehl "Set Display Start Line"
https://bitbanksoftware.blogspot.com/2018/05/fast-ssd1306-oled-drawing-with-i2c-bit.html
-
Thread
u8glib ohne delay
zu antworten. Die u8glib ist nach meiner Erfahrung ziemlich klein. Fuer ein OLED 128x64 mit SSD1306 (iC2) VIEL KLEINER als die Adafruit SSD1306 und auch kleiner als die u8glib2. Ich benoetige sie auf einem Arduino nano. Da ist sie bei mir fast ca. 30% kleiner, was vorwiegend die dynamischen Variablen betrifft. Das heist am Ende, mit einer Adafruit SSD1306 library bin ich bei 106% Speicherauslastung und das ganze System funktioniert nicht. Mit u8glib bin ich gerade bei so ca. 65%. ALLERDINGS hat der Autor dieser Frage ganz Recht. Das delay im "picture
-
Thread
C -> Font berechnen -> Formel?
erstmal nur die einzelnen Bits ( Pixel ) setzen möchte, habe ich einige Fragen.. [c] void Ssd1306DrawPixel( int16_t x , int16_t y ) { if ( ( y >= SSD1306_LCD_WIDTH ) || ( y < 0 ) || ( x >= SSD1306_LCD_HEIGHT ) || ( x < 0 ) ) { return; } DisplayRam[ y + ( x / 8 ) * SSD1306
{ if ( font.fontPtr[font.indexNum+CharWidth] & 1<<BitPosition ) { Ssd1306DrawPixel( x + BitPosition * ActualPage , y + CharWidth ); }else { Ssd1306ClearPixel( x + BitPosition * ActualPage , y + CharWidth ); } } } } [
-
Thread
1.3" OLED Display hat nur Bildrauschen?!
OLED (diese China Teile, 1,3", gibt es auch in anderen Größen). Ich habe von M. Köhler den "lcd_ssd1306_gfx" Treiber. Es läuft über I2C. Das funktioniert auch alles (siehe bild mit kleinem Display). Hier soll aber ein größeres zum Einsatz kommen, und mit diesem bekomme ich nur Bildrauschen. Manchmal
Controller wird in der lcd.h in Zeile 61 eingestellt. Ich vermute, dein Display verwendet einen SSD1306, default ist in der Library der Controller SH1106 eingestellt.
-
Thread
Frage zu Arduino / OLED & Adafruit_SSD1306.cpp
angezeigt werden sollen. Ich benutze als Anzeige ein 128*64 OLED Display für das ich die Adafruit_SSD1306 und die Adafruit-GFX Bibliotheken nutze. Die Anzeige an sich läuft schon, zur Zeit noch mit Variablen bis ich die Sensoren alle beisammen hab. Meine Frage ist wie ich ein eigenes Bitmap als
Wenn du diese Version hast: https://github.com/adafruit/Adafruit_SSD1306/blob/master/Adafruit_SSD1306.cpp Da wird ein Buffer mit der nötigen Größe deklariert. Die Initwerte sind dann abhängig von der Bildgrösse, mindestens das Kleinste, wenn das Display größer ist werden
-
Thread
emWin oder LVGL für ePaper?
mit kompletter Breite * Pixel groß ist. lvgl kann auch 1bb, es gibt ein Beispiel mit dem berühmen SSD1306 OLED. Der Trick sind da spezielle Ausgaberoutinen, z.B. hier: https://github.com/lvgl/lvgl_esp32_drivers/blob/master/lvgl_tft/ssd1306.c lvgl auf OLED hat auch schon jemand gebaut, das war wohl
STemWin hab ich mal für einen SSD1306 auf einem F103 gebaut. Das ist recht genügsam, was den Speicherbedarf betrifft. Den meisten Platz braucht man für die Fonts. Hier ist der Code: https://cloud.it-livetalk.de/index.php/s/wZpWsMZ5L42H7Gk
-
Thread
ESP32 und OLED Display
lesen. Hat jemand einen Tipp?? [c] #include <Arduino.h> #include <Wire.h> #include <Adafruit_SSD1306.h> #define SCREEN_WIDTH 128 #define SCREEN_HEIGHT 64 #define OLED_RESET -1 Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET); void scan_wire(TwoWire *wire); void
100); Serial.begin(115200); Wire.begin(-1,-1,100000); scan_wire(&Wire); display.begin(SSD1306_SWITCHCAPVCC,0x3c); display.clearDisplay(); display.setTextColor(SSD1306_WHITE); display.print("Hello World"); // display.display(); // put your setup code here, to run once:
-
Thread
Wieso funktioniert dieser Trick nicht (OLED-Reset-Problem)?
3.3V-Spannnunswandler ist zwar drauf, aber der Reset und andere IO-Leitungen gehen direkt an das SSD1306-Display, das IMHO nicht 5V-tolerant ist.
Laut Datenblatt verträgt ein SSD1306 4V, auf Inputs VCC + 0,3V, also betreibe ich ihn an 5V-Outputs 0,7V über dem Limit. Kann man einfach Dioden in die vier Leitungen MSIO, SCK, C/D und CS schalten? Daten fliessen nur von der MCU zum
-
Thread
[S] Suche Lernbücher für ESP und LVGL
SIMS-IOT-Devices/FreeRTOS-ESP-IDF-MQTT/tree/main Display: https://github.com/nopnop2002/esp-idf-ssd1306/ Zehn Jahre (von 2015) alt: https://github.com/yanbe/ssd1306-esp-idf-i2c SHT21: https://github.com/dehre/sht21 https://www.phippselectronics.com/how-to-use-an-i2c-driver-in-esp-idf/ ESP32-IDF-OLED-SSD1306: https://github.com/bkgoodman BME280-Sensor: https://esp32tutorials.com/bme280-esp32-esp-idf-oled/ https://embeddedtutorials.com/eps32/esp-idf-weather-station-with-bme280-cpp/ Neue I2C-Treiber
-
Thread
I2C Display einfache Frage
Display, es hat keinen eingebauten Zeichensatz, der einfach abgerufen werden kann - ein Display mit SSD1306 Controller ist sehr ähnlich und unterscheidet sich relativ wenig vom 1315, der 1315 ist gewissermaßen ein Upgrade auf einen SSD1306. Die Initialisierungssequenz der beiden unterscheidet sich etwas
Bildschirmspeicher schreiben. Falls Du basales C lesen kannst: https://github.com/yangjinhaoaa/OLED0.91-SSD1306-HAL/blob/master/0.91OLED-SSD1306-STM32HAL/oled.c In dem C-Files findest Du auch die Init-Sequenz fuer dieses kleine 0,96"-Display: [c] uint8_t initcmd1[] = { 0xAE, //display off 0xD5
-
Thread
STM32F103C8T6 Blue Pill - SSD1306 - u8g2
Hallo zusammen, ich habe mir das Projekt von https://github.com/w1ne/u8g2-ssd1306-CubeMX als Grundlage genommen um mir etwas auf einem OLED (SSD1306) mit der u8g2 Lib etwas auszugeben. Zur Programmierung nutze ich Stm32CubeIDE und für die Konfiguration eben STm32CubeMX. Es funktioniert
Hallo Zusammen Laut Datenblatt sollte der SSD1306 zwar 400KHz hinbekommen, aber ein paar Hindernisse gibt es schon: - Die Flexleitung hat meist einen Widerstand von mehreren 100 Ohm - Auf der PCB des OLEDs sind oft auch Widerstände um beispielsweise
-
Thread
auf LCD Display per Web schreiben (nodemcu)
260px;'>"; const char HTTP_BODY_END[] PROGMEM = "</div></body></html>"; Adafruit_SSD1306 display(128, 64, &Wire, -1); AsyncWebServer server(80); void setup() { Serial.begin(115200); if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3D)) { // Address 0x3D for 128x64 Serial.println(F("SSD1306 allocation failed")); for(;;); // Don't proceed, loop forever } display.display(); delay(2000); // Pause for 2 seconds // Clear the buffer display.clearDisplay(); WiFi.begin
-
Thread
Code for grösseres, 1.3"-Display anpassen (u8glib)
:Screen() { > #ifndef u8glib_h > #define u8glib_h > #include <u8glib.h> > #endif > //U8G2_SSD1306_128X64_NONAME_F_SW_I2C u8g2(U8G2_R0, /* clock=*/ SCL, > /* data=*/ SDA, /* reset=*/ U8X8_PIN_NONE);// for u8g2lib > //U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_DEV_0 | U8G_I2C_OPT_NO_ACK | > U8G_I2C_OPT_FAST
false; > _showCaption = false; > > } was solln das sein? Hat das neue Display auch den SSD1306 drauf? Wenn nicht und es nur kompatibel ist, Laurin E. schrieb im Beitrag #5040553: >Der Autor des Designs meinte, man müsse >wohl die Identifiers des u8glib ändern. schau mal ob die lib
-
Thread
DEBO OLED2 0.96 0,96" OLED-Display SSD1306 SSD1312 Initialisierung TWI I2C AVR ATmeg8 Assembler ASM
;------------------------------------------------------------------------------- ldi temp1,(SSD1306_ADR) rcall TWI_MT_START_TEMP1 ;------------------------------------------------------------------------------- ldi temp,(SSD1306_CONTROL_BYTE_DATA_STREAM) ; CONTROL Byte: DATA STREAM rcall
Hier mal als Diskussionsbeitrag meine OLED SSD1306 / SH1106 Assembler Routinen als Teil eins RDA5807 Radios mit ATtiny45. - Thomas
-
Thread
[V] Ritek OLED Displays 2,4" 128*64 SSD1303
sowie SPI und I2C. Das Ganze sieht noch etwas zerhackt aus, weil ich auf die Schnelle einfach die SSD1306-library von Adafruit genommen habe. Für den älteren SSD1303 sind ein paar Anpassungen nötig: Das Display verwendet die Spalten 2-129 anstatt 0-127 und die Ausgabe ist gespiegelt. Einziger Haken
Wie ist denn die Langzeitstabilität dieser Displays? Die billigen OLED mit SSD1306 degradieren ja schon nach wenigen Monaten.
-
Thread
STM32 Grafik Display
Formfaktor? In der Größe oder Auflösung? SSD1306 ist einfach anzusteuern.
Eher in der Größe. Die SSD1306 sehen doch eher sehr klein aus.
-
Thread
OLED Display SSD1306 Tod nach Kleben
Guten Abend, mir ist ein OLED Display "SSD1306" mit 128x32 Pixeln auf seltsame Weise offenbar verstorben. Das Display ist so ein sehr kleines Exemplar ohne Schraublöcher, also schwierig zu befestigen. Ein chinesisches Standardteil für ein paar
20:48:16.661 -> I2C device found at address 0x3C ! 20:48:16.693 -> done Ich hab dann den "ssd1306_128x32_i2c.ino" Scetch aus der Adafruit_SSD1306 lib laufen lassen. Das Programm fängt an zu meckern, wenn es kein Display findet. Das Programm hat nicht gemeckert, aber es gibt auch keine Pixel. Das
-
Thread
OLED scrollText
nicht elegant: #include <SPI.h> #include <Wire.h> #include <Adafruit_GFX.h> #include <Adafruit_SSD1306.h> #define SCREEN_WIDTH 128 // OLED display width, in pixels #define SCREEN_HEIGHT 64 // OLED display height, in pixels // Declaration for an SSD1306 display connected to I2C (SDA, SCL pins) #define OLED_RESET 4 Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET); #include "SparkFun_Si7021_Breakout_Library.h" float humidity = 0; float tempf = 0; Weather sensor; char message[] = "Temperatur
-
Thread
Datenblatt zu I2C OLED Display
Im Datenblatt zum SSD1306 findest du alles, was du brauchst.
Hallo, google mal nach SSD1306.c Gruß G.G.
-
Thread
Ist mein SSD1306 OLED defekt?
Du hast vermutlich den Pin D/C# nicht beschaltet, sodaß sein Pegel nicht eindeutig ist. Den SSD1306 spreche ich übrigens unter der Basisadresse 0x78 mit D/C# auf GND an ;-)
auch Protokoll- Hinweise im Datenblatt des SSD1306.
-
Thread
Problem mit ssd1306 I²C-OLED-Display
haarklein auseinander- zulegen. Heisser Tip: Spicken hilft! https://github.com/afiskon/stm32-ssd1306
der > Initialisierunssequenz von Stefanus ging es dann. Blöderweise enthält das Datenblatt des SSD1306 keine klaren Informationen zur korrekten Initialisierung. Die findest du aber (schön mit Diagramm) im Datenblatt der Displays (OLED+Chip+Kabel).
-
Thread
Kleine Oled Tip
Programmtechnisch voll im Griff. .-) Seit kurzem gibt es zwei neue Typen die ebenfalls auf dem SSD1306 basieren: 1. 0.91" mit 128x32 Pixel Bei dem Display hat man jede zweite Zeile weggelassen. 2. 0.42" mit 72x40 Pixel Hier befindet sich das Oled etwas versetzt im Displayram des SSD1306
Olaf schrieb im Beitrag #6166025: > Seit kurzem gibt es zwei neue Typen die ebenfalls auf dem SSD1306 > basieren: > > 1. 0.91" mit 128x32 Pixel Bei verschiedenen Definitionen von "kurz" und "neu: ;-) e.g. "Im Angebot von Amazon.de seit: 9. Februar 2018" leo
-
Thread
Mini Display ansteuern
Sven schrieb im Beitrag #7462166: > In der Beschreibung steht IIC. Da steht vor allem SSD1306, und für diesen Controller gibt es jede Mengen Libraries. Er kann parallel und via SPI oder auch I2C angesteuert werden. Man sollte das Datenblatt lesen.
Aber nur, wenn man das passende breakout board dazu hat. Er hat jedoch 16 Leitungen, die man lt. SSD1306 Datenblatt beschalten muß.
-
Thread
Suche Bascom I2C.lib für LCD mit SSD1306 oder ILI9341
wäre interessant zu wissen, ob sich eine der lcdxxx.lib Dateien von Bascom für die LCD-Module mit SSD1306- oder ILI9341-Chip dazu eignet. Oder hat jemand dafür eine Bascom .lib geschrieben? Bin für jeden Hinweis dankbar.
800 '$lib "glcdSH1106-I2C.lib" je nach Controller $lib "glcdSSD1306-I2C.lib" Config Graphlcd = Custom , Cols = 128 , Rows = 64 , Lcdname = "SSD1306" Cls Setfont My6_8 Lcdat 2 , 2 , "OLED Test" Do Loop $include "my6_8.font" [/code]
-
Thread
OLed Anzeige
Balken vermutlich orange, unterhalb des Balken vermutlich blau. Die meisten 0.96er OLED haben SSD1306. Darunter wirst du mehr Infos bekommen. > > Ist das Teil Seriell (RS232) oder nur mit I2C ansteuerbar? mit einem RS232 to I2C sicher auch per RS232 ansteuerbar ;-) das Modul selbst nach
Hallo Das dürfte ein klassisches SSD1306 oder SH1106 modul sein, das theoretisch von der u8glib unterstützt werden sollte. Allerdings hat dieses Modul die CS (chip select) leitung nicht herausgeführt, was die Kommunikation sehr schwierig
-
Thread
Oelstandssensor G266
ich die pixelhelligkeit runterkriege.. widerstand an VCC? PWM? oder ist das eine Funktion beim SSD1306.. weisst du das spontan?
Ist eine Funktion des SSD1306.
-
Thread
Sehr kleines Display für eine USB-Stick-Anwendung
einigen Händlern, z.B.: http://www.buydisplay.com/default/0-49-inch-oled-display-module-64x32-pixel-ssd1306-i2c-white-on-black Adafruit hat auch welche, allerdings auf Huckepack-Platinen, damit die Anschlüsse handlicher werden. Gruß, Stefan
Davon: http://www.aliexpress.com/item/0-69-inch-8PIN-White-OLED-Screen-SSD1306-Drive-IC-96-16/32298484179.html?spm=2114.01020208.3.19.TA5EEF&ws_ab_test=201556_3,201527_2_71_72_73_74_75,201560_1 habe ich noch einige liegen. Leider nie verwendet. Bei Interesse kann ich Dir
-
Thread
ESP32 FreeRTOS vTimer I2C OLED Murks
Ich versuche gerade in einer vTimer CallBack Funktion einen Text auf ein OLED (SSD1306) zu schreiben. Leider springt mir anscheinend immer jemand dazwischen. Bei Start (setup()) benutze ich zum eigentlichen Schreiben auf das OLED die gleiche Funktion wie auch in der vTimerCB. Solange
Bin kein ESP Experte, wofür ist die BusIO Lib drin? Die SSD1306 arbeitet direkt mit Wire und SPI.
-
Thread
Arduino Grafik Display Pinbelegung
Das wird dann wohl ein I2C Interface haben. Als Controller könnte ein SSD1306 drauf sitzen. Welche Abmessungen hat das Modul. Die Angabe könnte die Suche auch eingrenzen.
überhaupt richtig? Ich habe alles aus folgendem Datenblatt: http://www.adafruit.com/datasheets/SSD1306.pdf