funktioniert super! Ich habe aber noch eine Frage, u.z.wie kommst du zu dieser Zeile: [code] .db SSD1306_CMD_SET_DISPLAY_START_LINE, SSD1306_CMD_DISPLAY_TEST_OFF [/code] Außerdem bin ich dabei ein 0,66" (64x48) OLED anzusteuern. Mir gelingt es dabei nicht die Displaygröße mit [code] .db SSD1306
sind alle im Datenblatt beschrieben. SSD1306_CMD_SET_DISPLAY_START_LINE setzt den Anfang der RAM-Adresse für das Display. SSD1306_CMD_DISPLAY_TEST_OFF schaltet den Testmodus aus und den Normalmodus ein. > Außerdem bin ich dabei ein 0,66
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.
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
include <Arduino.h> #include <ESP8266WiFi.h> #include <WiFiUDP.h> #include <Wire.h> #include <Adafruit_SSD1306.h> // Name and password of the WLAN access point #define SSID "dummy_wlan_box" #define PASSWORD "dummy_password" // The ESP-12 has a blue LED on GPIO2 #define LED 2 String newHostname = "ESP8266NodeMCU
example code is in the public domain. */ #include <Wire.h> #include <Adafruit_GFX.h> #include <Adafruit_SSD1306.h> #define SCREEN_WIDTH 128 // Breite in Pixel #define SCREEN_HEIGHT 64 // Höhe in Pixel // OLED Display Instanz erstellen (I2C) // Reset Pin wird hier nicht benötigt, daher -1 Adafruit_SSD1306
example code is in the public domain. */ #include <Wire.h> #include <Adafruit_GFX.h> #include <Adafruit_SSD1306.h> #define SCREEN_WIDTH 128 // Breite in Pixel #define SCREEN_HEIGHT 64 // Höhe in Pixel // OLED Display Instanz erstellen (I2C) // Reset Pin wird hier nicht benötigt, daher -1 Adafruit_SSD1306
example code is in the public domain. */ #include <Wire.h> #include <Adafruit_GFX.h> #include <Adafruit_SSD1306.h> #define SCREEN_WIDTH 128 // Breite in Pixel #define SCREEN_HEIGHT 64 // Höhe in Pixel // OLED Display Instanz erstellen (I2C) // Reset Pin wird hier nicht benötigt, daher -1 Adafruit_SSD1306
ein sehr ähnliches Projekt (bei mir ging es um einen Ölstandstemperatursensor) einen ESP32 und ein SSD1306 display genutzt... schreib mich gerne mal an.... oder kommentier meine Antwort... ich werde mal hier ins forum mein GithubProjekt laden
Tobias L. schrieb im Beitrag #8044667: > für ein sehr ähnliches Projekt > ... ein SSD1306 display genutzt Davon kann icht outdoor nur dringend abraten.
Annahmen • Ein SSD1306 OLED-Display mit 128x64 Pixel, Ansteuerung per I2C (7-Bit-Adresse meist 0x3C). • Es existieren I2C-Routinen (Start, Write Byte, Stop). • Der AVR-Assembler ist für einen gängigen AVR wie Atmega328P. • 8-Bit-, Registerorientierter Code. Beispiel: Initialisierung der SSD1306 per I2C in AVR- Assembler 1. I2C Basisroutinen (sehr rudimentär/skizzenhaft) /* • i2c_start: • o startet I2C-Kommunikation • i2c_write_byte: • o schreibt ein Byte • i2c_stop: • o stoppt I2C-Kommunikation
Linux-Treibers dann die entsprechenden Informationen gewinnen. Mein erstes Display-Experiment war das SSD1306-OLED und das ist ja auch günstig und hübsch, aber halt arg klein. Mit der Bibliothek hatte ich keine Probleme.
nicht testen. Gunnar F. schrieb im Beitrag #7951377: > Mein erstes Display-Experiment war das SSD1306-OLED und das ist ja auch > günstig und hübsch, aber halt arg klein. Mit der Bibliothek hatte ich > keine Probleme. Die Displays habe ich natürlich auch, aber für die Spiele ungeeignet, da sie
-------------------------- oled_demo.c Minimalprogramm fuer Textausgabe auf einem OLED-Display mit SSD1306 oder SSD1315 Display Damit das Programm grundsaetzlich mit jedem Mikrocontroller laufen soll, wurde I2C mittels Bitbanging realisiert, auch wenn hier ein direktes compilieren nur fuer einen AVR-Controller
Befehl in einen Ruhezustand? Hallo Nepomuk, guter Punkt, ich hab gerade mal nachgeschaut. Das SSD1306 brauch <5uA im Sleep Mode. Du hast absolut recht, da muss ich nix schalten, bei den 6Ah Akku hat das kaum einen Einfluss auf die Laufzeit. Ich hatte übersehen, dass die Ladungspumpen im Sleep ausgeschaltet
I2C drin und beißen sich nicht. #include <Wire.h> #include <Adafruit_GFX.h> #include <Adafruit_SSD1306.h> #include <TinyGPSPlus.h> #include <SoftwareSerial.h> Der TO hat hardware.serial. Man nehme einmal testweise softwareserial. Vielleicht ist das die Lösung für sein Problem. ciao gustav
Textausgaben und Cursorpositionierung bei Terminalausgaben - v003_oled (Klasse für i2c-OLED mit SSD1306 / SSD1315 Controller) - hx1838 (Infrarotempfänger, keine eigene Klasse, weil Benutzung Timer2 - und auch Timerinterruptbehandlung ist im Core unvollständig) usgaben und textcursorpositionierung
Lötbrücken um die Adresse einstellbar zu machen, so ist eine geänderte Adresse hier anzugeben. #define ssd1306_addr 0x78 // I2C-Adresse Display 29 Schriftstile / Fonts In der Quelldatei sind 2 Arrays enthalten, die die Bitmaps für die entsprechenden Ascii-Zeichen in der Größe 5*7 Pixel und 8*8 Pixel beinhalten