-
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
u8glib ohne delay
einmal 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
-
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?!
einem 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
Der 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
OLED Ersatz gesucht
-Discovery Boards. Die Frage ist, ob das Display im Automat auch parallel angesteuert wird. Die SSD1306 können z.B. soweit ich weiß über I2C oder über SPI angesteuert werden. ymmv
Discovery Boards. > > Die Frage ist, ob das Display im Automat auch parallel angesteuert wird. > Die SSD1306 können z.B. soweit ich weiß über I2C oder über SPI > angesteuert werden. ymmv Das passt leider nicht von den Abmessungen. Mit chinesischen Hinterhofklitschen hätte ich überhaupt kein Problem
-
Thread
Webapp-stack auf STM32 (und ESP8266)
clib\\u8x8_d_sh1108.c.o" "libraries\\U8g2\\clib\\u8x8_d_sh1122.c.o" "libraries\\U8g2\\clib\\u8x8_d_ssd1305.c.o" "libraries\\U8g2\\clib\\u8x8_d_ssd1306_128x32.c.o" "libraries\\U8g2\\clib\\u8x8_d_ssd1306_128x64_noname.c.o" "libraries\\U8g2\\clib\\u8x8_d_ssd1306_2040x16.c.o" "libraries\\U8g2\\clib\\u8x8_d_ssd1306_48x64.c.o" "libraries\\U8g2\\clib\\u8x8_d_ssd1306_64x32.c.o" "libraries\\U8g2\\clib\\u8x8_d_ssd1306_64x48.c.o" "libraries\\U8g2\\clib\\u8x8_d_ssd1306_72x40.c.o" "libraries\\U8g2\\clib\\u8x8_d_ssd1306
-
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);
(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
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
[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
Bascom und AZ-Delivery Display
forum.arduino.cc/index.php?topic=256374.0 der SH1106 ist scheinbar bis auf die Auflösung identisch mit SSD1306. Für den 1306 gibt es Libs in Bascom. cu zoo
Es gibt schon eine Lib, nimmst diese hier "glcdSSD1306-I2C.lib" und dann frag mal hier "bascomforum.de"
-
Thread
auf LCD Display per Web schreiben (nodemcu)
min-width: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
Wie steuert man einen OLED Display über i2c an
84560165923&gclid=CMGM9bzIlscCFSjJtAod7pgLkQ und diesen OLED Display http://www.ebay.de/itm/0-96-OLED-SSD1306-12864-128-64-Blue-LCD-Display-Panel-Screen-for-Arduino-/400953286991?hash=item5d5aada14f Ich würde gerne den Beschleunigungssensor fest in meine Platine integrieren, doch dazu müsste ich wiederum
OLED Display http://www.ebay.de/itm/0-96-OLED-SSD1306-12864-128-64-Blue-LCD-Display-Panel-Screen-for-Arduino/291533629921?_trksid=p2047675.c100011.m1850&_trkparms=aid%3D222007%26algo%3DSIC.MBE%26ao%3D1%26asc%3D20140107083420%26meid%3D1bd0b6fb3c6d44519e73a887e0011b29%
-
Thread
Code for grösseres, 1.3"-Display anpassen (u8glib)
Screen::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
-
Thread
Arduino China-ProMini stürzt ab
ansprechen, bekomme sinnvolle Spannungswerte vom ADS1115 ... Damit ist bewiesen: Die Adafruit Adafruit_SSD1306.h für mein 128x64 OLED bringt das System um. Jetzt also suchen, welche Alternativen sparsamer sind.
Manfred schrieb im Beitrag #6423415: > Die Adafruit Adafruit_SSD1306.h für mein 128x64 OLED bringt das System > um. Oder irgend etwas anderes in deinem Code, der für die Adafruit Bibliothek nicht genug Speicher übrig lässt. Da ist eine kleinere Alternative
-
Thread
OLED 1306 128x64 Display an ESP32-WROOM board
Habe hier mit der Darstellung auf einem OLED Display Probleme, wenn ich es mit einer Demo-App ssd13ß6_128x64_i2c (Beispielprogramm aus der AdaFruit SSD1306 Library) auf einem ESP32-WROOM Board laufen lasse. Mit einem STM32F103 (Blue Pill) habe ich die Funktion parallel dazu heute noch mal verifiziert
schrieb im Beitrag #7607203: > Na vielleicht funktionierte es nicht weil es ein SH1106 ist statt > SD1306. Das war's vermutlich. Hatte mich nur irritieren lassen, da ich in einem früheren Projekt (STM32) ein Paket benutzt hatte, das ssd1306.c hieß (* original author: Tilen Majerle<tilen@xxxxx.eu>
-
Thread
neuere BluePill (WeAct) I2C1 will nicht
stm32f1xx_hal_i2c.c:7,306 0x8002bda HAL_I2C_IsDeviceReady() at stm32f1xx_hal_i2c.c:3,568 0x8002918 SSD1306_Init() at ssd1306.c:171 0x800134c main() at main.c:181 0x8000978 </pre> Wie gesagt, auf der älteren BP läuft das OLED Display an I2C (PB6/PB7). Jemand eine Idee? EDIT: erinnere mich
<pre> ssd1306.c: /** * original author: Tilen Majerle<tilen@majerle.eu> * modification for STM32f10x: Alexander Lutsai<s.lyra@ya.ru> -------------------------------------------------------------
-
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
Hat jemand auch meine Probleme mit 1.54" SPD0301 OLED?
habe bisher die linken Displays aus China bekommen - die laufen problemlos mit meinem Code. Es sollen SSD1309 sein. Den Code benutze ich seit Jahren unverändert auch mit den 0.96"-Displays (SSD1306). Die letzte Lieferung, rechts, sieht subtil anders aus und (nur) diese Displays bleiben dunkel. Es sind keine
hal_oled_command(0); // choose horizontal addressing mode (only supported by SSD1306) if (DISPLAYRotated) // display rotated (upside down)? { hal_oled_command(OLED_COMMAND_SEGREMAP | 0); // set segment re-map: column address 0 is mapped
-
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. y += 24; x += 28; Insbesondere die 0.42" sind natuerlich extrem schnuckelig. Olaf
-
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
MSP430: Suche OLED-Display Treiber (SH1106, I²C)
HW-I2C-Schnittstelle (pin14 und pin15). Leider finde ich nirgends einen passenden Treiber (überall nur SSD1306). Ich kompiliere meinen Code unter Energia oder auch gerne direkt unter dem Code Composer Studio 9. Hat jemand evtl. auf Anhieb eine gute Quelle? Mit dem Display möchte ich nichts aufwendiges
Sven Scholz schrieb im Beitrag #6187199: > Das müsste eins mit SDD1306 sein? Sagen wir so: ich habe Display mit SSD1306 gesehen, die so aussehen. Aber was in deinem verbaut wurde, kann man an dem Foto nicht sicher erkennen.
-
Thread
OLed Anzeige
des 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.
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.
Bus überhaupt richtig? Ich habe alles aus folgendem Datenblatt: http://www.adafruit.com/datasheets/SSD1306.pdf
-
Thread
Oled Display mit Attiny85 machbar?
/itm/Blue-1-3-IIC-I2C-Serial-128-x-64-OLED-LCD-LED-Display-Module-for-Arduino-R3-/201087638556 mit SSD1306 Chip.
Der SSD1306 hat eine integrierte Ladungspumpe. Als Außenbeschaltung werden nur ein Widerstand und eine Handvoll Kondensatoren benötigt. Per I2C brauchst du dann auch nur SCL/SDA und Reset, also vom ATtiny85
-
Thread
Displayansteuerung mit I²C
Daten im gleichen Byte kombinieren. Siehe z.B. Datenblatt https://www.adafruit.com/datasheets/SSD1306.pdf
/www.adafruit.com/datasheets/SSD1306.pdf
-
Thread
attiny85 ADC zieht Strom?
den hohen Strom erklären könnte? Das ist der Code den ich im Moment verwende: [code] #include <SSD1306_minimal.h> SSD1306_Mini oled; char buff[4]; // char array 4 digits const int ADCPIN = 3; //PB3 int ADC1_READ = 0; void disp_val() { oled.startScreen(); oled.clear();
hochladen, tiny an USB hängen und dann läd er es hoch. Ach ja und das OLED ist so ein Standart SSD1306 I2C.
-
Thread
Wer nutzt das Nucleo-64 und kann mir
Interne PullUps habe ich nicht aktiv. Eventuell macht das die Lib vom Display. Verwende Adafruit_SSD1306, Adafruit_GFX, SPI, Wire(.h) zum Test des OLEDs
Modulen > mit denen ich es probiert habe. kann ich nicht bestätigen, an meinen LPC824 laufen die SSD1306 problemlos mit 1 MHz. PullUp ist 2k2.
-
Thread
Schachuhr + Würfelbrett
denn möglich einen digitalen Wecker für diesen Zweck > umzuprogramieren? Ein Arduino Nano mit SSD1306 Display lässt sich gut einige Stunden an Batterien betreiben. Das Display ist aber winzig.
Sherlock 🕵🏽♂️ schrieb im Beitrag #7853629: > Du meinst SSD1309, richtig? Yep. Benutzt hab ich die aber auch noch nie. Scheinen im Gegensatz zu den 1306ern weniger verbreitet zu sein.
-
Thread
ESP32 von heltec mit Display
project/wifi-kit-32-v3/ Nur wie bekomme ich den Display eingebunden? ich hab es über die Adafruit_SSD1306 probiert mit wire und gfx doch es bleibt alles dunkel. ist das einfach nur falsch oder hab ich eine falsche I2C Adresse? es gibt keine fehlermeldung. Evtl kann mir jemand helfen diesen Code
Beitrag #7344035: > Nur wie bekomme ich den Display eingebunden? ich hab es über die > Adafruit_SSD1306 probiert mit wire und gfx doch es bleibt alles dunkel. > Ich habe bewusst meinen Code für die Screen einbindung raus genommen um > keine verwirrung zu stiften. Muss man die Logik hinter der
-
Thread
Grundsätzliche Frage zu Compilern / Arduino IDE im besonderen.
Bibliotheken für ein OLED Display. Ich benutze die Bibliotheken von Adafruit (Adafruit_GFX.h und Adafruit_SSD1306.h) und auch wenn ich keine Grafikfunktionen der Bibliothek nutze, die meiner Meinung nach wesentlich mehr Code produzieren, habe ich allein wenn ich diese Bibliotheken einbinde und lediglich ein
beim belegten Speicher keinerlei Rolle mehr spielen. Im allgemeinen dürfte die Anbindung eines SSD1306 keinerlei große Flashbelastung sein. Wir haben hier im Projekte Sub Forum einen langen Thread mit mehreren Headerfiles für diverse Platformen (AVR, STM32, etc...) für den SSD1306, vielleicht mal
-
Thread
ESP32 SSD1309 OLED C Library
Falls jemand sowas sucht ... https://www.amazon.de/Displaymodul-Arduino-SSD1309-Parallel-Schnittstelle/dp/B0749DYGSW/ref=sr_1_15?ie=UTF8&qid=1515855635&sr=8-15&keywords=oled+display+arduino https://github.com/imxieyi/esp32-i2c-ssd1306-oled (Achtung den PURE-C Branch clonen
stay dead. The Oled uses the normal address 3C and works perfectly well with the standard OLED SSD1306 plugin. [/c] Angeblich waere das Display wohl ein SSD1306 - aber egal mit der Lib lauefts!
-
Thread
OLED: Viele Pixel an = dunkler; Abhilfe?
invertierte Zeilen) spürbar dunkler. Siehe Bild. Es ist eines dieser typischen ebay-128x64-Module mit SSD1306/SH1106 für 5V - mit Nutzung einer Charge-Pump für die Erzeugung der höheren Spannungen. Ich nehme einfach mal an, dass diese Charge-Pump (oder der 3V-Regulator?) bei vielen leuchtenden Pixeln hintereinander
oled_command(0); // choose horizontal addressing mode (only supported by SSD1306) if (DISPLAYRotated) // display rotated (upside down)? { oled_command(OLED_COMMAND_SEGREMAP | 0); // set segment re-map: column address 0 is mapped to SEG0
-
Thread
I2C 128x64 LCD an Atmega328P undefined reference
ich dort zunächst mal den falschen Controller anspreche (SSD1306 statt ST7920), jedoch funktioniert das Compilieren bei mir nicht einmal... Hier der Fehler aus dem Programmers Notepad: [c] > "make.exe" all -------- begin -------- avr-gcc (WinAVR 20100110
\1_Elektrotechnik\1_Projekte\Bench Supply\SW\Atmega328p/main.c:25: undefined reference to `u8g_dev_ssd1306_128x64_i2c' D:\Dokumente\1_Elektrotechnik\1_Projekte\Bench Supply\SW\Atmega328p/main.c:25: undefined reference to `u8g_dev_ssd1306_128x64_i2c' D:\Dokumente\1_Elektrotechnik\1_Projekte\Bench Supply