-
Thread
[ASM] SSD1306 text library für oled displays + AVR 0- und 1-Series
Momentan verwende ich dieses Display: DEBO OLED2 0.96 Entwicklerboards - Display, 0,96", OLED-Display, SSD1306 https://www.reichelt.de/nl/de/entwicklerboards-display-0-96-oled-display-ssd1306-debo-oled2-0-96-p266107.html?search=SSD1306&&r=1
temp1 ori temp1,(SSD1306_CMD_SET_PAGE_START_ADDRESS) ; SET_PAGE START_ADDRESS rcall TWI_MT_TX_TEMP1 ldi temp1,(SSD1306_CMD_SET_COLUMN_ADDRESS) ; SET_COLUMN_ADDRRSS rcall TWI_MT_TX_TEMP1
-
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
Commands OLED SPI / I2C 0.96 SSD1306
braucht ausfüllt ( wird dann schwarz ) aber nicht den rest. Gibt es den Befehl nicht für das SSD1306 oder hab ich was übersehen. Die Command constructs oben sind eher pseudo zum bessern erklären. lg rudi ;-)
-
Thread
Universelles Oled-Libary (SSD1306) für AVR(8bit) und STM32/HAL
Inspiriert durch das Library von Michael Köhler: https://www.mikrocontroller.net/topic/415651 hab ich vor einigen Tagen begonnen, sein Library so umzubauen, daß das unverändert auf AVR und STM32 kompiliert. Inzwischen sind die Änderungen allerdings so umfangreich, daß da kaum ein Stein auf dem Anderen geblieben ist, und aus diesem Grud hab ich diesen neuen Thread zu dem Thema erstellt. Auf AVR gibt es 2 Modi (Text- und Grafik-Mode), die sich stark durch den Speicherbedarf unterscheiden: Der STM32 läuft immer im Grafikmode Textmode: (nur AVR) * sehr geringem Speicherbedarf (<2k Flash
-
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
-
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
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
DEBO OLED2 0.96 0,96" OLED-Display SSD1306 SSD1312 Initialisierung TWI I2C AVR ATmeg8 Assembler ASM
GO_HOME ;------------------------------------------------------------------------------- ldi temp1,(SSD1306_ADR) rcall TWI_MT_START_TEMP1 ;------------------------------------------------------------------------------- ldi temp,(SSD1306_CONTROL_BYTE_DATA_STREAM) ; CONTROL Byte: DATA STREAM
Hier mal als Diskussionsbeitrag meine OLED SSD1306 / SH1106 Assembler Routinen als Teil eins RDA5807 Radios mit ATtiny45. - Thomas
-
Thread
Display"fehler" bei OLED Module IIC I2C 128x64
(0xDB); //--set vcomh SSD1306_WRITECOMMAND(0x20); //0x20,0.77xVcc SSD1306_WRITECOMMAND(0x8D); //--set DC-DC enable SSD1306_WRITECOMMAND(0x14); // SSD1306_WRITECOMMAND(0xAF); //--turn on SSD1306 panel SSD1306_
(0x10); /* Write multi data */ ssd1306_I2C_WriteMulti(SSD1306_I2C_ADDR, 0x40, &SSD1306_Buffer[SSD1306_WIDTH * m], SSD1306_WIDTH); } } [/pre]
-
Thread
OpenSTM32 Import von Source und Header files
passen. Du hast zwei Möglichkeiten: Entweder du schreibst deine Funktion um, so dass sie den Typ "SSD1306_COLOR" akzeptiert, d.h. die Signatur wäre void ssd1306_Fill(SSD1306_COLOR somecolor) oder du führst einen Typecast durch wenn du die Funktion aufrufst, in etwa ssd1306_Fill((SSD1306_COLOR)Black
Ich verwende diese Files: https://github.com/afiskon/stm32-ssd1306/tree/master/ssd1306
-
Thread
SainSmart SPI_1.3_OLED
ssd1306_write_byte (const uint8_t x, const uint8_t page, const uint8_t byte) { ssd1306_write_instruction (SSD1306_SET_PAGE_START_ADDR | page); ssd1306_write_instruction (SSD1306_SET_COL_LO_NIBBLE | (x & 0xF)); ssd1306_write_instruction (SSD1306_SET_COL_HI_NIBBLE | (x >> 4)); ssd1306_write_data(byte); } void ssd1306_clear_screen (void) { ssd1306_reset_cursor (); for (uint16_t byte = 0; byte <
-
Thread
OLED zeigt nur wirre Pixel am I2C
setup() { Serial.begin(9600); Wire.setClock(100000); // SSD1306_SWITCHCAPVCC = generate display voltage from 3.3V internally if(!display.begin(SSD1306_SWITCHCAPVCC, SCREEN_ADDRESS)) { Serial.println(F("SSD1306 allocation failed")); for(;;); // Don't
steuere OLEDS mit Text SO an. Nur ausschnitte aus den Code !!!! #include <Wire.h> #include "SSD1306Ascii.h" #include "SSD1306AsciiWire.h" #define oled_adresse 0x3C SSD1306AsciiWire oled; void setup() { Wire.begin(); Wire.setClock(400000L); oled.begin(&Adafruit128x64, oled_adresse
-
Thread
OOP mehrere Geräte an mehreren Schnittstellen organisieren
das was ich gebraucht habe. Es funktioniert, er zeigt mir jedoch beim Konstruktoraufruf [code] SSD1306display display1(0x78, 0, &i2c1TxDaten[0]); //bzw. SSD1306display display1(0x78, 0, i2c1TxDaten); [/code] den Fehler [code] Invalid arguments ' Candidates are: SSD1306display(const SSD1306display
[code] class SSD1306display ... [/code] ist ja auch kein Funktionsrumpf.
-
Thread
I2C Display ansprechen
test"); delay(2000); if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) { Serial.println(F("SSD1306 allocation failed")); for(;;); } delay(2000); display.clearDisplay(); display.setTextSize(1); display.setTextColor(
Du mußt erstmal das Display initialisieren , bzw. den drauf befindlichen SSD1306 Treiber. ;-)
-
Thread
STM32 OLED MiniScope
(); // Sample rate 1.5 cycles HAL_ADC_Start (&hadc1); ssd1306_SetCursor(0,0); ssd1306_WriteString("100us", Font_7x10, White); ssd1306_UpdateScreen(); break; case 1: TIM3->ARR = 800;
(); // Sample rate 7.5 cycles HAL_ADC_Start (&hadc1); ssd1306_SetCursor(0,0); ssd1306_WriteString("250us", Font_7x10, White); ssd1306_UpdateScreen(); break; case 2: TIM3->ARR = 1600
-
Thread
Fehlermeldung beim Kompilieren mit arduino 1.06
\AppData\Local\Temp\build3060804281612396710.tmp\Adafruit_SSD1306\Adafruit_SSD1306.cpp.o C:\Program Files\Arduino\libraries\Adafruit_SSD1306\Adafruit_SSD1306.cpp: In member function 'virtual void Adafruit_SSD1306::drawPixel(int16_t, int16_t, uint16_t)': C:\Program Files\Arduino\libraries\Adafruit_SSD1306\Adafruit_SSD1306.cpp:111: error: 'swap' was not declared in this scope C:\Program Files\Arduino\libraries\Adafruit_SSD1306\Adafruit_SSD1306.cpp: In member function 'virtual void Adafruit_SSD1306
-
Thread
SSD1309 STM32
#ifndef SSD1306_CS_Pin #define SSD1306_CS_Pin GPIO_PIN_7 #endif #ifndef SSD1306_DC_Port #define SSD1306_DC_Port GPIOA #endif #ifndef SSD1306_DC_Pin #define SSD1306_DC_Pin GPIO_PIN_0 #endif #ifndef SSD1306_Reset_Port #define SSD1306_Reset_Port GPIOA #endif #ifndef SSD1306_Reset_Pin #define SSD1306_Reset_Pin GPIO_PIN_8 #endif
-
Thread
Arduino / OLED lässt sich nicht einbinden
: > OLED Was für eines? 128 * 32 128 * 64 96 * 16 Je nachdem musst Du in der Adafruit_SSD1306.h das Define anpassen [c] -----------------------------------------------------------------------*/ // #define SSD1306_128_64 #define SSD1306_128_32 // #define SSD1306_96_16 /*
schon praktisch, wenn Du verwendete Teile aus dem Beispielcode https://github.com/adafruit/Adafruit_SSD1306/blob/master/examples/ssd1306_128x64_i2c/ssd1306_128x64_i2c.ino korrekt übernehmen würdest [c] #if (SSD1306_LCDHEIGHT != 64) #error("Height incorrect, please fix Adafruit_SSD1306.h!"); #
-
Thread
Kleine Frage zu TWI bzw. I²C Ansteuerung
[c] void ssd1306_command_start (void) { I2C_SetStart (SSD1306_SA); // Slave address I2C_WriteByte (0x00); // write command } void ssd1306_send_command (uint8_t command) { ssd1306_command_start
ssd1306_command_start (); > I2C_WriteByte (command); > I2C_SetStop (); > } > > void ssd1306_send_data_start (void) > { > I2C_SetStart (SSD1306_SA); // Slave address > I2C_WriteByte (0x40
-
Thread
SSD1305 mit STM32
Controller kompatibel ist mit dem SSD1306-Controller, und sich die beiden bloss minim unterscheiden. Allerdings erhalte ich mit der Library (https://github.com/afiskon/stm32-ssd1306/tree/master/ssd1306) bloss Pixelsalat. Weiss jemand
]/* SSD1306 settings */ /* SSD1306 width in pixels */ #ifndef SSD1306_WIDTH #define SSD1306_WIDTH 128 #endif /* SSD1306 LCD height in pixels */ #ifndef SSD1306_HEIGHT #define SSD1306_HEIGHT
-
Thread
STM32: 2x PWM mit Phasenversatz?
", &Font_7x10, 1); SSD1306_GotoXY (55,10); SSD1306_Puts (potiwert2, &Font_7x10, 1); SSD1306_GotoXY (5,20); SSD1306_Puts ("shift", &Font_7x10, 1); SSD1306_GotoXY (62,20); SSD1306_Puts (
("H1:", &Font_7x10, 1); SSD1306_GotoXY (30,41); SSD1306_Puts (sensorwert1, &Font_7x10, 1); SSD1306_GotoXY (70,41); SSD1306_Puts ("H2:", &Font_7x10, 1); SSD1306_GotoXY (95,41); SSD1306_Puts
-
Thread
MIt g++ statt cmake und make kompilieren
lass mal das -L bei -L lib/libSSD1306.a weg also nur g++ test_jp.cxx -o test_oled lib/libSSD1306.a -I /home/eagle/Downloads/libSSD1306-master/lib/ -std=c++11
l SSD1306 Probier das mal aus :)
-
Thread
STM32 Frequenzmessung im Capturemodus
TIM_CHANNEL_1); // 6) HAL_TIM_Base_Start_IT(&htim2); // 7) HAL_NVIC_EnableIRQ(TIM2_IRQn); ssd1306_Init(); ssd1306_Fill(Black); ssd1306_Rect(0,16,127,63, White); ssd1306_SetCursor(0,0); ssd1306_WriteString("Freq:", Font_7x10, White); ssd1306_UpdateScreen(); /* USER CODE END
(frq_str, "ov_cnt: %2d", overflow_cnt); ssd1306_SetCursor(20,45); ssd1306_WriteString(" ",Font_7x10,White); ssd1306_SetCursor(20,45); ssd1306_WriteString(frq_str,Font_7x10,White); ssd1306
-
Thread
CubeMX Update For Schleife plötzlich infinite loop?
; a++) { SSD1306Daten[a] = 0x00; } SSD1306Daten[0] = 0x40; //Datenstrom for (uint8_t b = 0; b < 9; b++) { SSD1306Command[0] = 0x80; //Single Command SSD1306Command[1] = SSD1306Zeile[b]; //Y HAL_I2C_Master_Transmit(&hi2c1,SSD1306Adresse[i],SSD1306Command,2,100); SSD1306Command[0] = 0x00; //Command Stream SSD1306Command[1] = 0x00; //X SSD1306Command[2] = SSD1306Spalte[0]; //Xlow HAL_I2C_Master_Transmit
-
Thread
OLED Grafik Anzeige
Hi >Wo finde ich das Datenblatt damit ich die Zeilen und Spalten ansteuern >kann? Gurgel: 'SSD1306 Datasheet' MfG Spess
herausgeführt, aber als Eingänge direkt am Folienleiter des Displays. Schau auch ins Datenblatt des SSD1306 fchk
-
Thread
OLed Farbdisplay 128x64 mit 6 Pins
Sieht aus wie monochrome oleds. SSD1306 Controller ist da der de-fakto Standard.
SSD1306 Datenblatt: https://cdn-shop.adafruit.com/datasheets/SSD1306.pdf > 8 FUNCTIONAL BLOCK DESCRIPTIONS 15 > 8.1 MCU INTERFACE SELECTION 15 > 8.1.1 MCU Parallel 6800-series Interface 15 > 8.1.2 MCU
-
Thread
STM32: Zeigerübergabe Problem
in der Reihenfolge: [c] //von hier: (Font ist 8x6px - das Disp schiebt Zeilenweise) void ssd1306_putc(char c){ uint8_t ch = c - 32; WriteLongBuffer(0x40,ssd1306_font6x8[ch * 6],6); } //über da: void WriteLongBuffer(uint8_t Command, uint8_t *aTxBuffer, uint16_t Size) { HAL_I2C_SSD_Transmit(&I2cHandle, SSD1306_SLAVE_ADDRESS,Command, (uint8_t*)aTxBuffer,Size, 35) } Bis hierhin: HAL_StatusTypeDef HAL_I2C_SSD_Transmit(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t Command
-
Thread
SH1106 Init-Sequenz
Oops sorry sh1106....hatte gewohnheitsmässig an SSD1306 gedacht
> Hmm, also eigentlich funktionieren die Dinger doch nur zufällig weil die > ähnlich genug zu den SSD1306 sind? Wenn ich mich recht entsinne (ist schon ein paar Tage her, dass ich die Lib für SSD1306 und SH1106 schrieb) unterscheiden sich SSD1306 und SH1106 nur dadurch, dass SSD1306 einen automatischen
-
Thread
C -> Zeichen aus Font suchen / rechnen?!
dauert das ja "ewig". Kannst du nicht direkt in den Pufferspeicher schreiben, anstatt den Umweg über Ssd1306DrawPixel() zu nehmen?
Font.uiWidht; } } [/c] Pixel verarbeiten und an richtige Stelle in den VRAM malen -> [c] void Ssd1306DrawPixel( int16_t x , int16_t y ) { DisplayRam[ y + ( x / 8 ) * SSD1306_LCD_Width ] |= ( 1 << ( x & 7 ) ); } [/c]
-
Thread
Wo ist in meiner Berechnung der Fehler?
if(!display.begin(SSD1306_SWITCHCAPVCC, SCREEN_ADDRESS)) { Serial.println(F("SSD1306 allocation failed")); for(;;); // Don't proceed, loop forever } } void updateDisplay() { display.clearDisplay()
, SCREEN_ADDRESS)) { Serial.println(F("SSD1306 allocation failed")); for(;;); // Don't proceed, loop forever } } void updateDisplay() { display.clearDisplay(); display.setTextSize(1); display.setTextColor(SSD1306_WHITE
-
Thread
Не получается скомпилировать проэкт WinAVR
articles/AVR_Transistortester но компиляция не происходит из за ошибки make.exe: *** [../Obj/mega328_ssd1306I2C/mega328_ssd1306I2C.elf] Error 1 кто может подсказать по этому поводу?
Wichtigste: aber die Kompilierung schlägt aufgrund eines Fehlers fehl make.exe: *** [../Obj/mega328_ssd1306I2C/mega328_ssd1306I2C.elf] Fehler 1 wer kann dazu etwas sagen? https://www.mikrocontroller.net/articles/AVR_Transistortester Ich kenne den nur mit 2 Zeilen LCD aber mit ssd1306 geht wohl auch
-
Thread
OLED-Störung: Defekt oder Programmierfehler?
(OLED_SSD1306_MEMORYMODE); oled_command(0x00); // horizontal addressing mode oled_command(OLED_SSD1306_SEGREMAP | 0x1); oled_command(OLED_SSD1306
(0xCF); #endif oled_command(OLED_SSD1306_DISPLAYALLON_RAM); oled_command(OLED_SSD1306_NORMALDISPLAY); oled_command(OLED_SSD1306_SETDISPLAYCLOCKDIV); oled_command(0x80);
-
Thread
OLED I2C Display fehlerhaft ?
reset 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
display.setTextSize(1); display.setTextColor(SSD1306_WHITE); display.setCursor(0, 0); display.println("Hallo Welt"); display.display(); } [/c]
-
Thread
STM32 F103 - I2C Probleme
folgendes schreiben: case U8G_COM_MSG_WRITE_BYTE: { hal_status = HAL_I2C_Mem_Write(&hSSD1306_I2C, SSD1306_I2C_ADDRESS, control, 1, &arg_val, 1, SSD1306_I2C_TIMEOUT); } break; case U8G_COM_MSG_WRITE_SEQ: case U8G_COM_MSG_WRITE_SEQ_P: { hal_status = HAL_I2C_Mem_Write(&hSSD1306_I2C, SSD1306_I2C_ADDRESS, control, 1, arg_ptr, arg_val, SSD1306_I2C_TIMEOUT); } break; Funktioniert bei mir wunderbar. Sorry für die Formatierung :-)
-
Thread
OLED LCD Displays mit 4 pin u. 7 pin
//wiki.sunfounder.cc/index.php?title=OLED-SSD1306_Module
Jack V. schrieb im Beitrag #6864395: > die SSD1306-Teile werden alle gleich angesprochen Aber nicht jedes Modul läuft mit dem SSD1306. Es gibt auch welche mit SSD1309. Die unterscheiden sich allerdings nur ein wenig in der Konfigurierung des
-
Thread
Super Mini ESP32-C3 Board
Verkaufsfirmen ein beispiel für das Problem veröffentlicht. keiner bietet ein beispiel esp32c3 risc-v und ssd1306 ohne extra hardware an beschriebe probleme mit dem prozessor und der i2c gibt es zu haufe in den foren , ohne echte lösung
iTimeDisplay = 0; unsigned int iBlink = 1000; float fUin=44.4, fIout=5.3, fUout=28.6; #include "SSD1306Wire.h" // legacy include: `#include "SSD1306.h"` // custom fonts: http://oleddisplay.squix.ch #include "Dialog_plain_32.h" // Initialize the OLED display using Wire library SSD1306Wire display
-
Thread
10x mehr Speicherbelegung bei Array von main in Funktion verschieben
Arrays rüber und mein aktueller µC hat nur 32 KB Flash... Hier der code extrem gekürzt: [code] //ssd1306display.h #ifndef SSD1306DISPLAY_H_ #define SSD1306DISPLAY_H_ #include <stdio.h> void schrift1Zeichenkodierung(); #endif /* SSD1306DISPLAY_H_ */ [/code] [code] //schrift1Zeichenkodierung.c
Umrechnung für Übertragung per I2C for (uint32_t a = 0; a < I2ClengthText; a++) //Anzahl Zeichen { SSD1306ZeichenSend[a] = SSD1306Buffer[a]-32; for (uint32_t i = 1; i < 6; i++) I2CDaten1[a*6+i+1] = Zeichen[SSD1306ZeichenSend[a]][i-1]; //a=Zeichenanzahl, 6=Pixelanzahl, i=Pixel, 1=wegen"Datenstrom
-
Thread
C Fehler: Vergleich von Const mit bool immer falsch
Weil (px1 || px2) ein boolescher Ausdruck ist. Du willst: if (px1 > (SSD1306_LCDWIDTH-1)) || (px2 > (SSD1306_LCDWIDTH-1)) || ...
Versuch mal [c] void drawRect(uint8_t px1, uint8_t py1, uint8_t px2, uint8_t py2) { if( (px1 > SSD1306_LCDWIDTH-1) || (px2 > SSD1306_LCDWIDTH-1) || (py1 > SSD1306_LCDHEIGHT-1)|| (py2 > SSD1306_LCDHEIGHT-1) ) return; //.... } [\c]
-
Thread
oledssd1306 mit OLED-DISPLAY-MASTER zum Laufen bringen
Wenn man dann make eintippt kommt aber ein Fehler: [c] main.c:4:21: Schwerwiegender Fehler: ssd1306.h: Datei oder Verzeichnis nicht gefunden Kompilierung beendet. [/c] Kommt also aus der main.c: #include "ssd1306.h" Ich verstehe nicht wo diese ssd1306.h liegen soll. Sollte die nicht
fehlerhaften Zeichen geschrieben.. Hast du auch den Controller-Typ angepasst? Die Library ist für SSD1306-Displays und für SH1106 Displays. Beim falschen Controller bekommt man auch falsche Zeichen/Pixel gezeichnet. Das Beispiel auf github ist auf SH1106-Displays eingestellt, das musst du auf SSD1306
-
Thread
Erfahrung mit diesem schickem OLED?
jemand mit diesem oder ähnlichem Display Erfahrung gemacht? > Ist wahrscheinlich wie so häufig ein SSD1306 drauf nehme ich an. Gute Erfahrung, die SSD1306, SSD1305T7 sind angenehme Treiber. > Im Speziellen interessieren mich die folgenden Fragen: > Wie viel zieht das Display im Betrieb? Kein Plan
Frank The Tank schrieb im Beitrag #4107202: > Gute Erfahrung, die SSD1306, SSD1305T7 sind angenehme Treiber. > [...] > anzeige in Gerät wo kein Performance(HD Videos) sein soll, ist mehr als > ausreichend. Super, danke für die Infos und Ermutigung. Ich habs daraufhin
-
Thread
Programmstruktur
Tips. [c] #include <Arduino.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 Adafruit_SSD1306 oled(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1); // create
setup() { // put your setup code here, to run once: Serial.begin(9600); if (!oled.begin(SSD1306_SWITCHCAPVCC, 0x3C)) { // initialize OLED display with address 0x3C for 128x64 Serial.println(F("SSD1306 allocation failed")); while (true); } delay(2000); //
-
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 ü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?
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