-
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?
rechts 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
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
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
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
I2C Display einfache Frage
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
Karl B. schrieb im Beitrag #8024317: > Es ist ein SSD1315. In Deinem Beitrag https://www.mikrocontroller.net/topic/583755#8023486 steht im Quelltext [c]#include <Adafruit_SSD1306.h>[/c] Im Datenblatt des SSD1315 steht der für Dich interessante
-
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
ATTiny85 - OLED - I2C - U8GLIB?
ein SSD1306 via 3SPI betrieben?
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
-
Thread
Display EA OLED L128-6
Hallo Versuche das Display EA OLED L128-6 an meinem I2C Bus zu betreiben. Das Display wird vom SSD1309 Prozessor gesteuert. Soll ja der Nachfolger vom SSD1306 sein. Auf der Seite des Herstellers ist das Anschlussbild und ein kurzes Beispiel für das init angegeben. Als adresse habe ich 0x7a ausgelesen
Recht hat. Brauche was konkretes um das Display in den Griff zu bekommen. Der Kontroller ist doch der SSD1309. Sind Programme für OLED des SSD1306 kompatibel?
-
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
I2C Signal beurteilen
gerade das erste mal ein DSO bzw MSO in der Hand. Dies teste ich gerade an einer Schaltung bei der ein SSD1306 OLED nicht immer zuverlässig initialisiert wird... Nun ist das Clock Signal relativ abgerundet am Anfang und auf dem Data Signal sind auch Störungen(?) vorhanden. Was sagt euch die Darstellung
muss 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).
-
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
Programm 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
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
Graphig Display 128x64 mit KS0108 am I2C Bus?
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
ist egal, 3,3 oder 5V. Farbe ist nicht schlecht Von Python gibt es einige Libs zur Anwendung mit SSD1306 und einige andere. Leider hat z.B. ein 2,9 Zoll Dispplay den SSD1309 drin. Soll soweit übereinstimmen. Funktioniert leider nicht. Dann bin ich bei der Suche auf das 128x64 gestossen mit dem KS0108
-
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(
L. 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
-
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
Hilfe beim Identifizieren eines LCD-Displays
zu sein scheint. Die folgenden Display-Initialisierungen habe ich erfolglos durchgetestet: U8G2_SSD1305_128X64_ADAFRUIT U8G2_SSD1305_128X64_RAYSTAR U8G2_SSD1306_128X64_NONAME U8G2_SSD1306_128X64_VCOMH0 U8G2_SSD1306_128X64_ALT0 U8G2_SSD1312_128X64_NONAME U8G2_SH1106_128X64_NONAME U8G2_SH1106_128X64_VCOMH0 U8G2_SH1106_128X64_WINSTAR U8G2_SH1107_64X128 U8G2_SSD1309_128X64_NONAME2 U8G2_SSD1309_128X64_NONAME0 U8G2_SSD1325_NHD_128X64 U8G2_SSD0323_OS128064 U8G2_UC1701_MINI12864 U8G2_UC1628_128X64 U8G2_UC1611_EA_DOGXL240 U8G2_UC1611_EW50850 U8G2_ST7565_
-
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
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 // 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 ?
gibt. 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,
-
Thread
Watchdog Reset mit Oled Display und Rotary Encoder HILFE
CLICKS_PER_STEP, 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