Daftar Isi:
- Langkah 1: Einstellen / Einrichten Der ARDUINO GUI
- Langkah 2: Pemindaian Schnittstelle I2C
- Langkah 3: Demo-Sketsa Anpassen Und Auf Den ESP Hochladen
- Langkah 4: Alat, Tautan Di Bawah Herkunft/Literaturhinweis
Video: HowTo - Modul WiFi Mini Esp-12F ESP8266 18650 Baterai Nodemcu 0.96” OLED DEMO Via Arduino GUI: 4 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:55
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
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
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:
Penghemat Baterai, Sakelar Pemutus Pelindung Debit Dengan ATtiny85 untuk Mobil Asam Timbal atau Baterai Lipo: 6 Langkah
Penghemat Baterai, Sakelar Pemutus Pelindung Pelepasan Dengan ATtiny85 untuk Mobil Asam Timbal atau Baterai Lipo: Karena saya memerlukan beberapa pelindung baterai untuk mobil dan tata surya saya, saya menganggap yang komersial dengan harga $49 terlalu mahal. Mereka juga menggunakan terlalu banyak daya dengan 6 mA. Saya tidak dapat menemukan petunjuk apa pun tentang masalah ini. Jadi saya membuat sendiri yang menarik 2mA. Bagaimana
Mudah Memodifikasi Baterai Tab Android Dengan Baterai LiPo 18650: 5 Langkah
Mudah Memodifikasi Baterai Tab Android Dengan Baterai LiPo 18650: Dalam instruksi ini kita akan melihat cara memodifikasi Tab Android lama yang baterainya mati dengan baterai LiPo 18650. Penafian: Baterai LiPo (Lithium Polymer) terkenal mudah terbakar/meledak jika tidak dirawat dengan benar. Bekerja dengan Litium
Cara Membuat Multiple ESP Talk Via ESP-NOW Menggunakan ESP32 dan ESP8266: 8 Langkah
Cara Membuat Beberapa ESP Bicara Melalui ESP-SEKARANG Menggunakan ESP32 dan ESP8266: Pada proyek saya yang sedang berlangsung, saya memerlukan beberapa ESP untuk berbicara satu sama lain tanpa router. Untuk melakukan ini, saya akan menggunakan ESP-NOW untuk membuat komunikasi nirkabel satu sama lain tanpa router di ESP
Memulai Dengan Esp 8266 Esp-01 Dengan Arduino IDE - Memasang Papan Esp di Arduino Ide dan Pemrograman Esp: 4 Langkah
Memulai Dengan Esp 8266 Esp-01 Dengan Arduino IDE | Memasang Papan Esp di Ide dan Pemrograman Arduino Esp: Dalam instruksi ini kita akan belajar cara memasang papan esp8266 di Arduino IDE dan cara memprogram esp-01 dan mengunggah kode di dalamnya. ini dan kebanyakan orang menghadapi masalah
Cara Menggunakan Wemos ESP-Wroom-02 D1 Mini WiFi Module ESP8266 + 18650 Dengan Menggunakan Blynk : 10 Langkah
Cara Menggunakan Modul WiFi Mini Wemos ESP-Wroom-02 D1 ESP8266 + 18650 dengan Menggunakan Blynk: Spesifikasi: Kompatibel dengan integrasi sistem pengisian nodemcu 18650 Indikator LED (hijau berarti merah penuh berarti pengisian) dapat digunakan saat mengisi daya Switch control power supply SMT konektor dapat digunakan untuk mode tidur · 1 tambahkan