Mundarija:

HowTo - Esp -12F Mini WiFi moduli ESP8266 18650 Nodemcu Batterie 0.96”OLED DEMO Arduino GUI orqali: 4 qadam
HowTo - Esp -12F Mini WiFi moduli ESP8266 18650 Nodemcu Batterie 0.96”OLED DEMO Arduino GUI orqali: 4 qadam

Video: HowTo - Esp -12F Mini WiFi moduli ESP8266 18650 Nodemcu Batterie 0.96”OLED DEMO Arduino GUI orqali: 4 qadam

Video: HowTo - Esp -12F Mini WiFi moduli ESP8266 18650 Nodemcu Batterie 0.96”OLED DEMO Arduino GUI orqali: 4 qadam
Video: DIY Arduino SmartWatch, OLED, Wemos D1 mini, ESP8266 | Mr B Does Electronics 2024, Iyul
Anonim
HowTo - Esp -12F Mini WiFi moduli ESP8266 18650 Nodemcu batareyasi 0,96 dyuymli OLED DEMO Arduino GUI orqali
HowTo - Esp -12F Mini WiFi moduli ESP8266 18650 Nodemcu batareyasi 0,96 dyuymli OLED DEMO Arduino GUI orqali

Salom, Bu juda muhim, chunki bu OLED -displeyni o'chirish/o'chirish bilan bog'liq. O'ylaymanki, dasturiy ta'minot dasturlari ARDUINO GUI -ni ishlatib, CODE -ni o'chirib tashlaydi.

1 -qadam: Eynstellen / Eynrixten 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 taxtasi ARDUINO GUI -da joylashgan.

Ma'lumot uchun, Einstellungen (Date Einstellungen / Bild 1) GUI und tragen unter

"Boshqaruv kengashining URL-manzillari:"

ein (Bild 2). Boardtrayber zimmasiga yuklangan ma'lumotni o'qing.

Boshqaruv kartalari o'rnatilishi mumkin

(Werkzeuge kengashi: Boardverwaltung / Bild 3)

  • Dort im Sfefeld "esp8266" eintragen
  • "ESP8266 hamjamiyati tomonidan" esp8266 "yozuvi o'rnatilmagan (Bild 4)
  • ARDUINO GUI -ni ishga tushiring
  • Boshqaruv kengashi (z. B.: WeMos D1 R2 va mini)

2 -qadam: I2C Schnittstelle Scannen

I2C Shnittstelle Skanen
I2C Shnittstelle Skanen
I2C Shnittstelle Skanen
I2C Shnittstelle Skanen

OLED-displeyda I2C-Schnittstelle-ni skanerdan o'tkazib bo'lgach, PIN-kodlar aniqlanadi. Shunday qilib, I2C-qismlari aniqlandi.

Den Eskiz (Bild 1), ESP-Xochladen, "Seriellen-Monitor" va "Ausgabe warten" kompaniyalari. Dort könnt Ihr dann sehen, Device wo gefunden wurde. (Bild 2 - DigitalPIN tekshiruvi)

Das Ergebnis merken.

Kuzgi kuzda: SDA = D1: SCL = D2 bei Adresse 0x3c

3-qadam: Demo-eskiz Anpassen va Auf Den ESP Xochladen

OLED-displey DEMO uchun das ist kodi

Im 5. Abselitni toping Ihr die Stelle an der der Code ggf. mussni o'zgartiring.

I2C-Shnittstelle konfiguratsiyasi ham o'ladi.

Aus kodi hech qanday ma'lumotga ega emas, chunki u OLED -larga ega bo'lishi mumkin.

/** * MIT litsenziyasi (MIT) * * Mualliflik huquqi (c) 2016 yil Daniel Eichhorn * * Bu dasturiy ta'minot va unga tegishli hujjatlar fayllari ("Dasturiy ta'minot" nusxasini *) olgan har bir kishiga bepul ruxsat beriladi.), cheklanmagan holda, dasturiy ta'minot bilan shug'ullanish *, shu jumladan, cheklanmagan holda, dasturiy ta'minot nusxalarini ishlatish, nusxalash, o'zgartirish, birlashtirish, nashr etish, tarqatish, litsenziyalash va/yoki sotish huquqlari * va dasturiy ta'minot bo'lgan shaxslarga ruxsat berish. quyidagi shartlar bajarilgan taqdirda * jihozlangan: * * Yuqoridagi mualliflik huquqi to'g'risidagi bildirishnoma va ushbu ruxsatnoma xabarnomasi dasturiy ta'minotning barcha * nusxalariga yoki katta qismlariga kiritilishi kerak. * * BOShQA BARCHA KAFOLATSIZ, BARCHA TUG'ILMAYDI yoki * TAMOMATLI, shu jumladan, lekin savdo -sotiq kafolatlari bilan chegaralanmagan, * o'ziga xos maqsad va noaniqlik uchun moslik "bo'lgani kabi" ta'minlanadi. Hech qanday holatda ham * mualliflar yoki mualliflik huquqi egalari har qanday da'vo, zarar yoki boshqa javobgarlik uchun javobgarlikka tortilmaydilar. * Dasturiy ta'minotdagi kelishuvlar. * *

/ To'g'ri ko'rsatish kutubxonasini qo'shing

// Wire yordamida I2C orqali ulanish uchun #include // o'z ichiga oladi I2C Wire uchun #include "SSD1306.h" // taxallus "#include" SSD1306Wire.h ""

// Maxsus rasmlarni qo'shing

#"images.h" ni qo'shing

// OLED displeyini brzo_i2c yordamida ishga tushiring

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

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

Stelning o'zi I2C formatidagi PIN -kodni aniqlay olmagan

// Wire kutubxonasi yordamida OLED displeyini ishga tushiring

SSD1306 displeyi (0x3c, D1, D2);

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

#DEMO_DURATION 3000 ni aniqlang

typedef void (*Demo) (bo'sh);

int demoMode = 0;

int hisoblagich = 1;

bo'sh o'rnatish () {

Serial.begin (9600); Serial.println ("OLED_DEMO"); Serial.println ("DEMO -ni ishga tushirish");

// UIni ishga tushirish ekranni ham ishga tushiradi.

display.init ();

display.flipScreenVertically ();

display.setFont (ArialMT_Plain_10);

}

yaroqsiz drawFontFaceDemo () {

// Shrift Demo1 Serial.println ("Shrift DEMO 1"); // https://oleddisplay.squix.ch/ display.setTextAlignment (TEXT_ALIGN_LEFT) saytida ko'proq shriftlar yaratish; 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"); }

yaroqsiz drawTextFlowDemo () {

Serial.println ("drawTextFlowDemo"); display.setFont (ArialMT_Plain_10); display.setTextAlignment (TEXT_ALIGN_LEFT); display.drawStringMaxWidth (0, 0, 128, "Robotlar - / n kelajak, va kelajak - hozir. Lekin tabiatni unutmang"); }

void drawTextAlignmentDemo () {

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

// Koordinatalar matnning chap boshlanish nuqtasini belgilaydi

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

// Koordinatalar matn markazini belgilaydi

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

// Koordinatalar matnning o'ng uchini belgilaydi

display.setTextAlignment (TEXT_ALIGN_RIGHT); display.drawString (128, 33, "O'ngga tekislangan (128, 33)"); }

yaroqsiz drawRectDemo () {

Serial.println ("drawRectDemo"); // (int i = 0; i <10; i ++) {display.setPixel (i, i); display.setPixel (10 - i, i); } display.drawRect (12, 12, 20, 20);

// To'rtburchakni to'ldiring

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

// Gorizontal chiziq chizish

display.drawHorizontalLine (0, 40, 20);

// Gorizontal chiziq chizish

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

bekor chizishCircleDemo () {

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

bekor chizishProgressBarDemo () {

Serial.println ("drawProgressBarDemo"); int progress = (taymer / 5) % 100; // harakat paneli displeyini chizish.drawProgressBar (0, 32, 120, 10, taraqqiyot);

// foizni String sifatida chizish

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

Bog'lanish havolasi bilan bog'laning, shuning uchun bu logotipni o'chirib tashlashingiz mumkin, shuning uchun uni ko'rsatish mumkin emas …

void drawImageDemo () {

Serial.println ("drawImageDemo"); // qarang: https://blog.squix.org/2015/05/esp8266-nodemcu-how… // display.drawXbm (34, 0, Logo_width, Logo_height, Logo_bits) xbm fayllarini yaratish bo'yicha; }

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

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

void loop () {

// displey displeyini tozalash.clear (); // joriy demo usuli demolarini chizish [demoMode] ();

display.setTextAlignment (TEXT_ALIGN_RIGHT);

display.drawString (10, 128, String (millis ())); // buferni displeyga yozing display.display ();

if (millis () - timeSinceLastModeSwitch> DEMO_DURATION) {

demoMode = (demoMode + 1) % demoLength; timeSinceLastModeSwitch = millis (); } hisoblagich ++; kechikish (10); }

4 -qadam: Asboblar, havolalar, Herkunft/Literaturhinweis

Ichki makon mendan oshib ketsa ham, bu juda katta kod.

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üsse

Maktti

Tavsiya: