Daftar Isi:

HowTo - Modul WiFi Mini Esp-12F ESP8266 18650 Baterai Nodemcu 0.96” OLED DEMO Via Arduino GUI: 4 Langkah
HowTo - Modul WiFi Mini Esp-12F ESP8266 18650 Baterai Nodemcu 0.96” OLED DEMO Via Arduino GUI: 4 Langkah

Video: HowTo - Modul WiFi Mini Esp-12F ESP8266 18650 Baterai Nodemcu 0.96” OLED DEMO Via Arduino GUI: 4 Langkah

Video: HowTo - Modul WiFi Mini Esp-12F ESP8266 18650 Baterai Nodemcu 0.96” OLED DEMO Via Arduino GUI: 4 Langkah
Video: NodeMCU V3 ESP8266 - обзор, подключение и прошивка в Arduino IDE 2024, Juli
Anonim
HowTo - Modul WiFi Mini Esp-12F ESP8266 18650 Baterai Nodemcu 0.96” OLED DEMO Via Arduino GUI
HowTo - Modul WiFi Mini Esp-12F ESP8266 18650 Baterai Nodemcu 0.96” OLED DEMO Via Arduino GUI

Halo, 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.

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 di der ARDUINO GUI verfügbar gemacht werden.

Dazu gehen wir in die Einstellungen (Datei Einstellungen / Bild 1) dari GUI dan 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

(Dewan Werkzeuge: Boardverwaltung / Bild 3)

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

Langkah 2: Pemindaian Schnittstelle I2C

Pemindaian Schnittstelle I2C
Pemindaian Schnittstelle I2C
Pemindaian Schnittstelle I2C
Pemindaian Schnittstelle I2C

Um zu sehen an welche PINs 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 Perangkat wo gefunden wurde. (Bild 2 - Pemindaian DigitalPIN)

Das Ergebnis merken.

Di musim gugur diesem: SDA = D1: SCL = D2 bei Alamat 0x3c

Langkah 3: Demo-Sketsa 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 mati Konfigurasi untuk mati I2C-Schnittstelle.

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

/** * Lisensi MIT (MIT) * * Hak Cipta (c) 2016 oleh Daniel Eichhorn * * Dengan ini izin diberikan, gratis, kepada siapa pun yang memperoleh salinan * perangkat lunak ini dan file dokumentasi terkait ("Perangkat Lunak"), untuk menangani * dalam Perangkat Lunak tanpa batasan, termasuk namun tidak terbatas pada hak * untuk menggunakan, menyalin, memodifikasi, menggabungkan, menerbitkan, mendistribusikan, mensublisensikan, dan/atau menjual * salinan Perangkat Lunak, dan mengizinkan orang yang menerima Perangkat Lunak adalah * dilengkapi untuk melakukannya, tunduk pada ketentuan berikut: * * Pemberitahuan hak cipta di atas dan pemberitahuan izin ini harus disertakan dalam semua * salinan atau sebagian besar Perangkat Lunak. * * PERANGKAT LUNAK INI DISEDIAKAN "SEBAGAIMANA ADANYA", TANPA JAMINAN APA PUN, TERSURAT MAUPUN * TERSIRAT, TERMASUK NAMUN TIDAK TERBATAS PADA JAMINAN DIPERDAGANGKAN, * KESESUAIAN UNTUK TUJUAN TERTENTU DAN TANPA PELANGGARAN. DALAM HAL APAPUN * PENULIS ATAU PEMEGANG HAK CIPTA TIDAK BERTANGGUNG JAWAB ATAS KLAIM, KERUSAKAN ATAU TANGGUNG JAWAB * LAINNYA, BAIK DALAM TINDAKAN KONTRAK, KERUGIAN ATAU LAINNYA, YANG TIMBUL DARI, * DARI ATAU SEHUBUNGAN DENGAN PERANGKAT LUNAK ATAU LAINNYA DEALINGS DI * PERANGKAT LUNAK. * *

/ Sertakan perpustakaan tampilan yang benar

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

// Sertakan gambar khusus

#sertakan "gambar.h"

// Inisialisasi tampilan OLED menggunakan brzo_i2c

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

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

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

// Inisialisasi tampilan OLED menggunakan pustaka Wire

Layar SSD1306 (0x3c, D1, D2);

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

#tentukan DEMO_DURATION 3000

typedef void (*Demo)(void);

int demoMode = 0;

int penghitung = 1;

batalkan pengaturan() {

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

// Menginisialisasi UI akan memulai tampilan juga.

tampilan.init();

display.flipScreenVertikal();

display.setFont(ArialMT_Plain_10);

}

batal drawFontFaceDemo() {

// Font Demo1 Serial.println("Font DEMO 1"); // buat lebih banyak font 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 \n Masa Depan, dan Masa Depan, sekarang. Tapi jangan lupakan Sifatnya"); }

void drawTextAlignmentDemo() {

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

// Koordinat menentukan titik awal kiri teks

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

// Koordinat menentukan pusat teks

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

// Koordinat menentukan ujung kanan teks

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

batal drawRectDemo() {

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

// Isi persegi panjang

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

// Gambar garis horizontal

display.drawHorizontalLine(0, 40, 20);

// Gambar garis horizontal

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

batal drawCircleDemo() {

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

batal drawProgressBarDemo() {

Serial.println("drawProgressBarDemo"); int kemajuan = (penghitung / 5) % 100; // menggambar bilah kemajuan display.drawProgressBar(0, 32, 120, 10, kemajuan);

// gambar persentase sebagai String

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

Der folgende Tautan im Komentar kann helfen ein Bild oder Logo so umzuwandeln, das es auf dem Tampilan angezeigt werden kann …

batal drawImageDemo() {

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

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

int demoLength = (ukuran(demo) / ukuran(Demo)); lama sejakLastModeSwitch = 0;

lingkaran kosong() {

// bersihkan tampilan display.clear(); // menggambar metode demo saat ini demos[demoMode]();

display.setTextAlignment(TEXT_ALIGN_RIGHT);

display.drawString(10, 128, String(millis())); // tulis buffer ke tampilan display.display();

if (millis() - time SinceLastModeSwitch > DEMO_DURATION) {

demoMode = (demoMode + 1) % demoLength; time SinceLastModeSwitch = milis(); } penghitung++; penundaan (10); }

Langkah 4: Alat, Tautan Di Bawah Herkunft/Literaturhinweis

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

Direkomendasikan: