-
Thread
stm32f030c6t6 pin read funktioniert nicht
all configured peripherals */ MX_GPIO_Init(); /* USER CODE BEGIN 2 */ /* uint8_t check = SSD1306_Init(); // initialize the diaply SSD1306_Fill(0); // fill the display with black color SSD1306_UpdateScreen(); // update screen SSD1306_GotoXY(10,10); // goto 10, 10 SSD1306_Puts("HELLO", &Font_11x18, 1); // print Hello SSD1306_GotoXY(10, 30); SSD1306_Puts("WORLD !!", &Font_11x18, 1); SSD1306_UpdateScreen(); // update screen */ // char *msg = "Hello Nucleo Fun!\n\r"; /* USER CODE END 2 */ /* Infinite
-
Thread
OLED I2C Display fehlerhaft ?
pin) Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET); void setup() { // SSD1306_SWITCHCAPVCC = generate display voltage from 3.3V internally if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C
(1); display.setTextColor(SSD1306_WHITE); display.setCursor(0, 0); display.println("Hallo Welt"); display.display(); } [/c]
-
Thread
OLED über Transistor ausschalten
Wenn das ein SSD1306 ist, kann man das via Software Ein- bzw. Aus-schalten.
Bildschirm an: 2.5mA Bildschirm aus (Software): 11µA Software: Bildschirm aus: [code]display.ssd1306WriteCmd(SSD1306_DISPLAYOFF);[/code] Bildschirm an: [code]display.ssd1306WriteCmd(SSD1306_DISPLAYON);[/code] Es wird empfohlen den OLED-Reset-pin nach dem Einschalten zu triggern. Ich hab direkt
-
Thread
I2C -Anfängerfrage
zumindest die wirklich wichtigen Header-Dateien wie z.B. > lcd-routines, I2C und zum Bleistift oled_ssd1306.h integriert sein > sollten, denn die braucht man ja äusserst oft. Sage das dem Autor des Projektes.
Andererseits sind manche davon von recht zweifelhafter Qualität. Dazu kommt: Ich z.B. brauche oled_ssd1306.h nicht "äusserst oft". LG, Sebastian
-
Thread
Mit Wire.h über I2C auf LCD-Display 1602 zugreifen
Frank O. schrieb im Beitrag #7618869: > Wenn du ein Oled Display SSD1306 Noch ein Video dazu. https://www.youtube.com/watch?v=HtuWLufEt9g
werde ich mich in Zukunft sehr genau mit befassen. Dann brauchst du wohl noch das Datenblatt des SSD1306 COG. Ich habe dir auch die Datenblätter der größeren Displays angehängt.
-
Thread
SAM4E xplained pro mit OLED1 xplained pro
Problem: Ich erstelle ein neues Projekt für das SAM4E und füge mittels dem ASF Wizard das Modul SSD1306 Controller in mein Projekt. Dadurch werden auch automatisch die dazu benötigten Module wie IOPORT oder SPI hinzugefügt. Dann belege ich in CONF_SSD1306.h die Pins: [c] # define SSD1306_SPI_INTERFACE # define SSD1306_SPI SPI # define SSD1306_DC_PIN PIO_PD28_IDX # define SSD1306_CS_PIN PIO_PD30_IDX # define SSD1306_RES_PIN PIO_PD26_IDX # define UG_2832HSWEG04_BAUDRATE 5000000
-
Thread
1,3" OLED I2C Display hat nur Streifen
das genau für ein Display? Hast du einen Link? Bist du sicher dass es einen Controller hat der SSD1306 kompatibel ist?
einen Offset von 16 Pixel hat. Bei den 1,3" hab ich fast immer sh1106 gehabt. Bei den 0,96" eher ssd1306. Hatte ähnliche Probleme, weil der Chinamann ssd1306 versprochen und sh1106 geliefert hat.
-
Thread
SSD1306 OLED
Hi Zusammen, Ich probiere mich gerde an einem OLED-Display mit SSD1306 Controller. Ich versuche diesen an einem Mega8 ans laufen zubekommen und dabei bräuchte ich eure Hilfe. Am liebsten hätte ich natürlich die fertig vorgekaute Version die ich nurnoch in den µC laden
20MHz laufen lassen will, muss ich zwangsläuftig diesen mit 5V versorgen. Die "Logikspannung" des SSD1306 Chips darf aber nur max. 3,3V haben. Das würde dann ja heißen, dass ich die 5V Signale vom AVR vermutlich nicht direkt einspeisen kann. Das Datenblatt des SSD1306 sagt mir: Vdd = 3,3V
-
Thread
STM8, SPI und SSD1306 - seltsames Verhalten
Hi Leute, Hatte jemand schon ein OLED SSD1306 erfolgreich zum Laufen bekommen? Ich versuche gerade, eine etwas optimierte graphische Library (am STM8 laufend) für das Display zu schreiben - also nicht das in den Tutorials übliche Warten auf Flags
Da muss man sich nichts zurechtfrickeln. > Soll ich den Quelltext meiner main.c, SPI.c oder der SSD1306.c anhängen? > Alle wäre ein wenig zu viel, fürchte ich. Die Init-Sequenz und die Datensendesequenz reichen.
-
Thread
Displays mit integriertem Controller + SPI - Wo?
nachzubauen. Das Datenblatt sieht gar nicht so schlimm aus: https://cdn-shop.adafruit.com/datasheets/SSD1306.pdf :D
Den SSD1306 kann man soweit ich weiss in diesen Varianten ansteuern: - direkt in den Framebuffer des SSD1306 schreiben - in einen Frambebuffer im RAM des µC zeichnen und dann den kompletten FB übertragen
-
Thread
attiny85 1Mhz Arduino virtuell Serial Protokoll beenden
DAVID -. schrieb im Beitrag #5765225: > Und eine funktionierende ssd1306 OLED Library konnte ich auch nicht > auftreiben. OK Das war Woll mal GARNIX. (Grade durch Zufall Gemerkt) Eine Passende Library wäre zb SSD1306_minimal. Problem an der Sache ist aber Sie scheint
void loop() { delay(1000); mySerial.println("Hello, world?"); } Und TFT #include "SSD1306_minimal.h" #include <avr/pgmspace.h> SSD1306_Mini oled; void setup() { oled.init(0x3c); delay(500); oled.startScreen(); oled.clear(); } void loop() { oled.cursorTo(0, 0);
-
Thread
Seltsames Phänomen bei serieller Übertr. ESP8266 - MBus 2. Versuch
(SSD1306_SWITCHCAPVCC, 0x3C); display.clearDisplay(); display.setTextSize(1); // Normal 1:1 pixel scale display.setTextColor(WHITE); // Draw white text display.setCursor(0, 0); display.println
(SSD1306_SWITCHCAPVCC, 0x3C); display.clearDisplay(); display.setTextSize(1); // Normal 1:1 pixel scale display.setTextColor(WHITE); // Draw white text display.setCursor(0, 0); display.println
-
Thread
MSP430 SSD1306 über I2C
gleiche ist wie der erst genannte der mitgeliefert wird? Welches Display verwendest Du mit der SSD1306 Lib, denn es gab mal ein OLED Grafik Display das Probleme hatte mit der SSD1306 Lib und man musste einen Mod machen "Adafruit" ..ich hoffe ich finde den Link nochmal und werde ihn dann pushen.
unendliche while-Schleife. Der Init-Kram steht im Datasheet: http://www.adafruit.com/datasheets/SSD1306.pdf Kapitel 9. Seite 28-32
-
Thread
ATTiny85 - OLED - I2C - U8GLIB?
bianchifan schrieb im Beitrag #4153888: > Hat wer schon mal sonst irgendwie ein SSD1306 via 3SPI betrieben? Bei uns funktioniert der SSD1306 via SPI. U8GLIB_SSD1306_128X64 u8g(10, 9, 12, 11); D10 -> SPI_SCLK D9 -> SPI_SDIN D12 -> /CS D11 -> DC D13 -> /RST (ganz wichtig auf
Mick schrieb im Beitrag #4164838: > Bei uns funktioniert der SSD1306 via SPI. Am ATTiny85?
-
Thread
Oled Display Arduino Zeilen fehlen
indirekt anfährt oder klappt das auch schon alleine? > > Welches OLED ? > > U8G -> i2c -> ssd1306 ? > U8G -> i2c -> PCF8574 -> SSD1306 ? also noch mal RTC3231 + AT24C32 EEPROM und PCF8574 funzen perfekt schon über Jahre, am AVR aus dem Studio und mit wire.h in Arduino sobald ich U8G -> i2c -> ssd1306 ? in allen I2C Variationen ACK und NACK anklemme bleibt es stecken, alleine am arduino ohne weiteres funktioniert U8G -> i2c -> ssd1306 ! am PCF8574 hängen nur Tasten und ich frage auch nur in
-
Thread
Arduino fonts "verkleinern"
https://github.com/lexus2k/ssd1306/blob/master/src/ssd1306_fonts.c hier ab Zeile 39 ist die Hex-Tabelle zum Font ssd1306xled_font6x8. Sehr viel gibt es da nicht zu reduzieren.
Ich habe eine Library für SSD1306 OLEDs geschrieben, die Zeichensätze von 8..64 Pixeln Höhe ausgeben kann. Dabei habe ich das gleiche Problem gehabt wie du, nämlich dass vor allem die größeren Zeichensätze sehr viel Platz im Flash
-
Thread
Seltsames Programmverhalten
define OLED_CLK 10 #define OLED_DC 11 #define OLED_CS 12 #define OLED_RESET 8 Adafruit_SSD1306 display(OLED_MOSI, OLED_CLK, OLED_DC, OLED_RESET, OLED_CS); /* Uncomment this block to use hardware SPI #define OLED_DC 6 #define OLED_CS 7 #define OLED_RESET 8 Adafruit_SSD1306 display(OLED_DC, OLED_RESET, OLED_CS); */ #if (SSD1306_LCDHEIGHT != 64) #error("Height incorrect, please fix Adafruit_SSD1306.h!"); #endif int lastUpdated; void setup() { Serial.begin(9600); ss.begin(GPSBaud); pinMode
-
Thread
SSD1306 Bibliothek
Moin ich bin auf der Suche nach einer Bibliothek für den SSD1306 128x64px über I2C. Ich habe bereits einige gefunden, die meisten verwenden jedoch das Arduino-Framework was ich gerne vermeiden möchte, da ich diese im Atmel Studio verwenden möchte um meinen Code
Hallo, hat jemand ein Beispiel für die Anwendung der u8g2 mit demSSD1306 Display? Finde damit einfach keinen Einstieg...
-
Thread
OLED Display mit SSD1306
Bug in der Library aufmerksam gemacht worden, den ich grad behoben habe. Er trat nur auf mit einem SSD1306 Controller im Grafikmode. In der Funktion lcd_display() fehlte im Abschnitt für den SSD1306 Controller ein lcd_gotoxy(0,0);. Das habe ich grade nachgebessert.
Library auf ein SH1106-Display eingestellt mit entsprechender Adresse, das musst du ändern wenn du ein SSD1306-Display benutzt ;)
-
Thread
I2C Signal beurteilen
der Chip intern für eine Data Hold Time von 300ns sorgen, SDA darf sich 0ns nach SCL ändern. Im SSD1306-Datenblatt sieht es so aus, als ob man die 300ns extern einhalten muss. Auf dem Bild ist die Zeit kürzer (grob geschätzt).
erklärbar und so gering, dass sie keine Rolle spielen sollten. > einer Schaltung bei der ein SSD1306 OLED nicht immer > zuverlässig initialisiert wird Software-Problem. Sehr wahrscheinlich irgendwelche Timing-Constraints verdaddelt. Wetten?
-
Thread
Meine Grafiklibary für den Attiny85/SSD1306 und ein kleines Betriebssystem
schwer, man kann den Bildschirmspeicher nicht per I2C zurück lesen, das ist eine Einschränkung des SSD1306, und für einen Framebuffer fehlt das Ram. Ich würde also auf die Version auf Github verweisen, in der alles entfernt wurde was nicht wirklich sinnvoll nutzbar ist.
weitere Iteration des ganzen, diesesmal mit der > Unterstützung von hardwarebeschleunigtem 3D auf dem SSD1306 für AVR > Arduino, allerdings noch etwas alpha, Nette Spielerei, wenn man die Grafik nur um der Grafik Willen betreibt. Ich habe 2020 einen Aufbau mit einem A*Nano und SSD1306 gemacht, der
-
Thread
UART: Frame Error
uart_init(UART_BAUD_SELECT(BAUD, F_CPU)); // receive from ESP8266 sei(); i2c_init(); ssd1306_init(); ssd1306_clear(); for (;;) { readint = uart_getc(); if ((readint & UART_FRAME_ERROR) || (readint & UART_OVERRUN_ERROR) || (readint & UART_BUFFER_OVERFLOW)) { ssd1306_setpos(80, 7); ssd1306_string(" "); ssd1306_setpos(80, 7); ssd1306_numdec(readint & 0xFF00); } else if (readint & UART_NO_DATA) { } else { switch ((unsigned
-
Thread
sprintf funktioniert nicht in ESP-IDF
nicht durchläuft, wenn die Methode im Programm ist. Das ist mein Hauptprogramm. [c] #include "ssd1306.h" #include <stdio.h> void app_main() { ssd1306_setup(); char string[100]; int i=12; sprintf(string,"test %d",i); // ssd_1306_print(string, 7); ssd_1306_print("test",4); ssd1306_update(); }[/c] Wenn ich die sprintf... Zeile auskommentiere, wird auf meinem OLED Bildschirm was angezeigt, wenn nicht, nicht. Hat jemand ne idee, was falsch sein könnte?
-
Thread
SSD1306 Display, Rauschen/Schnee bei der Initialisierung
Hallo, ich habe hier ein Problem bei meiner Anwendung, bei der ich ein 0,96" SSD1306 Display mit einem XIAO SAMD21 Arduino verwende, und zwar erscheint bei jedem Neustart der Applikation am gesamten Bildschirm ein Rauschen/Schneebildschirm für ca. 3s. Danach funktioniert die Darstellung
Schaue Dir mal die lib von Greiman an, nicht perfekt, aber sparsam: > https://github.com/greiman/SSD1306Ascii Danke für den Hinweis. Bei der von Ulli kann man das auch klein kriegen, muss aber viel und an unterschiedlichen Stellen lesen.
-
Thread
SSD 1306 I2C Datenpakete
Forengemeinde, Ich habe ein kleines Verständnis Problem mit dem I2C Datenpaket, es handelt sich um ein SSD1306 Controller für OLED. Ich möchte den Command Befehl aus dem Angehangenen Bild SSD1306_1 zu dem Controller schicken. Ich würde es in dem Format schicken wie ich es "Skizziert" habe in InkedSSD1306
Hier hab ich meinen Code für HAL & SSD1306 veröffentlicht: https://www.mikrocontroller.net/topic/457781
-
Thread
SSD1306 - Adressierung einzelner Pixel im Buffer
Guten Abend, ich versuche gerade, die Adressierung der einzelnen Pixel bei einem SSD1306 zu verstehen, leider blicke ich da nicht ganz durch. Datenblatt dazu gibt es hier: https://cdn-shop.adafruit.com/datasheets/SSD1306.pdf Die effizienteste Speicherung wäre wahrscheinlich in einem
wie sie sind und man nicht die Möglichkeit hat, das Display auszulesen (wie es bei SPI/i2C beim SSD1306 der Fall ist). Max M. schrieb im Beitrag #4840034: > Wie würdest du > vorgehen, wenn du einen einzigen Pixel setzten müsstest? Ich hab mir mal Gedanken gemacht wie ich ein einzelnes Pixel
-
Thread
Mosfet oder load switch
>Das OLED hat evt. einen Reset-Eingang, Da hast du tatsächlich Recht, wollte ein SSD1306 verwenden. Der Reset ist zwar nicht rausgeführt, aber offensichtlich gibt es diese Funktion https://cdn-shop.adafruit.com/datasheets/SSD1306.pdf
> Da hast du tatsächlich Recht, wollte ein SSD1306 verwenden. Da hab ich eine gute Nachricht. Der SSD1306 scheint relativ gutmuetig zu sein. Ich hab den seit 2Jahren in einer Anwendung im 24h Dauerbetrieb laufen. Meine Anwendung wird zwar das
-
Thread
ESP8266 und ext OLED
U8G2_SSD1306_128X64_NONAME_F_SW_I2C u8g2(U8G2_R0, /* clock=*/ D1, /* data=*/ D2); https://www.ebay.de/itm/162465864403 Mein Display hat 2 Adressmöglichkeiten. Muss das auch übergeben werden?
U8G2_SSD1306_128X64_NONAME_F_SW_I2C u8g2(U8G2_R0, /* clock=*/ D1, /* data=*/ D2); u8g2_SetI2CAddress(&u8g2, 0x3C * 2); //bzw. 0x3D
-
Thread
BME280 an ESP32 mit MicroPython
Hallo Experten, möchte die Daten eines BME280 auf einem oled ssd1306 über einen ESP32-s ausgeben, mit folgendem Script (Gemäss i2c scan Adressen BME280: 0x40 und ssd1306: 0x3C): from machine import Pin, I2C from time import sleep import BME280 i2c = I2C(scl
schrieb im Beitrag #6582623: > Hallo Experten, > möchte die Daten eines BME280 auf einem oled ssd1306 über einen ESP32-s > ausgeben, mit folgendem Script (Gemäss i2c scan Adressen BME280: 0x40 > und ssd1306: 0x3C): Jaja, ich weiss, Datenblattlesen ist heutzutage out, stattdessen macht man lieber