-
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
SSD1306 fade
realisiert. https://github.com/marcelohpn/Adafruit-SS1306-fade-out-fade-in/blob/master/Adafruit_SSD1306.cpp Doch an anderen Stellen findet man dann wiederrum die Information, dass 0xD9 nicht für Fade gedacht ist, da selbst beim Wert 0 das Display wohl nicht ganz ausschaltet. https://ssd1306.readthedocs.io
https://duckduckgo.com/?q=ssd1306+rev.1.5+filetype%3Apdf
-
Thread
Displayansteuerung mit I²C
Daten im gleichen Byte kombinieren. Siehe z.B. Datenblatt https://www.adafruit.com/datasheets/SSD1306.pdf
/datasheets/SSD1306.pdf
-
Thread
Display EA OLED L128-6
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. Leider kann das Display nichts anzeigen oder was
Display in den Griff zu bekommen. Der Kontroller ist doch der SSD1309. Sind Programme für OLED des SSD1306 kompatibel?
-
Thread
attiny85 ADC zieht Strom?
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
0,91" OLED Display (SSD1306) I2C Ansteuerung
Bus und versuche mit einem ATmega8 (in Assembler) eins dieser 0,91" OLED Displays (128x32 Px, SSD1306, zB. EBay 162891883868) ans leuchten zu bringen (An 5V, soll angeblich gehen). Wälze jetzt schon seit einigen Stunden die Datenblätter, und das Internet durch, aber es will einfach nicht. Stand
So sieht meine Init vom SSD1306 aus, funzt gut bei mir [c] void GLCD_LcdInit(void) { // Recommended power up sequence clrbit(LCD_CTRL, LCD_RESET); // Reset Low for 3 uS _delay_us(3); setbit(LCD_CTRL
-
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 davon
-
Thread
Arduino China-ProMini stürzt ab
, 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
Umstellung von SSD1306 (I2C) auf SSD1309 (I2C) macht elektrisch und mechanisch gesehen Probleme.
Hallo zusammen, seit ein paar Jahren verwende ich den SSD1306 mit dem I2C Interface. Das ist ein stromsparendes kleines Display mit 3,3V VDD. Der SSD1306 hat mit I2C immer gut funktioniert. Nur manchmal ist es hat einfach zu klein. Jetzt gibt es den SSD1309 als Breakout Board mit 2,4" der auch voll kompatibel zum SSD1306 ist: https://www.ebay.de/itm/2-42-inch-OLED-LCD-Display-SSD1309-128x64-SPI-IIC-Serial-Port-Green-for-Arduino/122797984765?_trkparms=aid%3D111001%26algo%3DREC.SEED%26ao%3D1%26asc%3D225078%26meid%3Daa8cf4f40d054d579dd3d49e1e28d87a
-
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
Webapp-stack auf STM32 (und ESP8266)
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_96x16.c.o" "libraries\\U8g2\\clib\\u8x8_d_ssd1306
-
Thread
STM8S Minimumboard + SSD1306 OLED Display
Immer wieder einmal spiele ich mit dem STM8S103 Controller herum, dieses mal habe ich ein SSD1306 OLED Display mit SPI Schnittstelle angebunden (eigentlich wollte ich aus China ein I2C Display haben, da wußte ich allerdings noch nicht, dass es diese Teile mit beiden Interfaces gibt und aus der
zwischen 2 monochromen Displays ausgewählt werden kann: PCD8544 (Nokia Display 84x48) und eben diesem SSD1306 (hier kann dann umgeschaltet werden zwischen SPI und I2C Interface). Wenn das von Interesse ist, werde ich das hier einstellen
-
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
_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
-
Thread
Arduino Timer für Campingwaschmaschine
<TimerOne.h> #include <SPI.h> #include <Wire.h> #include <Adafruit_GFX.h> #include <Adafruit_SSD1306.h> #define startPin 2 // #define stopPin 3 // #define taktPin 9 // #define relay1Pin 10 // #define relay2Pin 11 // //#define relay3Pin 12 // #define potiPin A3 // #define DISPLAY_I2C_ADDRESS
digitalPinToInterrupt(startPin), Waschroutine, LOW); // Interrupt schaltet Waschvorgang ein if(!display.begin(SSD1306_SWITCHCAPVCC, DISPLAY_I2C_ADDRESS)) { Serial.println("SSD1306 nicht gefunden"); } } int taktstate = LOW; int relay1state = HIGH; /
-
Thread
STM32WB5MMG -* ADC wackelt um 10 digits
HAL_ADC_PollForConversion(&hadc1, 10); adctemp = HAL_ADC_GetValue(&hadc1); sprintf (Testtext, "%i", adctemp); ssd1306_SetCursor(0,9); retVal = ssd1306_WriteString("NTC1 = ", Font_7x10, White); retVal = ssd1306_WriteString(Testtext, Font_7x10, White); [/c]
-
Thread
Raspberry Pico Micropython + SSD1306
displayio import terminalio from adafruit_display_text import label import adafruit_displayio_ssd1306 # LED import pwmio import time #------------------------------------------------ #------------------------------------------------ #------------------------------------------------ #
board.GP0) display_bus = displayio.I2CDisplay(i2c, device_address=0x3C) display = adafruit_displayio_ssd1306.SSD1306(display_bus, width=128, height=64) # Make the display context splash = displayio.Group() display.show(splash) #------------------------------------------------ #------------------
-
Thread
attiny85 AREF anderen PIN?
mit Mikro-usb Anschluss). Das Teil wird mit dem Micronucleus Bootloader betrieben und es wird ein SSD1306 OLED angesteuert (SSD1306_minimal, TinywireM...). Das Display verwendet für I2C die PINS PB0 und PB2 für die Kommunikation. Nun wollte ich aber gerne mal den ADC an PIN PB3 und/oder PIN PB4 lesen
zu > nutzen, so das du nicht unbedingt den TinyWire Kram brauchst. Dann müsste ich aber die SSD1306_minimal Library anpassen, das ist im Moment ausserhalb meiner Fähigkeiten :) Danke erstmal
-
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 SSD1306 + MicroPython
Neben dem üblichen 8x8 Font für das OLED SSD1306 hier noch die Fonts: - 16x16 - 24x24 - 32x32 Code und Beschreibung findet sich hier [1] [1] https://github.com/Feinmechaniker/micropython/tree/main/drivers/ssd1306
Beschreibung findet sich hier [1]. [1] https://github.com/Feinmechaniker/micropython/tree/main/drivers/ssd1306_drt
-
Thread
Fragen zu Grafik-LCD 128x64?
Mal angenommen, du meinst OLED mit SSD1306 Controller, dann... kannst du direkt in den Speicher des Displays schreiben. Pufferspeicher ist nicht zwingend erforderlich. Über SPI kann man angeblich schreiben und lesen (habe ich nicht ausprobiert
Maxim, deine Zahlen passen vermutlich auf dein Display, aber nicht auf ein SSD1306. Das ist so schnell, darauf kann man Animationen und Soft-Scrolling darstellen, wenn man Puffer verwendet. Da reden wir von ganz andere Zeiten.
-
Thread
Gasmessung - falsche Ausgabe am LCD
Splashscreen): [c] #include <SPI.h> #include <Wire.h> #include <Adafruit_GFX.h> #include <Adafruit_SSD1306.h> #define OLED_RESET 4 int TIME_UNTIL_WARMUP = 15; unsigned long time; int analogPin = 0; int val = 0; Adafruit_SSD1306 display(OLED_RESET); void setup() { display.begin(SSD1306_SWITCHCAPVCC, 0x3C); display.clearDisplay(); delay(2000); // Startphase } void loop() { val = readGas(); delay(100); printSplashScreen(); // !!! WIRD NIE ANGEZEIGT!
-
Thread
Grafik Display gesucht für PIC18F2550
verbreitete ILI9341 mit SPI Schnittstelle: http://pic-projekte.de/wordpress/?p=2767 - und für das SSD1306 mit I2C http://pic-projekte.de/wordpress/?p=3171
verbreitete ILI9341 mit SPI Schnittstelle: > http://pic-projekte.de/wordpress/?p=2767 > - und für das SSD1306 mit I2C http://pic-projekte.de/wordpress/?p=3171 Danke für deine Antwort. Die Seite kannte ich schon, SPI kommt für mich nicht in Frage. Das Tutorial zum OLED SSD1306 mit I²C ist an sich super.
-
Thread
Stimmt mit meinem OLED Display etwas nicht?
Display spinnt oder ich einen Fehler mache. [c] #include <U8g2lib.h> #include <Wire.h> U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0, U8X8_PIN_NONE); void setup() { // put your setup code here, to run once: u8g2.begin(); } void loop() { // put your main code here, to run repeatedly
argument 3 from 'double' to 'const char*' exit status 1 no matching function for call to 'U8G2_SSD1306_128X64_NONAME_F_HW_I2C::drawStr(int, int, double&)' [/c] Kann mir bitte jemand weiterhelfen? LG Julian
-
Thread
SSD1306 ->Text im Hochformat
Hallo zusammen, das ssd1306 funktioniert mit der "Lib" von Koehler sehr gut. https://www.mikrocontroller.net/topic/415651#4847967 Kennt jemand eine "Lib", mit der ich das Display im Hochformat nutzen kann? Also die Schrift
Datenblatt zum SSD1306, du solltest diese Funktionalität eigentlich recht einfach bei dir umsetzen können. Ich komme wohl kaum vor nächster Woche dazu mir dies mal genauer anzuschaun, werde es mir aber auch noch mal genauer
-
Thread
Arduino-Programm für Tankanzeige. Tankfüllstandsmessung.
bewandert mit dem Thema Programmieren.. Stell hier einfach mal das Programm ein: [c] #include "SSD1306Ascii.h" #include "SSD1306AsciiAvrI2c.h" SSD1306AsciiAvrI2c oled; #define I2C_ADDRESS 0x3C int TankValue0; int TankValue1; void setup() { Serial.begin(9600); oled.begin(&Adafruit128x64
-
Thread
Hilfe beim Identifizieren eines LCD-Displays
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
-
Thread
ESP32 SSD1309 OLED C Library
UTF8&qid=1515855635&sr=8-15&keywords=oled+display+arduino https://github.com/imxieyi/esp32-i2c-ssd1306-oled (Achtung den PURE-C Branch clonen!) Auf I2C muss man noch etwas loeten: _ [c] You have to prepare the board before it will work: Remove R17 and place it on position of R15 Solder a short
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
Vorstellung: Heltec HTIT-W8266 Board
Weiterhin enthält das Board einen USB-UART Chip vom Typ CP2104. Der Display Controller vom Typ SSD1306 ist über I²C mit dem ESP8266 verbunden. Der 2 Megabyte große Flash Speicher wird mit 80MHz im QIO Modus angesprochen. Die Reset Methode zum Aktivieren des Firmware-Upgrade Modus entspricht dem NodeMCU
nutzen. Zur Programmierung empfehle ich entweder meine angehängte OLED Klasse oder die Libraries SSD1306 und GFX von Adafruit. https://github.com/adafruit/Adafruit_SSD1306 https://github.com/adafruit/Adafruit-GFX-Library Meine Notizen zum ESP8266 Chip: http://stefanfrings.de/esp8266/index.html
-
Thread
Arduino selfmade Internal Clock 8MHz I2C probleme
Schaltplan zu sehen ist ein SHT31 (Addr. 0x44, Lib von Adafruit) verbaut und ein OLED mit einem SSD1306 Chip (Addr. 0x3C, Lib von Adafruit), Anschlusse mehrmals überprüft (auf der Schaltung sowie der Platine). Sobald ich anfange die Befehle zu senden hängt das Programm, es ist bekannt das in der Wire
imstande, so einen Spannungspegel zu verursachen - bei korrekter Beschaltung, wohlgemerkt. Der SSD1306 Controller verträgt am I²C maximal 3,6 Volt. Den hast du mit deinen 5V womöglich zerstört. Außerdem brauchen meine Displays mit diesem Chip ein externes Reset Signal.
-
Thread
avr-gcc alle c-Dateien im Ordner übersetzen und dann linken
-I. -gdwarf-2 -DF_CPU=8000000ul -Os -Wall -flto -std=c++11 ad8319.o I2C.o SSD1306.o Framebuffer.o --output ad8319.elf -lm j@uriah 875% avr-size ad8319.elf text data bss dec hex filename 1882 0 3 1885 75d ad8319.elf j@uriah 876% avr-gcc -mmcu=atmega644 -I. -gdwarf-2 -DF_CPU=8000000ul -Os -Wall -flto -std=c++11 I2C.o SSD1306.o Framebuffer.o ad8319.o --output ad8319.elf -lm j@uriah 877% avr-size ad8319.elf text data bss dec hex filename 1882 0 3 1885 75d ad8319.elf [/pre]
-
Thread
kompilerdifferenzen zwischen gcc 4.3.3 /4.4.3 oder DAUfehler -- Ich weiß nicht mehr weiter.
da bin ich mir eben nicht so sicher, da Beispielsweise im OLED originalzustand ausgegeben wird: SSD1306_OLED_Test und im enthaltenen Code steht SSD1306_OLED_DEMO Das bedeutet der Code ist nicht identisch...... ich habe das Originalprogramm auch im Disassembler angeschaut und es gibt unterschiede
Boardhersteller bzw. fremdcode der auf diesem board getestet wird läuft nicht. Wenn das board den SSD1306 enthält dann verstehe ich nicht warum die Initialiesierungssequenz so ist. adafruit verwendet die Initialiesierung welche dem herstellerdatenblatt entspricht. Aber vielleicht wird auch nur ein "kompatibles
-
Thread
[ASM] SSD1306 Grafik Library für OLED Displays
schon in einem anderen Thread vorgestellt. Nun dachte ich trenne ich es mal von der Text Library zum ssd1306 ab. Denn hier geht es jetzt um Grafik! Leider benötigt Grafik einiges an Ressourcen auf einem AVR, aber auch anderswo. Vor allem RAM! Mindestanforderung an *RAM* des AVR's sind *2kB* für diese
zeichnen. Inzwischen gibt es noch einige andere Funktionen mit zugehörigen Macros. In der Grafik SSD1306_GFX.inc stehen folgende Funktionen zur Verfügung: - oled_set_pixel - oled_draw_hline - oled_draw_vline - oled_draw_line - oled_draw_rect - oled_draw_fill_rect - oled_draw_round_rect - oled_draw_round_fill_rect
-
Thread
Wokwi – Schaltungs- und Softwaresimulation im Browser
docs.wokwi.com/guides/libraries # Automatically added based on includes: Adafruit GFX Library Adafruit SSD1306 [/c] Die Einrichtung des auf einem SSD1306 basierenden OLEDs erfolgt dann wie in der Realität: [c] void setup() { display.begin(SSD1306_SWITCHCAPVCC, 0x3C); // Display the splash
-
Thread
Datenlogger 10Kanal
define DEBUG_PRINT(x) #define DEBUG_PRINTDEC(x) #define DEBUG_PRINTLN(x) #endif Adafruit_SSD1306 display(OLED_RESET); File myFile; const char vers[] = "v1.0"; const unsigned long period = 5000; // microsec. const unsigned long runtime = 60000; // millisec. unsigned long count
// turn on pullup resistors Serial.begin(38400); // Display display.begin(SSD1306_SWITCHCAPVCC, 0x3C); // Adressierung beachten, hier 0x3C ! startup(); // SD Card // Serial.print("Initializing SD card..."); // see if the card is present and can be initialized
-
Thread
Wem nützt open source Gesperrt
Routinen in eine Lib gepackt (kopiert) und den Lizenztext der Firma oben hin gesetzt. Selbst beim SSD1306 haben die alle Texte entfernt und in eine eigene Lib gepackt. Also selbst wenn es GPL V3 wäre, keiner kann es mehr nachweisen.
Wiegand schrieb im Beitrag #7162685: > Habt ihr euch mal die SSD1306-Lib angesehen? Wenn es um diese - https://github.com/adafruit/Adafruit_SSD1306 Bibliothek geht: die unterliegt der BSD 3-clause Lizenz.
-
Thread
128x64-OLED weniger störempfindlich machen
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
uint8_t OLEDContrast; extern uint8_t OLEDChip; // chip type (OLED_SSD1306, OLED_SH1106) // prototypes extern void hal_oled_write (uint8_t data, bool command); extern void hal_oled_command (uint8_t command); extern void hal_oled_data (uint8_t command); extern