
Innehållsförteckning:
2025 Författare: John Day | [email protected]. Senast ändrad: 2025-01-23 15:11

Hallå, hier möchte ich Euch zeigen wie Ihr das mit auf der Hauptplatine verbaute OLED Display benutzen/ansteuern könnt. Om det bara är möjligt att använda, kan du använda ARDUINO GUI för schreiben des CODEs och zum hochladen der Firmware.
Steg 1: Einstellen / Einrichten Der ARDUINO GUI




Als erstes muss das ESP8266 Board in der ARDUINO GUI tillgängliga gemacht werden werden.
Dazu gehen wir in die Einstellungen (Datei Einstellungen / Bild 1) der GUI und tragen unter
"Zusätzliche Boardverwalter-URLs:"
ein (Bild 2). Damit bekommen wir den benötigten Zugang zu dem passenden Boardtreiber.
Jetzt können wir den Passenden Boardtreiber installieren
(Werkzeuge Board: Boardverwaltung / Bild 3)
- Dort im Suchfeld "esp8266" eintragen
- Dann "esp8266 by ESP8266 Community" uteslutande och aktuell version Version (Bild 4)
- Die ARDUINO GUI kan inte startas
- Danach das passende Board auswählen (z. B.: WeMos D1 R2 & mini)
Steg 2: I2C Schnittstelle Scannen


Om du vill se en PIN-kod för OLED-display kan du enkelt skanna I2C-Schnittstelle. Så können wir auch sehen ob noch weitere I2C-Parts angeschlossen sind.
Den Sketch (Bild 1) auf den ESP Hochladen, den "Seriellen-Monitor" öffnen och auf die Ausgabe warten. Dort könnt Ihr dann sehen, welches Device wo gefunden wurde. (Bild 2 - DigitalPIN Scan)
Das Ergebnis merken.
I diesem Fall: SDA = D1: SCL = D2 på Adresse 0x3c
Steg 3: Demo-Sketch Anpassen Und Auf Den ESP Hochladen
Das ist der Code für das OLED-Display DEMO
Im 5. Abschnitt findet Ihr die Stelle an der der Code ggf. modifiziert werden muss.
Även die Konfiguration für die I2C-Schnittstelle.
Aus diesem Code könnt Ihr euch auch viele Infos über die Benutzung eines OLEDs possible.
/** * MIT -licensen (MIT) * * Upphovsrätt (c) 2016 av Daniel Eichhorn * * Tillstånd beviljas härmed kostnadsfritt till alla som erhåller en kopia * av denna programvara och tillhörande dokumentationsfiler ("programvaran")), att handla * i Programvaran utan begränsning, inklusive utan begränsning rättigheterna * att använda, kopiera, modifiera, slå samman, publicera, distribuera, underlicensiera och/eller sälja * kopior av Programvaran och att tillåta personer till vilka Programvaran är * förberedd för att göra detta, med förbehåll för följande villkor: * * Ovanstående upphovsrättsmeddelande och detta tillståndsmeddelande ska inkluderas i alla * kopior eller väsentliga delar av programvaran. * * PROGRAMVARAN TILLHANDAHÅLLS "SOM DEN ÄR", UTAN GARANTI AV NÅGON SOM UTTRYCKT ELLER UNDERFÖRSTÅT, INKLUSIVE MEN INTE BEGRÄNSADE TILL GARANTIER FÖR SÄLJABILITET, * KRAV FÖR ETT SÄRSKILT SYFTE OCH INTE FRÅN. INGEN HÄNDELSER SKA * FÖRFATTARNA ELLER UPPHOVSRÄTTIGHETERNA ANSVARLIGA FÖR NÅGOT ANSVAR, SKADOR ELLER ANNAN * ANSVAR, VAD SOM INNEHÅLLER AV KONTRAKT, TORT ELLER ANNAN, FRÅN, * UTAN ELLER ANSLUTNING MED PROGRAMVARAN ELLER ANNAN HANDLINGAR I * PROGRAMVARAN. * *
/ Inkludera rätt bildskärmsbibliotek
// För en anslutning via I2C med Wire inkluderar #include // för I2C Wire #include "SSD1306.h" // alias för `#include" SSD1306Wire.h "`
// Inkludera anpassade bilder
#inkludera "images.h"
// Initiera OLED -skärmen med brzo_i2c
// D3 -> SDA // D5 -> SCL // SSD1306 display (0x3c, D1, D2); eller SSD1306 -skärm (0x3c, 5, 4); eller SSD1306 -skärm (0x3c, GPIO5, GPIO4);
**************************************************************************************************
An der folgenden Stelle werden dann the PINs for the I2C Schnittstelle konfiguriert
// Initiera OLED -skärmen med hjälp av Wire -biblioteket
SSD1306 -skärm (0x3c, D1, D2);
***************************************************************************************************
#define DEMO_DURATION 3000
typedef void (*Demo) (void);
int demoMode = 0;
int räknare = 1;
void setup () {
Serial.begin (9600); Serial.println ("OLED_DEMO"); Serial.println ("Starta DEMO");
// Initialisering av användargränssnittet initierar också skärmen.
display.init ();
display.flipScreenVertically ();
display.setFont (ArialMT_Plain_10);
}
void drawFontFaceDemo () {
// Font Demo1 Serial.println ("Font DEMO 1"); // skapa fler teckensnitt på https://oleddisplay.squix.ch/ display.setTextAlignment (TEXT_ALIGN_LEFT); display.setFont (ArialMT_Plain_10); display.drawString (0, 0, "ProMoScout"); display.setFont (ArialMT_Plain_16); display.drawString (0, 10, "ProMoScout"); display.setFont (ArialMT_Plain_24); display.drawString (0, 26, "ProMoScout"); }
void drawTextFlowDemo () {
Serial.println ("drawTextFlowDemo"); display.setFont (ArialMT_Plain_10); display.setTextAlignment (TEXT_ALIGN_LEFT); display.drawStringMaxWidth (0, 0, 128, "Robotar är / n Framtiden och framtiden är nu. Men glöm inte naturen"); }
void drawTextAlignmentDemo () {
Serial.println ("drawTextAlignmentDemo"); // Textjustering demo display.setFont (ArialMT_Plain_10); // Schriftart und -größe einstellen
// Koordinaterna definierar textens vänstra startpunkt
display.setTextAlignment (TEXT_ALIGN_LEFT); // Text_Ausrichtung einstellen display.drawString (0, 10, "Vänsterjusterad (0, 10)");
// Koordinaterna definierar mitten av texten
display.setTextAlignment (TEXT_ALIGN_CENTER); display.drawString (64, 22, "Centrerad (64, 22)");
// Koordinaterna definierar den högra änden av texten
display.setTextAlignment (TEXT_ALIGN_RIGHT); display.drawString (128, 33, "Högerjusterad (128, 33)"); }
void drawRectDemo () {
Serial.println ("drawRectDemo"); // Rita en pixel vid given position för (int i = 0; i <10; i ++) {display.setPixel (i, i); display.setPixel (10 - i, i); } display.drawRect (12, 12, 20, 20);
// Fyll rektangeln
display.fillRect (14, 14, 17, 17);
// Rita en linje horisontellt
display.drawHorizontalLine (0, 40, 20);
// Rita en linje horisontellt
display.drawVerticalLine (40, 0, 20); }
void drawCircleDemo () {
Serial.println ("drawCircleDemo"); för (int i = 1; i <8; i ++) {display.setColor (WHITE); display.drawCircle (32, 32, i*3); if (i % 2 == 0) {display.setColor (SVART); } display.fillCircle (96, 32, 32 - i* 3); }}
void drawProgressBarDemo () {
Serial.println ("drawProgressBarDemo"); int framsteg = (räknare / 5) % 100; // rita framstegsfältet display.drawProgressBar (0, 32, 120, 10, progress);
// rita procenten som sträng
display.setTextAlignment (TEXT_ALIGN_CENTER); display.drawString (64, 15, String (progress) + "%"); }
Följande länk med kommentarer kan vara en bild eller logotyp så att vi kan använda dem för att visa att de kan bli …
void drawImageDemo () {
Serial.println ("drawImageDemo"); // se https://blog.squix.org/2015/05/esp8266-nodemcu-how… // om hur man skapar xbm-filer display.drawXbm (34, 0, Logo_width, Logo_height, Logo_bits); }
Demo demos = {drawFontFaceDemo, drawTextFlowDemo, drawTextAlignmentDemo, drawRectDemo, drawCircleDemo, drawProgressBarDemo, drawImageDemo};
int demoLength = (sizeof (demos) / sizeof (Demo)); long timeSinceLastModeSwitch = 0;
void loop () {
// rensa displayen display.clear (); // rita den nuvarande demometoden demos [demoMode] ();
display.setTextAlignment (TEXT_ALIGN_RIGHT);
display.drawString (10, 128, String (millis ())); // skriva bufferten till displayen display.display ();
if (millis () - timeSinceLastModeSwitch> DEMO_DURATION) {
demoMode = (demoMode + 1) % demoLength; timeSinceLastModeSwitch = millis (); } räknare ++; fördröjning (10); }
Steg 4: Tools, Links Und Herkunft/Literaturhinweis
Ich möchte mich bei allen bedanken die an dem ein or others Code with gewirkt haben.
Die Grundlagen für diese Anleitung habe ich gefunden unter:
www.instructables.com/id/ESP8266-I2C-PORT-…
github.com/ThingPulse/esp8266-oled-ssd1306…
Viele Grüße
McUtty
Rekommenderad:
Skriva till en OLED -skärm via Bluetooth: 6 steg

Skriva till en OLED -skärm via Bluetooth: Detta projekt är inspirerat och en remix av Arduino LCD -skärmkontroll via BluetoothIntroduktion: I det här projektet kommer vi att göra en " Bluetooth OLED. &Quot; Vad vi gör i denna design är att ansluta en Arduino till en OLED och en Bluetooth -modul
Dra och visa data från vilken webbplats som helst via wifi (norrskenindikator) med NodeMcu: 6 steg

Dra och visa data från vilken webbplats som helst via wifi (norrskenindikator) med NodeMcu: Min motivation: Jag har sett MASSOR av instruktioner om hur man konfigurerar/ använder en NodeMCU (byggd på ESP8266 -modulen) för att göra IoT -projekt (sakernas internet) . Men väldigt få av dessa självstudier hade alla detaljer/ kod/ diagram för en mycket nybörjare
Visa text på OLED via Internet: 9 steg

Visa text på OLED via Internet: Hej och välkommen, den här korta självstudien lär dig att visa text på en Magicbit med hjälp av Magicblocks. Det finns två huvudmetoder för att uppnå detta mål; Genom att använda Inject Block. Genom att använda Dashboard. Först och främst logga in på din Magicb
ESP8266 - Trädbevattning med timer och fjärrkontroll via Internet / ESP8266: 7 steg (med bilder)

ESP8266 - Trädbevattning med timer och fjärrkontroll Via Internet / ESP8266: ESP8266 - Bevattning fjärrstyrd och med tidtagning för grönsaksodlingar, blomsterodlingar och gräsmattor. Den använder kretsen ESP-8266 och en hydraulisk / elektrisk ventil för matning av bevattningsmedel. Fördelar: Låg kostnad (~ 30,00 US $) snabbåtkomst Kommandon över
Neopixel Wifi -kontroll via NodeMCU: 3 steg

Neopixel Wifi -kontroll via NodeMCU: Borta är de tider då du ville styra RGB -lysdioder som du var tvungen att hantera en uppsjö av ledningar, att lossa dem igen och igen kan vara irriterande. Med Neopixel har du möjlighet att driva lysdioden med två ledningar och bara en tråd, vilket är Dat