HowTo - Modul WiFi Mini Esp-12F ESP8266 18650 Bateri Nodemcu 0.96 "OLED DEMO Via Arduino GUI: 4 Langkah
HowTo - Modul WiFi Mini Esp-12F ESP8266 18650 Bateri Nodemcu 0.96 "OLED DEMO Via Arduino GUI: 4 Langkah
Anonim
HowTo - Espul-12F Mini WiFi Modul ESP8266 18650 Nodemcu Batterie 0.96
HowTo - Espul-12F Mini WiFi Modul ESP8266 18650 Nodemcu Batterie 0.96

Hallo, hier möchte ich Euch zeigen wie Ihr das mit auf der Hauptplatine verbaute OLED Paparan benutzen / ansteuern könnt. Um möglichst einfach zu halten, benutze ich die ARDUINO GUI zum schreiben des CODEs und zum hochladen der Firmware.

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

ein (Bild 2). Damit bekommen wir den benötigten Zugang zu dem passenden Boardtreiber.

Jetzt können wir den Passenden Boardtreiber installieren

(Papan Werkzeuge: Boardverwaltung / Bild 3)

  • Dort im Suchfeld "esp8266" eintragen
  • Dann "esp8266 oleh ESP8266 Komuniti" auswählen und die aktuellste Versi installieren (Bild 4)
  • Die ARDUINO GUI neu mula
  • Danach das passende Board auswählen (z. B.: WeMos D1 R2 & mini)

Langkah 2: I2C Schnittstelle Scannen

I2C Schnittstelle Scannen
I2C Schnittstelle Scannen
I2C Schnittstelle Scannen
I2C Schnittstelle Scannen

Um zu sehen a PIN welche das OLED-Display angeschlossen wurde, scannen wir zuerst die I2C-Schnittstelle. Jadi 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 Peranti wo gefunden wurde. (Bild 2 - Imbasan DigitalPIN)

Das Ergebnis merken.

Dalam dieem Fall: SDA = D1: SCL = D2 bei Adresse 0x3c

Langkah 3: Sketsa Demo 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.

Juga die Konfiguration für die I2C-Schnittstelle.

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

/ ** * Lesen MIT (MIT) * * Hak cipta (c) 2016 oleh Daniel Eichhorn * * Kebenaran dengan ini diberikan, secara percuma, kepada mana-mana orang yang mendapat salinan * perisian ini dan fail dokumentasi yang berkaitan ("Perisian"), untuk berurusan * dalam Perisian tanpa sekatan, termasuk tanpa batasan hak * untuk menggunakan, menyalin, mengubah, menggabungkan, menerbitkan, mengedarkan, melisensikan, dan / atau menjual * salinan Perisian, dan untuk membenarkan orang yang Perisian tersebut * disediakan untuk melakukannya, tertakluk kepada syarat-syarat berikut: * * Notis hak cipta di atas dan notis kebenaran ini akan disertakan dalam semua * salinan atau sebahagian besar Perisian. * * PERANGKAT LUNAK DISEDIAKAN "SEBAGAIMANA ADANYA", TANPA JAMINAN SETIAP JENIS, EKSPRESI ATAU * TERSIRAT, TERMASUK TETAPI TIDAK TERHAD ATAS JAMINAN KEBERKESANAN, * KESESUAIAN UNTUK TUJUAN TERBARU DAN TIDAK BERFUNGSI. DALAM TIADA PERISTIWA YANG HARUS DILAKUKAN * PENULIS ATAU PEMEGANG HAK CIPTA BERTANGGUNG JAWAB ATAS TUNTUTAN, KEROSAKAN ATAU LAINNYA * TANGGUNG JAWAB, APABILA DALAM TINDAKAN KONTRAK, PENDEKAN ATAU LAINNYA, BERBANGKIT DARI, * DI ATAS ATAU BERHUBUNGAN DENGAN PERANGKAT ATAU PENGGUNAAN LAINNYA PERHUBUNGAN DALAM PERISIAN *. * *

/ Sertakan pustaka paparan yang betul

// Untuk sambungan melalui I2C menggunakan Wire sertakan #include // untuk I2C Wire #include "SSD1306.h" // alias untuk `#include" SSD1306Wire.h ""

// Sertakan gambar tersuai

#sertakan "gambar.h"

// Permulaan paparan OLED menggunakan brzo_i2c

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

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

An der folgenden Stelle mengarahkan dan mematikan PIN untuk die I2C Schnittstelle konfiguriert

// Memulakan paparan OLED menggunakan perpustakaan Wire

Paparan SSD1306 (0x3c, D1, D2);

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

#tentukan DEMO_DURATION 3000

typedef batal (* Demo) (tidak sah);

int demoMode = 0;

kaunter int = 1;

batal persediaan () {

Serial.begin (9600); Serial.println ("OLED_DEMO"); Serial.println ("Mulakan DEMO");

// Memulakan UI juga akan memasuki paparan.

display.init ();

display.flipScreenVertically ();

display.setFont (ArialMT_Plain_10);

}

batal drawFontFaceDemo () {

// Font Demo1 Serial.println ("Font DEMO 1"); // buat lebih banyak fon di 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"); }

batal drawTextFlowDemo () {

Serial.println ("drawTextFlowDemo"); display.setFont (ArialMT_Plain_10); display.setTextAlignment (TEXT_ALIGN_LEFT); display.drawStringMaxWidth (0, 0, 128, "Robot adalah Masa Depan, dan Masa Depan, sekarang. Tetapi jangan lupa Alam"); }

batal drawTextAlignmentDemo () {

Serial.println ("drawTextAlignmentDemo"); // Demo penjajaran teks display.setFont (ArialMT_Plain_10); // Schriftart und -größe einstellen

// Koordinat menentukan titik permulaan kiri teks

display.setTextAlignment (TEXT_ALIGN_LEFT); // Text_Ausrichtung einstellen display.drawString (0, 10, "Rata kiri (0, 10)");

// Koordinat menentukan bahagian tengah teks

display.setTextAlignment (TEXT_ALIGN_CENTER); display.drawString (64, 22, "Jajaran tengah (64, 22)");

// Koordinat menentukan hujung kanan teks

display.setTextAlignment (TEXT_ALIGN_RIGHT); display.drawString (128, 33, "Sejajar kanan (128, 33)"); }

batal drawRectDemo () {

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

// Isi segi empat tepat

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

// Lukis garis secara mendatar

display.drawHorizontalLine (0, 40, 20);

// Lukis garis secara mendatar

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

kekosongan undianCircleDemo () {

Serial.println ("drawCircleDemo"); untuk (int i = 1; i <8; i ++) {display.setColor (WHITE); display.drawCircle (32, 32, i * 3); jika (i% 2 == 0) {display.setColor (HITAM); } display.fillCircle (96, 32, 32 - i * 3); }}

batal drawProgressBarDemo () {

Serial.println ("drawProgressBarDemo"); int progress = (kaunter / 5)% 100; // lukiskan progress bar display.drawProgressBar (0, 32, 120, 10, progress);

// lukis peratusannya sebagai String

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

Der folgende Link im Kommentar kann helfen ein Bild oder Logo jadi umzuwandeln, das es auf dem Display angezeigt werden kann…

batal drawImageDemo () {

Serial.println ("drawImageDemo"); // lihat https://blog.squix.org/2015/05/esp8266-nodemcu-how… // mengenai cara membuat fail xbm display.drawXbm (34, 0, Logo_width, Logo_height, Logo_bits); }

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

int demoLength = (sizeof (demo) / sizeof (Demo)); lama SinceLastModeSwitch = 0;

gelung kosong () {

// kosongkan paparan paparan.clear (); // lukiskan demo kaedah demo semasa [demoMode] ();

display.setTextAlignment (TEXT_ALIGN_RIGHT);

display.drawString (10, 128, String (milis ())); // tulis penyangga ke paparan paparan.display ();

jika (milis () - timeSinceLastModeSwitch> DEMO_DURATION) {

demoMode = (demoMode + 1)% demoLength; timeSinceLastModeSwitch = milis (); } kaunter ++; kelewatan (10); }

Langkah 4: Alat, Pautan 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…

Viele Grüße

McUtty

Disyorkan: