Mundarija:
- 1 -qadam: Eynstellen / Eynrixten Der ARDUINO GUI
- 2 -qadam: I2C Schnittstelle Scannen
- 3-qadam: Demo-eskiz Anpassen va Auf Den ESP Xochladen
- 4 -qadam: Asboblar, havolalar, Herkunft/Literaturhinweis
Video: HowTo - Esp -12F Mini WiFi moduli ESP8266 18650 Nodemcu Batterie 0.96”OLED DEMO Arduino GUI orqali: 4 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:25
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
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
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:
Geeetech kengashi Raspberry Pi orqali to'g'ridan -to'g'ri simli USB kabeli orqali: 4 qadam
Geeetech kengashi Raspberry Pi orqali to'g'ridan -to'g'ri maxsus USB kabeli orqali: Salom! Ushbu qo'llanmada JST XH 4-pinli maxsus USB-ni qanday qilish kerakligi ko'rsatilgan, shuning uchun siz Raspberry Pi yoki boshqa USB qurilmangizni Geeetech printeridagi A10 kabi Geeetech 2560 rev 3 kartasiga to'g'ridan-to'g'ri ulashingiz mumkin. Bu kabel qulay paralelga ulanadi
OLED displey moduli orqali Raspberry Pi monitoring tizimi: 5 qadam
OLED displey moduli orqali Raspberry Pi monitoringi tizimi: Ushbu qo'llanmada men Raspberry Pi 4 Model B tizimi ma'lumotlarini ko'rsatish uchun 0,96 dyuymli OLED displey modulini I2C interfeysi yordamida sozlashni tushuntiraman
Bir nechta BMP280 datchiklari Arduino Uno orqali SPI orqali: 6 qadam
Bir nechta BMP280 datchiklari Arduino Uno -da SPI orqali: Bu qo'llanmada biz uchta BMP280 -ni Arduino Uno -ga SPI orqali ulashamiz, lekin har bir sensor uchun nSS (Slave Select) sifatida D3 dan D10 raqamli portlari yordamida Uno -da sakkizta BMP280 -ni ulashingiz mumkin. B o'lchagan atmosfera bosimi namunalarining
Kompyuter RAMidan Arduino orqali ketma-ket port orqali foydalanish: 7 qadam
Kompyuter RAMidan Arduino orqali ketma-ket port orqali foydalanish: Bir do'stim meni o'zining kichik Arduino loyihasi bilan ilhomlantirdi. Bu kichik loyiha Arduino UNO R3 ni o'z ichiga oladi, u Arduino IDE-da ishlab chiqarilgan dastur orqali ma'lumotlarni o'qish bilan shug'ullanadi, vizual studiyada ishlab chiqarilgan C# dasturi orqali ketma-ket portga (USB-port) yuboriladi. Bu kabi
ESP8266 -NODEMCU $ 3 WiFi moduli #2 - WEB -sahifa orqali simsiz pinlarni boshqarish: 9 qadam (rasmlar bilan)
ESP8266 -NODEMCU $ 3 WiFi moduli #2 - WEB -sahifa orqali simsiz pinlarni boshqarish: Bu mikro -hisoblashning yangi dunyosi keldi va bu ESP8266 NODEMCU. Bu esp8266 muhitini arduino IDE -ga boshlang'ich video orqali va uning qismlari sifatida qanday o'rnatishingiz mumkinligini ko'rsatadigan birinchi qism