Innholdsfortegnelse:

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

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

Video: HowTo - Esp -12F Mini WiFi -modul ESP8266 18650 Nodemcu -batteri 0,96”OLED DEMO Via Arduino GUI: 4 trinn
Video: ESP8266 OLED IGATE 2.1 Test1 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

Hallo, 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 och zum hochladen der Firmware.

Trinn 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

Als erstes muss das ESP8266 Board in der ARDUINO GUI tilgjengelig gemacht werden.

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

"Zusätzliche Boardverwalter-URLs:"

ein (Bilde 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" utgave og den aktuelle versjonen installere (Bilde 4)
  • Die ARDUINO GUI starter nå
  • Danach das passende Board auswählen (z. B.: WeMos D1 R2 & mini)

Trinn 2: I2C Schnittstelle Scannen

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

For å se og koble PIN-koder for OLED-display angeschlossen blir, kan jeg ikke skanne I2C-Schnittstelle. Så vi kan også se at jeg kan se I2C-Parts angeschlossen sind.

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

Das Ergebnis merken.

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

Trinn 3: Demo-Sketch Anpassen Und Auf Den ESP Hochladen

Das ist der Code for das OLED-Display DEMO

Im 5. Abschnitt findet Ihr die Stelle an der der Code ggf. modifiziert werden muss.

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

Denne koden kan også brukes for å informere oss om bruk av OLED -er.

/** * MIT -lisensen (MIT) * * Copyright (c) 2016 av Daniel Eichhorn * * Tillatelse gis herved gratis til enhver person som får kopi * av denne programvaren og tilhørende dokumentasjonsfiler ("programvaren"), for å handle * i Programvaren uten begrensning, inkludert uten begrensning rettighetene * til å bruke, kopiere, modifisere, slå sammen, publisere, distribuere, underlisensiere og/eller selge * kopier av Programvaren, og tillate personer som Programvaren er tillatt til er * utstyrt for å gjøre dette, underlagt følgende betingelser: * * Ovennevnte opphavsrettsvarsel og denne tillatelsesvarsel skal inkluderes i alle * kopier eller vesentlige deler av programvaren. * * PROGRAMVAREN GJØRES "SOM DEN ER" UTEN GARANTI AV NOE SLAG, UTTRYKKELIG ELLER UNDERFORSTÅET, INKLUDERT, MEN IKKE BEGRENSET TIL GARANTIENE FOR SALGSHÅLLIGHET, * EGNETHET FOR ET BESKRIVELIGT FORMÅL OG IKKE Krenkelse. INGEN HENDELSE SKAL * FORFATTERNE ELLER OPPHAVSRETTIGHETERNE ANSVARLIG FOR KRAV, SKADER ELLER ANDRE * ANSVAR, OGSÅ I HANDLING AV KONTRAKT, TORT ELLER ANDRE, VED FRA, * UTEN ELLER ANSLUTTET MED PROGRAMVAREN ELLER ANNEN BRUK HANDLINGER I * PROGRAMVAREN. * *

/ Inkluder det riktige visningsbiblioteket

// For en tilkobling via I2C ved bruk av Wire inkluderer #include // for I2C Wire #include "SSD1306.h" // alias for `#include" SSD1306Wire.h "`

// Inkluder egendefinerte bilder

#include "images.h"

// Initialiser OLED -skjermen med brzo_i2c

// D3 -> SDA // D5 -> SCL // SSD1306 -skjerm (0x3c, D1, D2); eller SSD1306 -skjerm (0x3c, 5, 4); eller SSD1306 -skjerm (0x3c, GPIO5, GPIO4);

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

An der folgenden Stelle werden dann the PINs for the I2C Schnittstelle konfiguriert

// Initialiser OLED -skjermen ved hjelp av Wire -bibliotek

SSD1306 -skjerm (0x3c, D1, D2);

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

#define DEMO_DURATION 3000

typedef void (*Demo) (void);

int demoMode = 0;

int teller = 1;

ugyldig oppsett () {

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

// Initialisering av brukergrensesnittet vil også starte skjermen.

display.init ();

display.flipScreenVertically ();

display.setFont (ArialMT_Plain_10);

}

void drawFontFaceDemo () {

// Font Demo1 Serial.println ("Font DEMO 1"); // lag flere fonter 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, "Roboter er / n fremtiden, og fremtiden, er nå. Men ikke glem naturen"); }

void drawTextAlignmentDemo () {

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

// Koordinatene definerer venstre startpunkt for teksten

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

// Koordinatene definerer midten av teksten

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

// Koordinatene definerer høyre ende av teksten

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

void drawRectDemo () {

Serial.println ("drawRectDemo"); // Tegn en piksel ved gitt posisjon for (int i = 0; i <10; i ++) {display.setPixel (i, i); display.setPixel (10 - i, i); } display.drawRect (12, 12, 20, 20);

// Fyll rektangelet

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

// Tegn en linje horisontalt

display.drawHorizontalLine (0, 40, 20);

// Tegn en linje horisontalt

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 (SVART); } display.fillCircle (96, 32, 32 - i* 3); }}

void drawProgressBarDemo () {

Serial.println ("drawProgressBarDemo"); int fremgang = (teller / 5) % 100; // tegne fremdriftslinjen display.drawProgressBar (0, 32, 120, 10, progress);

// trekk prosentandelen som streng

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

Der følgerende Link i kommentarer kan hjelpe til med et bilde eller en logo så vi kan bruke dem til å vise …

void drawImageDemo () {

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

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

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

void loop () {

// tøm skjermen display.clear (); // tegne den nåværende demometoden 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 (); } teller ++; forsinkelse (10); }

Trinn 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

Anbefalt: