สารบัญ:
- ขั้นตอนที่ 1: Einstellen / Einrichten Der ARDUINO GUI
- ขั้นตอนที่ 2: I2C Schnittstelle Scannen
- ขั้นตอนที่ 3: Demo-Sketch Anpassen Und Auf Den ESP Hochladen
- ขั้นตอนที่ 4: เครื่องมือ ลิงค์และ Herkunft/ Literaturhinweis
วีดีโอ: HowTo - Esp-12F โมดูล WiFi ขนาดเล็ก ESP8266 18650 Nodemcu Batterie 0.96” OLED DEMO ผ่าน Arduino GUI: 4 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:04
สวัสดี
มากกว่า möchte ich Euch zeigen wie Ihr das mit auf der Hauptplatine verbaute OLED Display benutzen/ansteuern könnt. ใช้งานไม่ได้ einfach zu halten, benutze ich die ARDUINO GUI zum schreiben des CODEs und zum hochladen der Firmware.
ขั้นตอนที่ 1: Einstellen / Einrichten Der ARDUINO GUI
Als erstes muss das ESP8266 Board ใน ARDUINO GUI verfügbar gemacht werden.
Dazu gehen wir in die Einstellungen (วันที่ Einstellungen / Bild 1) der GUI และ tragen ภายใต้
"Zusätzliche Boardverwalter-URLs:"
ไอน์ (บิล 2). Damit bekommen wir den benötigten Zugang zu dem passenden Boardtreiber.
Jetzt können wir den Passenden Boardtreiber ติดตั้ง
(กระดาน Werkzeuge: Boardverwaltung / Bild 3)
- Dort im Suchfeld "esp8266" eintragen
- Dann "esp8266 by ESP8266 Community" เวอร์ชันการติดตั้ง (ภาพ 4)
- Die ARDUINO GUI เริ่มใหม่
- Danach das passende Board auswählen (z. B.: WeMos D1 R2 & mini)
ขั้นตอนที่ 2: I2C Schnittstelle Scannen
ใช้ PIN ที่คุ้นเคยและแสดงผล OLED-Display angeschlossen wurde, scannen wir zuerst die I2C-Schnittstelle. ดังนั้น können wir auch sehen ob noch weitere I2C-Parts angeschlossen sind.
Den Sketch (Bild 1) auf den ESP Hochladen, ที่ " Seriellen-Monitor " öffnen und auf die Ausgabe warten. Dort könnt Ihr dann sehen, welches อุปกรณ์สำหรับ wo gefunden wurde (ภาพที่ 2 - การสแกน DigitalPIN)
ดาส เออร์เกบนิส แมร์เกน
ใน diesem Fall: SDA = D1: SCL = D2 bei ที่อยู่ 0x3c
ขั้นตอนที่ 3: Demo-Sketch Anpassen Und Auf Den ESP Hochladen
Das ist der Code สำหรับ OLED-Display DEMO
Im 5. Abschnitt findet Ihr ตาย Stelle an der der Code ggf ดัดแปลง เวอร์เดน มัสส์
ยังตายการกำหนดค่าสำหรับตาย I2C-Schnittstelle
Aus diesem รหัส könnt Ihr euch auch auch viele Infos über die Benutzung eines OLEDs caniten.
/** * ใบอนุญาต MIT (MIT) * * ลิขสิทธิ์ (c) 2016 โดย Daniel Eichhorn * * การอนุญาตนี้ให้สิทธิ์แก่บุคคลใดก็ตามที่ได้รับสำเนา * ของซอฟต์แวร์นี้และไฟล์เอกสารที่เกี่ยวข้องโดยไม่เสียค่าใช้จ่าย ("ซอฟต์แวร์") เพื่อจัดการ * ในซอฟต์แวร์โดยไม่มีข้อจำกัด รวมถึงแต่ไม่จำกัดเพียงสิทธิ์ * ในการใช้ คัดลอก แก้ไข ผสาน เผยแพร่ แจกจ่าย อนุญาตช่วง และ/หรือขาย * สำเนาของซอฟต์แวร์ และเพื่ออนุญาตบุคคลที่ซอฟต์แวร์ ได้รับการ * จัดเตรียมให้ทำเช่นนั้น ภายใต้เงื่อนไขต่อไปนี้: * * ประกาศเกี่ยวกับลิขสิทธิ์ข้างต้นและประกาศการอนุญาตนี้จะรวมอยู่ในสำเนาทั้งหมด * หรือส่วนสำคัญของซอฟต์แวร์ * * ซอฟต์แวร์มีให้ "ตามที่เป็น" โดยไม่มีการรับประกันใดๆ ไม่ว่าโดยชัดแจ้งหรือ * โดยนัย รวมถึงแต่ไม่จำกัดเพียงการรับประกันความสามารถในการขายได้ * ความเหมาะสมสำหรับวัตถุประสงค์เฉพาะและการไม่ละเมิด ไม่ว่าในกรณีใด * ผู้เขียนหรือผู้ถือลิขสิทธิ์จะไม่รับผิดชอบต่อการเรียกร้อง ความเสียหาย หรือความรับผิดอื่นใด * ไม่ว่าจะในการดำเนินการตามสัญญา การละเมิด หรืออย่างอื่นที่เกิดขึ้นจาก * ออกจากหรือเกี่ยวข้องกับซอฟต์แวร์หรืออื่นๆ ข้อตกลงใน * ซอฟต์แวร์ * *
/ รวมไลบรารีแสดงผลที่ถูกต้อง
// สำหรับการเชื่อมต่อผ่าน I2C โดยใช้ Wire ให้รวม #include // สำหรับ I2C Wire #include "SSD1306.h" // นามแฝงสำหรับ `#include "SSD1306Wire.h"`
// รวมภาพที่กำหนดเอง
#รวม "images.h"
// เริ่มต้นการแสดงผล OLED โดยใช้ brzo_i2c
// D3 -> SDA // D5 -> SCL // จอแสดงผล SSD1306 (0x3c, D1, D2); หรือจอแสดงผล SSD1306(0x3c, 5, 4); หรือจอแสดงผล SSD1306 (0x3c, GPIO5, GPIO4);
**************************************************************************************************
รหัส PIN ของ Stelle werden และ PIN สำหรับ I2C Schnittstelle konfiguriert
// เริ่มต้นการแสดงผล OLED โดยใช้ Wire library
จอแสดงผล SSD1306 (0x3c, D1, D2);
***************************************************************************************************
#define DEMO_DURATION 3000
typedef เป็นโมฆะ (*สาธิต)(เป็นโมฆะ);
int demoMode = 0;
ตัวนับ int = 1;
การตั้งค่าเป็นโมฆะ () {
Serial.begin(9600); Serial.println("OLED_DEMO"); Serial.println("เริ่มการสาธิต");
// การเริ่มต้น UI จะเป็นการเริ่มต้นการแสดงผลด้วย
display.init();
display.flipScreenVertically();
display.setFont(ArialMT_Plain_10);
}
เป็นโมฆะ drawFontFaceDemo () {
// Font Demo1 Serial.println("ฟอนต์สาธิต 1"); // สร้างแบบอักษรเพิ่มเติมที่ 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"); }
เป็นโมฆะ drawTextFlowDemo () {
Serial.println("drawTextFlowDemo"); display.setFont(ArialMT_Plain_10); display.setTextAlignment(TEXT_ALIGN_LEFT); display.drawStringMaxWidth(0, 0, 128, "หุ่นยนต์คือ \n อนาคต และอนาคตคือปัจจุบัน แต่อย่าลืมธรรมชาติ"); }
เป็นโมฆะ drawTextAlignmentDemo () {
Serial.println("drawTextAlignmentDemo"); // การสาธิตการจัดตำแหน่งข้อความ display.setFont(ArialMT_Plain_10); // Schriftart und -größe einstellen
// พิกัดกำหนดจุดเริ่มต้นด้านซ้ายของข้อความ
display.setTextAlignment(TEXT_ALIGN_LEFT); // Text_Ausrichtung einstellen display.drawString(0, 10, "ชิดซ้าย (0, 10)");
// พิกัดกำหนดศูนย์กลางของข้อความ
display.setTextAlignment(TEXT_ALIGN_CENTER); display.drawString(64, 22, "จัดกึ่งกลาง (64, 22)");
// พิกัดกำหนดปลายด้านขวาของข้อความ
display.setTextAlignment(TEXT_ALIGN_RIGHT); display.drawString(128, 33, "ชิดขวา (128, 33)"); }
เป็นโมฆะ drawRectDemo () {
Serial.println("drawRectDemo"); // วาดพิกเซลในตำแหน่งที่กำหนดสำหรับ (int i = 0; i < 10; i++) { display.setPixel(i, i); display.setPixel(10 - ผม ผม); } display.drawRect(12, 12, 20, 20);
// เติมสี่เหลี่ยม
display.fillRect (14, 14, 17, 17);
// ลากเส้นในแนวนอน
display.drawHorizontalLine(0, 40, 20);
// ลากเส้นในแนวนอน
display.drawVerticalLine(40, 0, 20); }
เป็นโมฆะ drawCircleDemo () {
Serial.println("drawCircleDemo"); สำหรับ (int i=1; i <8; i++) { display.setColor(WHITE); display.drawCircle(32, 32, i*3); ถ้า (i % 2 == 0) { display.setColor (BLACK); } display.fillCircle(96, 32, 32 - i* 3); } }
เป็นโมฆะ drawProgressBarDemo () {
Serial.println("drawProgressBarDemo"); ความคืบหน้า int = (ตัวนับ / 5) % 100; // วาดแถบความคืบหน้า display.drawProgressBar(0, 32, 120, 10, ความคืบหน้า);
// วาดเปอร์เซ็นต์เป็น String
display.setTextAlignment(TEXT_ALIGN_CENTER); display.drawString(64, 15, String(ความคืบหน้า) + "%"); }
Der folgende Link im Kommentar kann helfen ein รูปภาพ oder Logo so umzuwandeln, das es auf dem Display angezeigt werden kann …
เป็นโมฆะ drawImageDemo () {
Serial.println("drawImageDemo"); // ดู https://blog.squix.org/2015/05/esp8266-nodemcu-how… // เกี่ยวกับวิธีการสร้างไฟล์ xbm display.drawXbm(34, 0, Logo_width, Logo_height, Logo_bits); }
การสาธิตการสาธิต = {drawFontFaceDemo, drawTextFlowDemo, drawTextAlignmentDemo, drawRectDemo, drawCircleDemo, drawProgressBarDemo, drawImageDemo};
int demoLength = (sizeof (สาธิต) / sizeof (สาธิต)); เวลานานSinceLastModeSwitch = 0;
วงเป็นโมฆะ () {
// ล้างการแสดงผล display.clear(); // วาดเดโมเมธอดปัจจุบัน demo[demoMode]();
display.setTextAlignment(TEXT_ALIGN_RIGHT);
display.drawString(10, 128, สตริง(มิลลิวินาที())); // เขียนบัฟเฟอร์ไปที่ display display.display();
ถ้า (มิลลิวินาที () - timeSinceLastModeSwitch > DEMO_DURATION) {
demoMode = (โหมดสาธิต + 1) % demoLength; timeSinceLastModeSwitch = มิลลิวินาที (); } เคาน์เตอร์++; ล่าช้า(10); }
ขั้นตอนที่ 4: เครื่องมือ ลิงค์และ Herkunft/ Literaturhinweis
Ich möchte mich bei allen bedanken die an dem ein oder anderen รหัส 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…
วิเอเล Grüße
แมคคัทตี้
แนะนำ:
ดึงและแสดงข้อมูลจากเว็บไซต์ใดๆ ผ่าน Wifi (สัญญาณไฟเหนือ) ด้วย NodeMcu: 6 ขั้นตอน
ดึงและแสดงข้อมูลจากเว็บไซต์ใด ๆ ผ่าน Wifi (ตัวบ่งชี้แสงเหนือ) ด้วย NodeMcu: แรงจูงใจของฉัน: ฉันได้เห็นคำแนะนำมากมายเกี่ยวกับการตั้งค่า/ การใช้ NodeMCU (สร้างขึ้นบนโมดูล ESP8266) สำหรับการสร้างโครงการ IoT (อินเทอร์เน็ตของสิ่งต่าง ๆ ) . อย่างไรก็ตาม บทเรียนเหล่านี้น้อยมากที่มีรายละเอียด/ รหัส/ ไดอะแกรมทั้งหมดสำหรับมือใหม่
โมดูล WiFi วิศวกรรมย้อนกลับแบบสด: 8 ขั้นตอน (พร้อมรูปภาพ)
โมดูล WiFi วิศวกรรมย้อนกลับแบบสด: ฉันชอบที่จะใช้ส่วนประกอบการทำงานซ้ำมากที่สุดเท่าที่ฉันจะทำได้ แม้ว่าฉันจะวิศวกรรมย้อนกลับเครื่องพิมพ์ WiFi วิธีนี้ใช้ได้กับอุปกรณ์อื่นๆ มากมาย โปรด; อย่าเพิ่งแยกชิ้นส่วนอุปกรณ์อิเล็กทรอนิกส์ที่ล้าสมัยออกจากกัน แล้วคาดว่าจะพบเอกสารข้อมูลสำหรับส่วนประกอบที่ได้รับการกู้คืน
การควบคุม Neopixel Wifi ผ่าน NodeMCU: 3 ขั้นตอน
การควบคุม Neopixel Wifi ผ่าน NodeMCU: ถึงเวลาแล้วที่คุณจะต้องการควบคุมไฟ LED RGB ที่คุณต้องจัดการกับสายไฟจำนวนมาก การคลายสายพันกันครั้งแล้วครั้งเล่าอาจก่อให้เกิดการระคายเคืองได้ ด้วย Neopixel คุณมีตัวเลือกในการจ่ายไฟให้กับ LED ด้วยสองสายและเพียงเส้นเดียว ซึ่งก็คือ Dat
ESP8266-NODEMCU $3 โมดูล WiFi #2 - พินไร้สายควบคุมผ่านหน้าเว็บ: 9 ขั้นตอน (พร้อมรูปภาพ)
ESP8266-NODEMCU $3 โมดูล WiFi #2 - พินไร้สายควบคุมผ่านหน้าเว็บ: โลกใหม่ของไมโครคอมพิวเตอร์เหล่านี้มาถึงแล้ว และสิ่งนี้คือ ESP8266 NODEMCU นี่เป็นส่วนแรกที่แสดงให้เห็นว่าคุณสามารถติดตั้งสภาพแวดล้อมของ esp8266 ใน Arduino IDE ของคุณผ่านวิดีโอการเริ่มต้นใช้งานและเป็นส่วนใน
ESP8266-NODEMCU $3 โมดูล WiFi #1- เริ่มต้นใช้งาน WiFi: 6 ขั้นตอน
ESP8266-NODEMCU $3 โมดูล WiFi #1- เริ่มต้นใช้งาน WiFi: โลกใหม่ของไมโครคอมพิวเตอร์เหล่านี้มาถึงแล้ว และสิ่งนี้คือ ESP8266 NODEMCU นี่เป็นส่วนแรกที่แสดงให้เห็นว่าคุณจะติดตั้งสภาพแวดล้อมของ esp8266 ใน arduino IDE ของคุณได้อย่างไรผ่านวิดีโอเริ่มต้นใช้งานและตามส่วนต่าง ๆ