Turinys:
- 1 žingsnis: Einstellen / Einrichten Der ARDUINO GUI
- 2 žingsnis: „I2C Schnittstelle Scannen“
- 3 žingsnis: demonstracinis eskizas „Anpassen Und Auf Den ESP Hochladen“
- 4 žingsnis: Įrankiai, nuorodos Und Herkunft/Literaturhinweis
Video: „HowTo“- „Esp -12F Mini WiFi Modul ESP8266 18650 Nodemcu Batterie 0.96“OLED DEMO Via Arduino GUI: 4 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:46
Sveiki, 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.
1 žingsnis: 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 und tragen unter
„Zusätzliche Boardverwalter-URL“:
ein (2 paveikslas). 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)
- Negalima pradėti ARDUINO GUI
- Danach das passende Board auswählen (z. B.: WeMos D1 R2 & mini)
2 žingsnis: „I2C Schnittstelle Scannen“
Um zu sehen and welche PINs das OLED-Display angeschlossen wurde, scanen wir zuerst die I2C-Schnittstelle. Taigi können wir auch sehen ob noch weitere I2C-Parts angeschlossen sind.
Sketch (Bild 1) arba ESP Hochladen, „Seriellen-Monitor“, skirtas ir Ausgabe warten. Dort könnt Ihr dann sehen, welches Device wo gefunden wurde. (2 paveikslas - „DigitalPIN Scan“)
Das Ergebnis merken.
Diesem rudenį: SDA = D1: SCL = D2 ir adresas 0x3c
3 žingsnis: demonstracinis eskizas „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.
Taip pat galite sukonfigūruoti I2C-Schnittstelle.
Aus diesem Code könnt Ihr euch auch viele Infos über die Benutzung eines OLEDs ableiten.
/** * MIT licencija (MIT) * * Autorių teisės (c) 2016 pateikė Daniel Eichhorn * * Leidimas nemokamai suteikiamas bet kuriam asmeniui, gaunančiam šios programinės įrangos ir susijusių dokumentų failų (toliau - Programinė įranga) kopiją *) be apribojimų prekiauti * programine įranga, įskaitant be apribojimų teises * naudoti, kopijuoti, keisti, sujungti, publikuoti, platinti, sublicencijuoti ir (arba) parduoti * programinės įrangos kopijas ir leisti asmenims, kuriems programinė įranga yra * įrengtas tam, laikantis šių sąlygų: * * Aukščiau pateiktas pranešimas apie autorių teises ir šis leidimas turi būti įtrauktas į visas * kopijas ar svarbias Programinės įrangos dalis. * * PROGRAMINĖ ĮRANGA PATEIKTA „KOKIA“, BE JOKIŲ RŪŠIŲ, NETIKIŲ ARBA NEMOKAMŲ GARANTIJŲ, ĮSKAIČIANT BET APRIBOTINIO GARANTIJĄ, * AUTORIAI AR AUTORIŲ TEISĖS TURĖTOJAI NIEKADA neatsako už bet kokius reikalavimus, žalą ar kitokią * ATSAKOMYBĘ, VEIKDAMI SUTARTIES, SKYRIUS ARBA KITAIS būdais, kilusius iš *, neprisijungus prie šios programinės įrangos arba PARDUOTUVĖS * PROGRAMINĖ ĮRANGA. * *
/ Įtraukite tinkamą rodymo biblioteką
// Jei norite prisijungti per I2C naudodami laidą, įtraukite #include // I2C Wire #include "SSD1306.h" // slapyvardis "#include" SSD1306Wire.h"
// Įtraukti pasirinktinius vaizdus
#include "images.h"
// Inicijuokite OLED ekraną naudodami brzo_i2c
// D3 -> SDA // D5 -> SCL // SSD1306 ekranas (0x3c, D1, D2); arba SSD1306 ekranas (0x3c, 5, 4); arba SSD1306 ekranas (0x3c, GPIO5, GPIO4);
**************************************************************************************************
An der folgenden Stelle werden dann die PIN PIN für die I2C Schnittstelle configiert
// Inicijuokite OLED ekraną naudodami laidų biblioteką
SSD1306 ekranas (0x3c, D1, D2);
***************************************************************************************************
#define DEMO_DURATION 3000
typedef void (*Demo) (negalioja);
int demoMode = 0;
int skaitiklis = 1;
void setup () {
Serial.begin (9600); Serial.println („OLED_DEMO“); Serial.println („Paleisti DEMO“);
// Inicijuojant vartotojo sąsają taip pat bus rodomas ekranas.
display.init ();
display.flipScreenVertically ();
display.setFont („ArialMT_Plain_10“);
}
void drawFontFaceDemo () {
// Šriftas Demo1 Serial.println ("Šriftas DEMO 1"); // sukurti daugiau šriftų adresu 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, "Robotai yra / n ateitis, o ateitis yra dabar. Tačiau nepamirškite gamtos"); }
void drawTextAlignmentDemo () {
Serial.println ("drawTextAlignmentDemo"); // Teksto lygiavimo demonstracinis ekranas.setFont (ArialMT_Plain_10); // Schriftart und -größe einstellen
// Koordinatės apibrėžia kairįjį teksto pradžios tašką
display.setTextAlignment (TEXT_ALIGN_LEFT); // Text_Ausrichtung einstellen display.drawString (0, 10, "Lygiuotas kairėn (0, 10)");
// Koordinatės apibrėžia teksto centrą
display.setTextAlignment (TEXT_ALIGN_CENTER); display.drawString (64, 22, „Sulygiuotas centre (64, 22)“);
// Koordinatės apibrėžia dešinįjį teksto galą
display.setTextAlignment (TEXT_ALIGN_RIGHT); display.drawString (128, 33, „Lygiuota dešinėn (128, 33)“); }
void drawRectDemo () {
Serial.println ("drawRectDemo"); // Nubrėžkite pikselį nurodytoje vietoje (int i = 0; i <10; i ++) {display.setPixel (i, i); display.setPixel (10 - i, i); } display.drawRect (12, 12, 20, 20);
// Užpildykite stačiakampį
display.fillRect (14, 14, 17, 17);
// Nubrėžkite liniją horizontaliai
display.drawHorizontalLine (0, 40, 20);
// Nubrėžkite liniją horizontaliai
display.drawVerticalLine (40, 0, 20); }
void drawCircleDemo () {
Serial.println ("drawCircleDemo"); for (int i = 1; i <8; i ++) {display.setColor (BALTAS); display.drawCircle (32, 32, i*3); if (i % 2 == 0) {display.setColor (BLACK); } display.fillCircle (96, 32, 32 - i* 3); }}
void drawProgressBarDemo () {
Serial.println ("drawProgressBarDemo"); int progresas = (skaitiklis / 5) % 100; // nupiešti progreso juostos ekraną.drawProgressBar (0, 32, 120, 10, progresas);
// nupieškite procentą kaip eilutę
display.setTextAlignment (TEXT_ALIGN_CENTER); display.drawString (64, 15, String (pažanga) + "%"); }
Nuorodų nuoroda į komentarus, padedanti „Bild oder“ar logotipas, taigi, rodyti angezeig werden kann…
void drawImageDemo () {
Serial.println ("drawImageDemo"); // žr. https://blog.squix.org/2015/05/esp8266-nodemcu-how… // kaip sukurti xbm failus display.drawXbm (34, 0, Logo_width, Logo_height, Logo_bits); }
Demonstracinės demonstracinės versijos = {drawFontFaceDemo, drawTextFlowDemo, drawTextAlignmentDemo, drawRectDemo, drawCircleDemo, drawProgressBarDemo, drawImageDemo};
int demoLength = (sizeof (demos) / sizeof (Demo)); long timeSinceLastModeSwitch = 0;
void loop () {
// išvalyti ekrano ekraną.clear (); // nupiešti dabartinį demonstracinį metodą demos [demoMode] ();
display.setTextAlignment (TEXT_ALIGN_RIGHT);
display.drawString (10, 128, eilutė (milis ()))); // įrašykite buferį į ekrano ekraną.display ();
if (millis () - timeSinceLastModeSwitch> DEMO_DURATION) {
demoMode = (demoMode + 1) % demoLength; timeSinceLastModeSwitch = milis (); } skaitiklis ++; vėlavimas (10); }
4 žingsnis: Įrankiai, nuorodos Und Herkunft/Literaturhinweis
Ich möchte mich bei allen bedanken die an dem ein oder anderen Code mit gewirkt haben.
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
Rekomenduojamas:
Interneto laikrodis: rodyti datą ir laiką naudojant OLED naudojant ESP8266 „NodeMCU“su NTP protokolu: 6 žingsniai
Interneto laikrodis: rodyti datą ir laiką naudojant OLED naudojant ESP8266 „NodeMCU“su NTP protokolu: Sveiki, vaikinai, šioje instrukcijoje mes sukursime interneto laikrodį, kuris gaus laiko iš interneto, todėl šiam projektui vykdyti nereikės jokio RTC, o tik veikiantis interneto ryšys Ir šiam projektui jums reikia esp8266, kuris turės
ESP8266 RGB LED juostelės WIFI valdymas - „NODEMCU“kaip IR nuotolinio valdymo pultas „Led Strip“, valdomas per „Wifi“- RGB LED STRIP išmaniojo telefono valdymas: 4 žingsniai
ESP8266 RGB LED juostelės WIFI valdymas | „NODEMCU“kaip IR nuotolinio valdymo pultas „Led Strip“, valdomas per „Wifi“| „RGB LED STRIP“išmaniojo telefono valdymas: Sveiki vaikinai, šioje pamokoje mes išmoksime naudoti „nodemcu“arba „esp8266“kaip IR nuotolinio valdymo pultą, norint valdyti RGB LED juostą, o „Nodemcu“bus valdomas išmaniuoju telefonu per „Wi -Fi“. Taigi iš esmės galite valdyti RGB LED juostelę savo išmaniuoju telefonu
Kaip prijungti „NodeMCU / ESP8266“ir „OLED Shield“: 8 žingsniai
Kaip prijungti „NodeMCU / ESP8266“ir „OLED Shield“: šioje instrukcijoje parodysiu, kaip prijungti „NodeMCU V2 Amica“(ESP8266) per I2c prie OLED ekrano, pagrįsto garsiuoju SSD1306 lustu. Šioje instrukcijoje OLED ekranui naudosime OLED skydą, kuris pateikiamas kartu su 0,96 colių litavimu. colių OLED
„Orange PI HowTo“: nustatykite jį naudoti su 5 colių HDMI TFT LCD ekranu: 8 žingsniai (su paveikslėliais)
„Orange PI HowTo“: nustatykite jį naudoti su 5 colių HDMI TFT LCD ekranu: jei buvote pakankamai apdairus užsisakyti HDMI TFT LCD ekraną kartu su „Orange PI“, tikriausiai jus atgrasina sunkumai bandant priversti jį veikti . Nors kiti net negalėjo pastebėti jokių kliūčių. Svarbiausia, kad yra
ESP8266-NODEMCU 3 USD „WiFi“modulis Nr. 1- Darbo su „WiFi“pradžia: 6 žingsniai
ESP8266-NODEMCU 3 USD „WiFi“modulis Nr. 1- Darbo su „WiFi“pradžia: atėjo naujas šių mikrokompiuterių pasaulis ir tai yra ESP8266 NODEMCU. Tai pirmoji dalis, parodanti, kaip galite įdiegti esp8266 aplinką į savo „arduino IDE“per pradinį vaizdo įrašą ir kaip dalis