Inhoudsopgave:

HowTo - Esp-12F Mini WiFi-module ESP8266 18650 Nodemcu-batterij 0,96 "OLED-DEMO Via Arduino GUI - Ajarnpa
HowTo - Esp-12F Mini WiFi-module ESP8266 18650 Nodemcu-batterij 0,96 "OLED-DEMO Via Arduino GUI - Ajarnpa

Video: HowTo - Esp-12F Mini WiFi-module ESP8266 18650 Nodemcu-batterij 0,96 "OLED-DEMO Via Arduino GUI - Ajarnpa

Video: HowTo - Esp-12F Mini WiFi-module ESP8266 18650 Nodemcu-batterij 0,96
Video: Wemos D1 mini: A first look at this ESP8266 based board. 2024, Juli-
Anonim
HowTo - Esp-12F Mini WiFi-module ESP8266 18650 Nodemcu-batterij 0,96
HowTo - Esp-12F Mini WiFi-module ESP8266 18650 Nodemcu-batterij 0,96

Hallo, hier kan ik ze zien die ik kan gebruiken om de platine volledig uit te werken OLED-display benutzen/ansteuern könnt. U kunt de ARDUINO GUI gebruiken om de CODEs en de firmware van de firmware te gebruiken.

Stap 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 verfügbar gemacht werden.

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

"Zusätzliche Boardverwalter-URL's:"

ein (Afbeelding 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" auswählen und die aktuellste Version installieren (Bild 4)
  • Die ARDUINO GUI neu starten
  • Danach das passende Board auswählen (z. B.: WeMos D1 R2 & mini)

Stap 2: I2C Schnittstelle Scannen

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

Um zu sehen an welche PINs das OLED-Display angeschlossen wurde, scan wir zuerst die I2C-Schnittstelle. Dus können wir auch sehen ob noch weitere I2C-Parts angeschlossen sind.

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

Das Ergebnis merken.

In diesem Herfst: SDA = D1: SCL = D2 bei Adresse 0x3c

Stap 3: Demo-schets Anpassen Und Auf Den ESP Hochladen

Das ist der Code für das OLED-Display DEMO

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

Ook die Konfiguration für die I2C-Schnittstelle.

Aus diesem Code kunt u meer informatie geven over de mogelijkheden van OLED's.

/** * De MIT-licentie (MIT) * * Copyright (c) 2016 door Daniel Eichhorn * * Hierbij wordt gratis toestemming verleend aan eenieder die een kopie* verkrijgt van deze software en bijbehorende documentatiebestanden (de "Software"), om zonder beperking * in de Software te handelen, inclusief maar niet beperkt tot de rechten * om kopieën van de Software te gebruiken, kopiëren, wijzigen, samenvoegen, publiceren, distribueren, in sublicentie te geven en/of te verkopen, en om personen toe te staan aan wie de Software is hiertoe * geleverd, onderhevig aan de volgende voorwaarden: * * De bovenstaande copyright-kennisgeving en deze toestemmingskennisgeving zullen worden opgenomen in alle * kopieën of substantiële delen van de Software. * * DE SOFTWARE WORDT GELEVERD "AS IS", ZONDER ENIGE GARANTIE, EXPLICIET OF * IMPLICIET, INCLUSIEF MAAR NIET BEPERKT TOT DE GARANTIES VAN VERKOOPBAARHEID, * GESCHIKTHEID VOOR EEN BEPAALD DOEL EN NIET-INBREUK. IN GEEN GEVAL ZULLEN DE * AUTEURS OF AUTEURSRECHTHOUDERS AANSPRAKELIJK ZIJN VOOR ENIGE CLAIM, SCHADE OF ANDERE * AANSPRAKELIJKHEID, HETZIJ UIT CONTRACT, ONRECHTMATIGE OF ANDERSZINS, VOORTVLOEIEND UIT * UIT OF IN VERBAND MET DE SOFTWARE OF HET GEBRUIK OF HANDELINGEN IN DE * SOFTWARE. * *

/ Voeg de juiste weergavebibliotheek toe

// Voor een verbinding via I2C met Wire include #include // for I2C Wire #include "SSD1306.h" // alias voor `#include "SSD1306Wire.h"`

// Voeg aangepaste afbeeldingen toe

#include "images.h"

// Initialiseer het OLED-scherm met brzo_i2c

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

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

An der folgenden Stelle werden dann die PINs für die I2C Schnittstelle konfiguriert

// Initialiseer het OLED-scherm met behulp van de Wire-bibliotheek

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

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

#define DEMO_DURATION 3000

typedef void (*Demo)(void);

int demoMode = 0;

int-teller = 1;

ongeldige setup() {

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

// Door de gebruikersinterface te initialiseren, wordt ook het scherm gestart.

weergave.init();

display.flipScreenVertical();

display.setFont(ArialMT_Plain_10);

}

void drawFontFaceDemo() {

// Lettertype Demo1 Serial.println ("Lettertype DEMO 1"); // maak meer lettertypen op 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"); }

ongeldig drawTextFlowDemo() {

Serial.println("drawTextFlowDemo"); display.setFont(ArialMT_Plain_10); display.setTextAlignment(TEXT_ALIGN_LEFT); display.drawStringMaxWidth(0, 0, 128, "Robots zijn de toekomst, en de toekomst is nu. Maar vergeet de natuur niet"); }

ongeldig drawTextAlignmentDemo() {

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

// De coördinaten bepalen het linker beginpunt van de tekst

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

// De coördinaten bepalen het midden van de tekst

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

// De coördinaten bepalen het rechteruiteinde van de tekst

display.setTextAlignment(TEXT_ALIGN_RIGHT); display.drawString(128, 33, "Rechts uitgelijnd (128, 33)"); }

ongeldig drawRectDemo() {

Serial.println("drawRectDemo"); // Teken een pixel op een bepaalde positie voor (int i = 0; i < 10; i++) { display.setPixel(i, i); display.setPixel(10 - ik, ik); } display.drawRect (12, 12, 20, 20);

// Vul de rechthoek

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

// Trek een lijn horizontaal

display.drawHorizontalLine(0, 40, 20);

// Trek een lijn horizontaal

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); if (i % 2 == 0) { display.setColor (ZWART); } display.fillCircle(96, 32, 32 - i* 3); } }

void drawProgressBarDemo() {

Serial.println("drawProgressBarDemo"); int voortgang = (teller / 5) % 100; // teken de voortgangsbalk display.drawProgressBar (0, 32, 120, 10, voortgang);

// teken het percentage als String

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

Der folgende Link im Commentaar kann helfen ein Bild oder Logo so umzuwandeln, das es auf dem Toon angezeigt werden kann …

ongeldig drawImageDemo() {

Serial.println("drawImageDemo"); // zie https://blog.squix.org/2015/05/esp8266-nodemcu-how… // over het maken van xbm-bestanden display.drawXbm(34, 0, Logo_width, Logo_height, Logo_bits); }

Demo-demo's = {drawFontFaceDemo, drawTextFlowDemo, drawTextAlignmentDemo, drawRectDemo, drawCircleDemo, drawProgressBarDemo, drawImageDemo};

int demoLength = (sizeof(demo's) / sizeof(Demo)); lange timeSinceLastModeSwitch = 0;

lege lus() {

// wis het display display.clear(); // teken de huidige demo-methode demo's [demoMode]();

display.setTextAlignment(TEXT_ALIGN_RIGHT);

display.drawString(10, 128, String(millis())); // schrijf de buffer naar het display display.display();

if (millis() - timeSinceLastModeSwitch > DEMO_DURATION) {

demoMode = (demoMode + 1) % demoLength; timeSinceLastModeSwitch = millis(); } teller++; vertraging(10); }

Stap 4: Tools, Links en Herkunft/Literaturhinweis

Ich möchte mich bei allen dank die an dem ein of anderen Code mit 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

Aanbevolen: