Talaan ng mga Nilalaman:

HowTo - Esp-12F Mini WiFi Modul ESP8266 18650 Nodemcu Batterie 0.96”OLED DEMO Sa pamamagitan ng Arduino GUI: 4 na Hakbang
HowTo - Esp-12F Mini WiFi Modul ESP8266 18650 Nodemcu Batterie 0.96”OLED DEMO Sa pamamagitan ng Arduino GUI: 4 na Hakbang

Video: HowTo - Esp-12F Mini WiFi Modul ESP8266 18650 Nodemcu Batterie 0.96”OLED DEMO Sa pamamagitan ng Arduino GUI: 4 na Hakbang

Video: HowTo - Esp-12F Mini WiFi Modul ESP8266 18650 Nodemcu Batterie 0.96”OLED DEMO Sa pamamagitan ng Arduino GUI: 4 na Hakbang
Video: NodeMCU V3 ESP8266 - обзор, подключение и прошивка в Arduino IDE 2024, Hulyo
Anonim
HowTo - Esp-12F Mini WiFi Modul ESP8266 18650 Nodemcu Batterie 0.96”OLED DEMO Via Arduino GUI
HowTo - Esp-12F Mini WiFi Modul ESP8266 18650 Nodemcu Batterie 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 und zum hochladen der Firmware.

Hakbang 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 sa der ARDUINO GUI verfügbar gemacht 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
  • Ang "esp8266 ng Pamayanan ng ESP8266" ay hindi na makakakuha ng isang bersyon ng installieren (Bild 4)
  • Mamatay ARDUINO GUI neu starten
  • Danach das passende Board auswählen (z. B.: WeMos D1 R2 & mini)

Hakbang 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, scannen wir zuerst die I2C-Schnittstelle. Kaya't können wir auch sehen ob noch weitere I2C-Parts angeschlossen sind.

Ang Den Sketch (Bild 1) ay ang ESP Hochladen, at ang "Seriellen-Monitor" ay hindi na kailangan ng Ausgabe warten. Dort könnt Ihr dann sehen, welches Device wo gefunden wurde. (Bild 2 - DigitalPIN Scan)

Das Ergebnis merken.

Sa diesem Fall: SDA = D1: SCL = D2 bei Adresse 0x3c

Hakbang 3: Ang Demo-Sketch Anpassen Und Auf Den ESP Hochladen

Das ist der Code para sa OLED-Display DEMO

Im 5. Natagpuan ang Ihr die Stelle an der der Code ggf. modifiziert werden muss.

Mamatay din Konfiguration para sa I2C-Schnittstelle.

Aus diesem Code könnt Ihr euch auch viele Infos über die Benutzung eines OLEDs canitenen.

/ ** * Ang MIT Lisensya (MIT) * * Copyright (c) 2016 ni Daniel Eichhorn * * Sa ngayon ay ipinagkaloob ang pahintulot, nang walang bayad, sa sinumang tao na kumukuha ng isang kopya * ng software na ito at mga nauugnay na mga file ng dokumentasyon (ang "Software"), upang makitungo * sa Software nang walang paghihigpit, kasama ang walang limitasyon sa mga karapatang * gamitin, kopyahin, baguhin, pagsamahin, i-publish, ipamahagi, sublicense, at / o ibenta * ang mga kopya ng Software, at upang payagan ang mga tao kanino ang Software ay * inayos upang gawin ito, napapailalim sa mga sumusunod na kundisyon: * * Ang paunawa sa copyright at ang paunawang pahintulot na ito ay dapat isama sa lahat ng * mga kopya o malalaking bahagi ng Software. * * ANG SOFTWARE AY BINIGYAN NG "AS IS", WALANG garantiya ng ANUMANG KALAGANG, EXPRESS O * IMPLIED, KASAMA HINDI LIMITADO SA MGA WARRANTIES OF MERCHANTABILITY, * KASANAYAN PARA SA ISANG KASUNDUAN NA LAYUNIN AT NONINFRINGEMENT. SA ANUMANG KAGANAPAN AY ANG * Mga AUTHOR O KAPANGYARIHAN NG COPYRIGHT AY DAPAT HANGGANG PARA SA ANUMANG CLAIM, DAMAGES O IBA PA * KATANGGAPAN, ANO SA ISANG AKSYON NG KONTRATA, PAGSAKOT O PAGKAKAROON, NANGUNGULING MULA SA, * LABAS O KONEKTO SA SOFTWARE O NG GAMIT O IBA PA Mga Pakikitungo sa * SOFTWARE. * *

/ Isama ang tamang display library

// Para sa isang koneksyon sa pamamagitan ng I2C gamit ang Wire isama ang #include // para sa I2C Wire # isama ang "SSD1306.h" // alias para sa `#include" SSD1306Wire.h "`

// Isama ang mga pasadyang larawan

# isama ang "mga imahe.h"

// Initialize the OLED display using brzo_i2c

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

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

Isang der folgenden Stelle werden dann die PINs para sa I2C Schnittstelle konfiguriert

// Initialize the OLED display using Wire library

Ipakita ang SSD1306 (0x3c, D1, D2);

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

# tukuyin ang DEMO_DURATION 3000

typedef void (* Demo) (void);

int demoMode = 0;

int counter = 1;

walang bisa ang pag-setup () {

Serial.begin (9600); Serial.println ("OLED_DEMO"); Serial.println ("Simulan ang DEMO");

// Initialising the UI will init the display too.

display.init ();

display.flipScreenVertically ();

display.setFont (ArialMT_Plain_10);

}

walang bisa drawFontFaceDemo () {

// Font Demo1 Serial.println ("Font DEMO 1"); // lumikha ng higit pang mga font sa 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"); }

walang bisa drawTextFlowDemo () {

Serial.println ("drawTextFlowDemo"); display.setFont (ArialMT_Plain_10); display.setTextAlignment (TEXT_ALIGN_LEFT); display.drawStringMaxWidth (0, 0, 128, "Ang mga Robots ay / n ang Hinaharap, at ang Hinaharap, ngayon. Ngunit huwag kalimutan ang Kalikasan"); }

void drawTextAlignmentDemo () {

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

// Ang mga coordinate ay tumutukoy sa kaliwang panimulang punto ng teksto

display.setTextAlignment (TEXT_ALIGN_LEFT); // Text_Ausrichtung einstellen display.drawString (0, 10, "Naka-align sa kaliwa (0, 10)");

// Ang mga coordinate ay tumutukoy sa gitna ng teksto

display.setTextAlignment (TEXT_ALIGN_CENTER); display.drawString (64, 22, "Nakahanay ang center (64, 22)");

// Ang mga coordinate ay tumutukoy sa kanang dulo ng teksto

display.setTextAlignment (TEXT_ALIGN_RIGHT); display.drawString (128, 33, "Nakahanay sa kanan (128, 33)"); }

walang bisa drawRectDemo () {

Serial.println ("drawRectDemo"); // Gumuhit ng isang pixel sa ibinigay na posisyon para sa (int i = 0; i <10; i ++) {display.setPixel (i, i); display.setPixel (10 - i, i); } display.drawRect (12, 12, 20, 20);

// Punan ang parihaba

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

// Gumuhit ng isang linya nang pahalang

display.drawHorizontalLine (0, 40, 20);

// Gumuhit ng isang linya nang pahalang

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

walang bisa drawCircleDemo () {

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

walang bisa drawProgressBarDemo () {

Serial.println ("drawProgressBarDemo"); int pagsulong = (counter / 5)% 100; // draw the progress bar display.drawProgressBar (0, 32, 120, 10, progress);

// iguhit ang porsyento bilang String

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

Mag-link sa pamamagitan ng Link sa Kommentar para sa helfen ein Bild oder Logo kaya umzuwandeln, maaari mong ipakita ang Display Network ng…

walang bisa drawImageDemo () {

Serial.println ("drawImageDemo"); // tingnan ang https://blog.squix.org/2015/05/esp8266-nodemcu-how… // sa kung paano lumikha ng mga xbm file display.drawXbm (34, 0, Logo_width, Logo_height, Logo_bits); }

Mga demo na demo = {drawFontFaceDemo, drawTextFlowDemo, drawTextAlignmentDemo, drawRectDemo, drawCircleDemo, drawProgressBarDemo, drawImageDemo};

int demoLength = (sizeof (demo) / sizeof (Demo)); mahabang panahonSinceLastModeSwitch = 0;

void loop () {

// limasin ang display display.clear (); // iguhit ang kasalukuyang demo na paraan ng demo [demoMode] ();

display.setTextAlignment (TEXT_ALIGN_RIGHT);

display.drawString (10, 128, String (millis ())); // isulat ang buffer sa display display.display ();

kung (millis () - timeSinceLastModeSwitch> DEMO_DURATION) {

demoMode = (demoMode + 1)% demoLength; timeSinceLastModeSwitch = millis (); } counter ++; antala (10); }

Hakbang 4: Mga Tool, Mga Link Und Herkunft / Literaturhinweis

Ich möchte mich bei allen bedanken die an dem ein oder 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

Inirerekumendang: