สารบัญ:

HowTo - Esp-12F โมดูล WiFi ขนาดเล็ก ESP8266 18650 Nodemcu Batterie 0.96” OLED DEMO ผ่าน Arduino GUI: 4 ขั้นตอน
HowTo - Esp-12F โมดูล WiFi ขนาดเล็ก ESP8266 18650 Nodemcu Batterie 0.96” OLED DEMO ผ่าน Arduino GUI: 4 ขั้นตอน

วีดีโอ: HowTo - Esp-12F โมดูล WiFi ขนาดเล็ก ESP8266 18650 Nodemcu Batterie 0.96” OLED DEMO ผ่าน Arduino GUI: 4 ขั้นตอน

วีดีโอ: HowTo - Esp-12F โมดูล WiFi ขนาดเล็ก ESP8266 18650 Nodemcu Batterie 0.96” OLED DEMO ผ่าน Arduino GUI: 4 ขั้นตอน
วีดีโอ: ESP8266 ใส่ถ่าน WeMos ESP8266 built in 0.96" OLED and Battery ☯ RiD Finity 2024, พฤศจิกายน
Anonim
HowTo - Esp-12F โมดูล WiFi ขนาดเล็ก ESP8266 18650 Nodemcu Batterie 0.96” OLED DEMO ผ่าน Arduino GUI
HowTo - Esp-12F โมดูล WiFi ขนาดเล็ก ESP8266 18650 Nodemcu Batterie 0.96” OLED DEMO ผ่าน Arduino GUI

สวัสดี

มากกว่า 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

ไอน์สเตลเลน / Einrichten Der ARDUINO GUI
ไอน์สเตลเลน / Einrichten Der ARDUINO GUI
ไอน์สเตลเลน / Einrichten Der ARDUINO GUI
ไอน์สเตลเลน / Einrichten Der ARDUINO GUI
ไอน์สเตลเลน / Einrichten Der ARDUINO GUI
ไอน์สเตลเลน / Einrichten Der ARDUINO GUI
ไอน์สเตลเลน / Einrichten Der ARDUINO GUI
ไอน์สเตลเลน / 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

I2C Schnittstelle Scannen
I2C Schnittstelle Scannen
I2C Schnittstelle Scannen
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

แมคคัทตี้

แนะนำ: