فهرست مطالب:

HowTo - Esp -12F Mini WiFi Modul ESP8266 18650 Nodemcu Batterie 0.96”OLED DEMO Via Arduino GUI: 4 مرحله
HowTo - Esp -12F Mini WiFi Modul ESP8266 18650 Nodemcu Batterie 0.96”OLED DEMO Via Arduino GUI: 4 مرحله

تصویری: HowTo - Esp -12F Mini WiFi Modul ESP8266 18650 Nodemcu Batterie 0.96”OLED DEMO Via Arduino GUI: 4 مرحله

تصویری: HowTo - Esp -12F Mini WiFi Modul ESP8266 18650 Nodemcu Batterie 0.96”OLED DEMO Via Arduino GUI: 4 مرحله
تصویری: DIY Arduino SmartWatch, OLED, Wemos D1 mini, ESP8266 | Mr B Does Electronics 2024, جولای
Anonim
HowTo - Esp -12F Mini WiFi Modul ESP8266 18650 Nodemcu Batterie 0.96”OLED DEMO Via Arduino GUI
HowTo - Esp -12F Mini WiFi Modul ESP8266 18650 Nodemcu Batterie 0.96”OLED DEMO Via Arduino GUI

سلام ،

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: 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
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:"

ein (بیلد 2). 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 (بیلد 4)
  • Die ARDUINO GUI neu starten
  • 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

Um zu sehen an welche PINs das OLED-Display angeschlossen wurde، scannen wir zuerst die I2C-Schnittstelle. So können wir auch sehen ob noch weitere I2C-Parts angeschlossen sind.

Den Sketch (Bild 1) auf den ESP Hochladen، den "Seriellen-Monitor" öffnen und auf die Ausgabe warten. Dort könnt Ihr dann sehen، welches Device wo gefunden wurde. (Bild 2 - اسکن DigitalPIN)

Das Ergebnis merken.

در diesem Fall: SDA = D1: SCL = D2 bei Adresse 0x3c

مرحله 3: Demo-Sketch 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.

همچنین die Konfiguration für die I2C-Schnittstelle.

Aus diesem Code könnt Ihr euch auch viele Info über die Benutzung eines OLEDs ableiten.

/** * مجوز MIT (MIT) * * حق چاپ (ج) 2016 توسط Daniel Eichhorn * * بدین وسیله مجوز به صورت رایگان به هر شخصی که نسخه * این نرم افزار و فایلهای اسناد مربوطه را دریافت کند ("نرم افزار") داده می شود.) ، معامله * در نرم افزار بدون محدودیت ، از جمله بدون محدودیت حقوق * استفاده ، کپی ، تغییر ، ادغام ، انتشار ، توزیع ، مجوز و/یا فروش * نسخه های نرم افزار ، و اجازه دادن به افرادی که نرم افزار به آنها مشروط به شرایط زیر: * اعلامیه حق نسخه برداری فوق و این اطلاعیه مجوز باید در تمام * نسخه ها یا بخشهای قابل توجهی از نرم افزار گنجانده شود. * * نرم افزار "همانطور که هست" ارائه می شود ، بدون گارانتی برای هر نوع ، بیان شده یا * شامل ، شامل اما محدود به ضمانت های تجاری ، * تناسب برای یک هدف خاص و غیر نهایی در هیچ موردی نباید * نویسندگان یا دارندگان حق چاپ در قبال هرگونه ادعا ، خسارت یا سایر مسئولیت ها مسئولیت داشته باشند ، هرچند در اقدام پیمان ، تخلف یا غیره ، ناشی از ، * از خارج یا در ارتباط با دیگری به این ترتیب معاملات در * نرم افزار * *

/ شامل کتابخانه نمایش صحیح است

// برای اتصال از طریق I2C با استفاده از Wire شامل #include // برای I2C Wire #شامل "SSD1306.h" // نام مستعار برای " #شامل" SSD1306Wire.h ""

// شامل تصاویر سفارشی

#شامل "images.h"

// ابتدا صفحه نمایش OLED را با استفاده از brzo_i2c فعال کنید

// D3 -> SDA // D5 -> SCL // صفحه نمایش SSD1306 (0x3c ، D1 ، D2) ؛ یا صفحه نمایش SSD1306 (0x3c ، 5 ، 4) ؛ یا صفحه نمایش SSD1306 (0x3c ، GPIO5 ، GPIO4) ؛

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

An der folgenden Stelle werden dann die donn die PINs für die I2C Schnittstelle konfiguriert

// صفحه نمایش OLED را با استفاده از کتابخانه Wire فعال کنید

صفحه نمایش SSD1306 (0x3c ، D1 ، D2) ؛

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

#تعریف DEMO_DURATION 3000

typedef void (*نسخه ی نمایشی) (void)؛

int demoMode = 0 ؛

int counter = 1؛

void setup () {

Serial.begin (9600)؛ Serial.println ("OLED_DEMO") ؛ Serial.println ("شروع DEMO") ؛

// با راه اندازی اولیه رابط کاربری ، نمایشگر نیز راه اندازی می شود.

display.init ()؛

display.flipScreenVertically ()؛

display.setFont (ArialMT_Plain_10) ؛

}

void drawFontFaceDemo () {

// Font Demo1 Serial.println ("Font DEMO 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") ؛ }

void drawTextFlowDemo () {

Serial.println ("drawTextFlowDemo") ؛ display.setFont (ArialMT_Plain_10) ؛ display.setTextAlignment (TEXT_ALIGN_LEFT) ؛ display.drawStringMaxWidth (0 ، 0 ، 128 ، "روبات ها / n آینده هستند ، و آینده ، اکنون است. اما طبیعت را فراموش نکنید") ؛ }

void drawTextAlignmentDemo () {

Serial.println ("drawTextAlignmentDemo") ؛ // نمایش نسخه نمایشی تراز متن.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)") ؛ }

void 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) ؛

// مستطیل را پر کنید

display.fillRect (14 ، 14 ، 17 ، 17) ؛

// خطی را به صورت افقی بکشید

display.drawHorizontalLine (0 ، 40 ، 20) ؛

// خطی را به صورت افقی بکشید

display.drawVerticalLine (40 ، 0 ، 20) ؛ }

void drawCircleDemo () {

Serial.println ("drawCircleDemo") ؛ برای (int i = 1 ؛ i <8؛ i ++) {display.setColor (سفید) ؛ 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 = (شمارنده / 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 Bild oder Logo so umzuwandeln، das es auf dem Display angezeigt werden kann…

void drawImageDemo () {

Serial.println ("drawImageDemo") ؛ // در مورد نحوه ایجاد فایل های xbm display.drawXbm (34 ، 0 ، Logo_width ، Logo_height ، Logo_bits) به آدرس https://blog.squix.org/2015/05/esp8266-nodemcu-how… // مراجعه کنید. }

نسخه ی نمایشی نسخه نمایشی = {drawFontFaceDemo، drawTextFlowDemo ، drawTextAlignmentDemo ، drawRectDemo ، drawCircleDemo ، drawProgressBarDemo ، drawImageDemo} ؛

int demoLength = (sizeof (نسخه ی نمایشی) / sizeof (نسخه ی نمایشی)) ؛ long timeSinceLastModeSwitch = 0؛

حلقه خالی () {

// صفحه نمایش را پاک کنید. Clear ()؛ // رسم نسخه نمایشی روش نمایشی فعلی [demoMode] ()؛

display.setTextAlignment (TEXT_ALIGN_RIGHT) ؛

display.drawString (10 ، 128 ، String (میلی ثانیه ())) ؛ // بافر را بر روی display display.display () بنویسید؛

if (millis () - timeSinceLastModeSwitch> DEMO_DURATION) {

demoMode = (demoMode + 1)٪ demoLength؛ timeSinceLastModeSwitch = millis ()؛ } شمارنده ++؛ تأخیر (10) ؛ }

مرحله 4: ابزارها ، پیوندها Und Herkunft/Literaturhinweis

Ich möchte mich bei allen bedanken die a dem ein oder anderen Code 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…

ویله گرو

مکوتی

توصیه شده: