Cov txheej txheem:
- Kauj Ruam 1: Einstellen / Einrichten Der ARDUINO GUI
- Kauj Ruam 2: I2C Schnittstelle Scannen
- Kauj Ruam 3: Demo-Sketch Anpassen Und Auf Den ESP Hochladen
- Kauj Ruam 4: Cov Cuab Yeej, Txuas Txuas Und Herkunft/Literaturhinweis
Video: HowTo - Esp -12F Mini WiFi Modul ESP8266 18650 Nodemcu Batterie 0.96 "OLED DEMO Ntawm Arduino GUI: 4 Kauj Ruam
2024 Tus sau: John Day | [email protected]. Kawg hloov kho: 2024-01-30 09:26
Hlo, hier möchte ich Euch zeigen wie Ihr das mit auf der Hauptplatine verbaute OLED Zaub benutzen/ansteuern könnt. Um es möglichst einfach zu halten, benutze ich tuag ARDUINO GUI zum schreiben des CODEs thiab zum hochladen der Firmware.
Kauj Ruam 1: Einstellen / Einrichten Der ARDUINO GUI
Als erstes muss das ESP8266 Board hauv 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:"
ib (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 los ntawm ESP8266 Zej Zog" auswählen und die aktuellste Version installieren (Bild 4)
- Tuag ARDUINO GUI neu pib
- Danach das passende Board auswählen (z. B.: WeMos D1 R2 & mini)
Kauj Ruam 2: I2C Schnittstelle Scannen
Um zu sehen an welche PINs das OLED-Display angeschlossen wurde, scannen wir zuerst tuag I2C-Schnittstelle. Yog li können wir auch sehen ob noch weitere 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. (Duab 2 - DigitalPIN Scan)
Das Ergebnis sib koom.
Hauv lub caij nplooj zeeg: SDA = D1: SCL = D2 bei Adresse 0x3c
Kauj Ruam 3: Demo-Sketch Anpassen Und Auf Den ESP Hochladen
Das ist der Code für das OLED-Display DEMO
Kuv 5. Abschnitt findet Ihr die Stelle an der der Code ggf. modifiziert werden muss.
Kuj tuag Konfiguration rau tuag I2C-Schnittstelle.
Aus diesem Code könnt Ihr euch auch viele Infos dieber die Benutzung eines OLEDs peev xwm.
/** * Daim Ntawv Tso Cai MIT (MIT) * * Copyright (c) 2016 los ntawm Daniel Eichhorn * * Kev tso cai los ntawm no tau tso cai, tsis pub dawb, rau txhua tus neeg uas tau txais daim ntawv theej * ntawm cov software no thiab cov ntaub ntawv cuam tshuam nrog ("Software"), txhawm rau * hauv Software yam tsis muaj kev txwv, suav nrog yam tsis txwv txoj cai * siv, theej, hloov kho, sib koom ua ke, tshaj tawm, faib tawm, sublicense, thiab/lossis muag * luam ntawm Software, thiab tso cai rau cov neeg uas Software yog * npaj kom ua tau, raws li cov xwm txheej hauv qab no: * * Daim ntawv ceeb toom hais txog kev tso cai saum toj no thiab daim ntawv tso cai tso cai no yuav suav nrog txhua daim * theej lossis feem ntau ntawm Software. * * SOFTWARE tau muab "raws li yog", tsis muaj kev lees paub ntawm ib tus menyuam, nthuav tawm lossis * tsis suav nrog, suav nrog tab sis tsis txwv rau qhov kev lees paub ntawm kev ua haujlwm, * haum rau ib feem uas muaj feem thiab tsis muaj. Tsis muaj ib yam dab tsi yuav txwv * tus tswv lossis tus tuav lub luag haujlwm yuav tsum muaj lub luag haujlwm rau kev foob, ua phem lossis lwm yam * kev lav phib xaub, tsis hais hauv kev ua haujlwm, kev hais lus lossis lwm yam, tshwm sim los ntawm, los ntawm kev sib txuas lossis lwm yam siv lossis lwm yam DEALINGS IN THE * SOFTWARE. * *
/ Suav nrog lub tsev qiv ntawv tso saib kom raug
// Rau kev txuas ntawm I2C siv Hlau suav nrog #include // rau I2C Hlau #include "SSD1306.h" // alias rau `#include" SSD1306Wire.h"
// Xws li cov duab tshwj xeeb
#suav nrog "images.h"
// Pib lub OLED zaub siv brzo_i2c
// D3 -> SDA // D5 -> SCL // SSD1306 zaub (0x3c, D1, D2); lossis SSD1306 zaub (0x3c, 5, 4); lossis SSD1306 zaub (0x3c, GPIO5, GPIO4);
**************************************************************************************************
Tus lej folgenden Stelle werden dann tuag PINs rau tuag I2C Schnittstelle konfiguriert
// Pib ua OLED zaub siv Wire library
SSD1306 zaub (0x3c, D1, D2);
***************************************************************************************************
#define DEMO_DURATION 3000
typedef void (*Demo) (tsis muaj dab tsi);
int demoMode = 0;
int txee = 1;
void teeb tsa () {
Serial.begin (9600); Serial.println ("OLED_DEMO"); Serial.println ("Pib DEMO");
// Pib ua UI yuav pib ua kom pom ib yam nkaus.
display.init ();
display.flipScreenVertically ();
display.setFont (ArialMT_Plain_10);
}
void drawFontFaceDemo () {
// Font Demo1 Serial.println ("Font DEMO 1"); // tsim ntau fonts ntawm 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, "Neeg hlau yog / n Yav Tom Ntej, thiab Yav Tom Ntej, tam sim no. Tab sis tsis txhob hnov qab qhov xwm txheej"); }
void drawTextAlignmentDemo () {
Serial.println ("drawTextAlignmentDemo"); // Text alignment demo display.setFont (ArialMT_Plain_10); // Schriftart und -größe einstellen
// Cov kev txiav txim siab txhais sab laug pib ntawm kab ntawv
display.setTextAlignment (TEXT_ALIGN_LEFT); // Text_Ausrichtung einstellen display.drawString (0, 10, "Sab laug ua ke (0, 10)");
// Qhov kev txiav txim siab txhais qhov chaw nruab nrab ntawm cov ntawv
display.setTextAlignment (TEXT_ALIGN_CENTER); display.drawString (64, 22, "Qhov chaw sib koom (64, 22)");
// Cov kev txiav txim siab txiav txim siab qhov kawg ntawm cov ntawv
display.setTextAlignment (TEXT_ALIGN_RIGHT); display.drawString (128, 33, "Txoj cai ua raws (128, 33)"); }
void drawRectDemo () {
Serial.println ("drawRectDemo"); // Kos ib lub pixel ntawm txoj haujlwm muab rau (int i = 0; i <10; i ++) {display.setPixel (i, i); display.setPixel (10 - i, kuv); } display.drawRect (12, 12, 20, 20);
// Sau lub duab plaub
display.fillRect (14, 14, 17, 17);
// Kos kab kab rov tav
display.drawHorizontalLine (0, 40, 20);
// Kos kab kab rov tav
display.drawVerticalLine (40, 0, 20); }
void drawCircleDemo () {
Serial.println ("drawCircleDemo"); rau (int i = 1; i <8; i ++) {display.setColor (WHITE); display.drawCircle (32, 32, i*3); yog (i % 2 == 0) {display.setColor (BLACK); } display.fillCircle (96, 32, 32 - i* 3); }}
void drawProgressBarDemo () {
Serial.println ("drawProgressBarDemo"); int kev vam meej = (txee / 5) % 100; // kos qhov kev nthuav qhia bar display.drawProgressBar (0, 32, 120, 10, kev nce qib);
// kos qhov feem pua raws li Txoj hlua
display.setTextAlignment (TEXT_ALIGN_CENTER); display.drawString (64, 15, Txoj hlua (kev nce qib) + "%"); }
Der folgende Link im Kommentar kann helfen ein Bild oder Logo li umzuwandeln, das es auf dem Display angezeigt werden kann …
void drawImageDemo () {
Serial.println ("drawImageDemo"); // saib https://blog.squix.org/2015/05/esp8266-nodemcu-how… // ntawm yuav tsim cov ntaub ntawv xbm 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)); ntev timeSinceLastModeSwitch = 0;
void voj () {
// tshem tawm cov zaub display.clear (); // kos cov qauv tam sim no demos [demoMode] ();
display.setTextAlignment (TEXT_ALIGN_RIGHT);
display.drawString (10, 128, Txoj hlua (millis ())); // sau qhov tsis mus rau cov zaub display.display ();
yog (millis () - timeSinceLastModeSwitch> DEMO_DURATION) {
demoMode = (demoMode + 1) % demoLength; timeSinceLastModeSwitch = millis (); } txee ++; ncua (10); }
Kauj Ruam 4: Cov Cuab Yeej, Txuas Txuas Und Herkunft/Literaturhinweis
Ich möchte mich bei allen bedanken die an dem ein oder anderen Code mit gewirkt haben.
Tuag Grundlagen rau lub hnub tuag Anleitung muaj ib qho ich gefunden unter:
www.instructables.com/id/ESP8266-I2C-PORT-…
github.com/ThingPulse/esp8266-oled-ssd1306…
Viele Grüße
McUtty
Pom zoo:
Plotting Real-time Graph ntawm Android Los Ntawm Arduino Los Ntawm HC-05: 3 Cov Kauj Ruam
Plotting Real-time Graph ntawm Android Los ntawm Arduino Los ntawm HC-05: Hav nyob ntawm no, ntawm no yog kev qhia qhia yuav ua li cas npaj cov phiaj xwm ntawm lub sijhawm tiag tiag ntawm qhov tseem ceeb los ntawm tus tswj hwm micro xws li Arduino rau lub app. Nws siv Bluetooth qauv xws li HC-05 los ua lub cuab yeej xa xov mus rau kis thiab tau txais cov ntaub ntawv ntawm Ar
Tsev Automation Kauj Ruam ntawm Kauj Ruam Siv Wemos D1 Mini Nrog PCB Tsim: 4 Kauj Ruam
Tsev Automation Kauj Ruam Ib Leeg Siv Wemos D1 Mini Nrog PCB Tsim: Tsev Automation Kauj Ruam los ntawm Kauj Ruam siv Wemos D1 Mini nrog PCB Tsim cov tub ntxhais kawm ntawv qib siab. Tom qab ntawd ib tus ntawm peb cov tswv cuab tuaj
Tsim thiab Ua tiav ntawm Cov Txheej Txheem ntawm Kev Taw Qhia ntawm Photovoltaic Panels: 5 Cov Kauj Ruam
Tsim thiab Ua kom tiav ntawm Cov Txheej Txheem ntawm Kev Taw Qhia ntawm Photovoltaic Panels: Tsim thiab Ua tiav ntawm Cov Txheej Txheem ntawm Kev Taw Qhia ntawm Photovoltaic Panels
HC - 06 (Slave Module) Hloov "Npe" Tsis Siv "Saib Serial Arduino" tias "Ua Haujlwm Yooj Yim": Txoj Kev Tsis Txaus!: 3 Cov Kauj Ruam
HC - 06 (Slave Module) Hloov "Npe" Tsis Siv "Saib Serial Arduino" … tias "Ua Haujlwm Yooj Yim": Txoj Kev Tsis Txaus!: Tom qab " Ntev Ntev " sim Hloov Lub Npe mus rau HC - 06 (qhev Module), siv " serial saib ntawm Arduino, tsis muaj " Ua tiav ", Kuv pom lwm txoj hauv kev yooj yim dua thiab koom nrog tam sim no! Muaj kev lom zem phooj ywg
Tig Koj Lub Xov Tooj Ntawm Tes "Kuv Tau Ntub Dej" Qhov Taw Qhia Los Ntawm Liab Rov Qab Los Dawb: 8 Kauj Ruam
Tig Koj Lub Xov Tooj Ntawm Tes "Kuv Tau Ntub Dej" Qhov Taw Qhia Los Ntawm Liab Rov Qab Los Rau Dawb: Puas tau dunk koj lub xov tooj ntawm tes hauv dej? Tom qab nws qhuav - yuav ua li cas ib tus neeg tuaj yeem qhia tias nws ntub? Zoo kuv tus phooj ywg "Kuv tau txais qhov ntsuas ntub" yog tuag muab tseg. Qhov ntsuas no feem ntau yog daim ntawv nplaum dawb nyob hauv lub roj teeb ntawm feem ntau