Indholdsfortegnelse:

HowTo - Esp -12F Mini WiFi -modul ESP8266 18650 Nodemcu -batteri 0,96”OLED DEMO Via Arduino GUI: 4 trin
HowTo - Esp -12F Mini WiFi -modul ESP8266 18650 Nodemcu -batteri 0,96”OLED DEMO Via Arduino GUI: 4 trin

Video: HowTo - Esp -12F Mini WiFi -modul ESP8266 18650 Nodemcu -batteri 0,96”OLED DEMO Via Arduino GUI: 4 trin

Video: HowTo - Esp -12F Mini WiFi -modul ESP8266 18650 Nodemcu -batteri 0,96”OLED DEMO Via Arduino GUI: 4 trin
Video: Pantalla OLED 0.91" con Nodemcu ESP8266 2024, Juli
Anonim
HowTo - Esp -12F Mini WiFi -modul ESP8266 18650 Nodemcu -batteri 0,96”OLED DEMO Via Arduino GUI
HowTo - Esp -12F Mini WiFi -modul ESP8266 18650 Nodemcu -batteri 0,96”OLED DEMO Via Arduino GUI

Hej, hier möchte ich Euch zeigen wie Ihr das mit auf der Hauptplatine verbaute OLED Display benutzen/ansteuern könnt. Um es möglichst einfach zu halten, benutze ich die ARDUINO GUI zum schreiben des CODEs und zum hochladen der Firmware.

Trin 1: Einstellen / Einrichten Der ARDUINO GUI

Einstellen / Einrichten Der ARDUINO GUI
Einstellen / Einrichten Der ARDUINO GUI
Einstellen / Einrichten Der ARDUINO GUI
Einstellen / Einrichten Der ARDUINO GUI
Einstellen / Einrichten Der ARDUINO GUI
Einstellen / Einrichten Der ARDUINO GUI
Einstellen / Einrichten Der ARDUINO GUI
Einstellen / Einrichten Der ARDUINO GUI

Som erstes muss das ESP8266 Board in der ARDUINO GUI tilgængelig gemacht werden.

Dazu gehen wir in die Einstellungen (Datei Einstellungen / Bild 1) der GUI und tragen unter

"Zusätzliche Boardverwalter-URL'er:"

ein (billede 2). Damit bekommen wir den benötigten Zugang zu dem passenden Boardtreiber.

Jetzt können wir the Passenden Boardtreiber installieren

(Werkzeuge Board: Boardverwaltung / Bild 3)

  • Dort im Suchfeld "esp8266" eintragen
  • Dann "esp8266 by ESP8266 Community" udbydes og opdateres den aktuelle version (billede 4)
  • Die ARDUINO GUI kan ikke startes
  • Danach das passende Board auswählen (z. B.: WeMos D1 R2 & mini)

Trin 2: I2C Schnittstelle Scannen

I2C Schnittstelle Scannen
I2C Schnittstelle Scannen
I2C Schnittstelle Scannen
I2C Schnittstelle Scannen

Vi kan også se, at PIN-koder for OLED-display angeschlossen bliver, og vi kan scanne I2C-Schnittstelle. Så kan vi også se, at jeg kan se, at I2C-Parts angeschlossen sind.

Den Sketch (Bild 1) auf den ESP Hochladen, den "Seriellen-Monitor" öffnen und auf die Ausgabe warten. Dort könnt Ihr dann sehen, welches Device wo gefunden wurde. (Billede 2 - DigitalPIN Scan)

Das Ergebnis mærker.

I diesem Fall: SDA = D1: SCL = D2 på Adresse 0x3c

Trin 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.

Også die Konfiguration für die I2C-Schnittstelle.

Aus diesem Code konnt Ihr euch auch viele Infos über die Benutzung eines OLEDs ableiten.

/** * MIT -licensen (MIT) * * Copyright (c) 2016 af Daniel Eichhorn * * Tilladelse gives hermed gratis til enhver person, der får en kopi * af denne software og tilhørende dokumentationsfiler ("Softwaren")), til at handle * i Softwaren uden begrænsning, herunder uden begrænsning rettighederne * til at bruge, kopiere, ændre, flette, offentliggøre, distribuere, underlicensere og/eller sælge * kopier af Softwaren og at tillade personer, som Softwaren er til, til er * indrettet til at gøre dette på følgende betingelser: * * Ovenstående ophavsretlig meddelelse og denne tilladelsesmeddelelse skal inkluderes i alle * kopier eller væsentlige dele af softwaren. * * SOFTWAREN LEVERES "SOM DEN ER" UDEN GARANTI AF NOGEN Slag, UDTRYKKELIG ELLER UNDERFORSTÅET, INKLUDERENDE, MEN IKKE BEGRÆNSET TIL GARANTIER FOR SALGBARHED, * ANSIGTIGHED TIL ET SÆRLIGT FORMÅL OG IKKE. INGEN BEGIVENHED SKAL * FORFATTERNE ELLER OPHAVSRETSHAVERNE ANSVARLIGE FOR ethvert krav, skader eller andet * ansvar, hvad enten der er tale om en kontrakt, tort eller andet, der stammer fra, * UDEN ELLER FORBINDELSE MED SOFTWAREN ELLER ANVENDELSE ELLER ANVENDELSE HANDLINGER I * SOFTWAREN. * *

/ Inkluder det korrekte displaybibliotek

// For en forbindelse via I2C ved hjælp af Wire skal du inkludere #include // for I2C Wire #include "SSD1306.h" // alias for `#include" SSD1306Wire.h "`

// Inkluder tilpassede billeder

#include "images.h"

// Initialiser OLED -skærmen ved hjælp af 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

// Initialiser OLED -skærmen ved hjælp af Wire -bibliotek

SSD1306 -skærm (0x3c, D1, D2);

***************************************************************************************************

#define DEMO_DURATION 3000

typedef void (*Demo) (void);

int demoMode = 0;

int tæller = 1;

ugyldig opsætning () {

Serial.begin (9600); Serial.println ("OLED_DEMO"); Serial.println ("Start DEMO");

// Initialisering af brugergrænsefladen initierer også skærmen.

display.init ();

display.flipScreenVertically ();

display.setFont (ArialMT_Plain_10);

}

void drawFontFaceDemo () {

// Font Demo1 Serial.println ("Font DEMO 1"); // opret flere skrifttyper 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, "Robotter er / n fremtiden, og fremtiden er nu. Men glem ikke naturen"); }

void drawTextAlignmentDemo () {

Serial.println ("drawTextAlignmentDemo"); // Tekstjustering demo display.setFont (ArialMT_Plain_10); // Schriftart und -größe einstellen

// Koordinaterne definerer tekstens venstre startpunkt

display.setTextAlignment (TEXT_ALIGN_LEFT); // Text_Ausrichtung einstellen display.drawString (0, 10, "Venstrejusteret (0, 10)");

// Koordinaterne definerer midten af teksten

display.setTextAlignment (TEXT_ALIGN_CENTER); display.drawString (64, 22, "Midtjusteret (64, 22)");

// Koordinaterne definerer den højre ende af teksten

display.setTextAlignment (TEXT_ALIGN_RIGHT); display.drawString (128, 33, "Højrejusteret (128, 33)"); }

void drawRectDemo () {

Serial.println ("drawRectDemo"); // Tegn en pixel på den givne position for (int i = 0; i <10; i ++) {display.setPixel (i, i); display.setPixel (10 - i, i); } display.drawRect (12, 12, 20, 20);

// Fyld rektanglet

display.fillRect (14, 14, 17, 17);

// Tegn en streg vandret

display.drawHorizontalLine (0, 40, 20);

// Tegn en streg vandret

display.drawVerticalLine (40, 0, 20); }

void drawCircleDemo () {

Serial.println ("drawCircleDemo"); for (int i = 1; i <8; i ++) {display.setColor (WHITE); display.drawCircle (32, 32, i*3); hvis (i % 2 == 0) {display.setColor (SORT); } display.fillCircle (96, 32, 32 - i* 3); }}

void drawProgressBarDemo () {

Serial.println ("drawProgressBarDemo"); int fremgang = (tæller / 5) % 100; // tegne statuslinjen display.drawProgressBar (0, 32, 120, 10, fremskridt);

// træk procentdelen som streng

display.setTextAlignment (TEXT_ALIGN_CENTER); display.drawString (64, 15, String (fremgang) + "%"); }

Der følger link i kommentarer kan hjælpe et billede eller logo, så det kan bruges til visning af anvisninger …

void drawImageDemo () {

Serial.println ("drawImageDemo"); // se https://blog.squix.org/2015/05/esp8266-nodemcu-how… // om hvordan man opretter xbm-filer display.drawXbm (34, 0, Logo_width, Logo_height, Logo_bits); }

Demo demoer = {drawFontFaceDemo, drawTextFlowDemo, drawTextAlignmentDemo, drawRectDemo, drawCircleDemo, drawProgressBarDemo, drawImageDemo};

int demoLength = (sizeof (demos) / sizeof (Demo)); long timeSinceLastModeSwitch = 0;

void loop () {

// ryd displayet display.clear (); // tegne den aktuelle demometode demoer [demoMode] ();

display.setTextAlignment (TEXT_ALIGN_RIGHT);

display.drawString (10, 128, String (millis ())); // skriv bufferen til displayet display.display ();

if (millis () - timeSinceLastModeSwitch> DEMO_DURATION) {

demoMode = (demoMode + 1) % demoLength; timeSinceLastModeSwitch = millis (); } tæller ++; forsinkelse (10); }

Trin 4: Værktøjer, 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

Anbefalede: