İçindekiler:
- Adım 1: Einstellen / Einrichten Der ARDUINO GUI
- 2. Adım: I2C Schnittstelle Scannen
- Adım 3: Anpassen Und Auf Den ESP Hochladen Demo-Sketch
- Adım 4: Araçlar, Bağlantılar ve Herkunft/Literaturhinweis
Video: Nasıl Yapılır - Esp-12F Mini WiFi Modülü ESP8266 18650 Nodemcu Pil 0.96” OLED DEMO Arduino GUI Üzerinden: 4 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:19
Merhaba, Daha fazla bilgi Euch zeigen wie Ihr das mit auf der Hauptplatine ayrıntılı OLED Ekran Benutzen/ansteuern könnt. ARDUINO GUI zum schreiben des CODEs und zum hochladen der Firmware.
Adım 1: Einstellen / Einrichten Der ARDUINO GUI
Als erstes muss das ESP8266 Board in der ARDUINO GUI verfügbar gemacht werden.
GUI ve tragen unter'de Einstellungen (Datei Einstellungen / Bild 1) içinde Dazu gehen wir
"Zusätzliche Boardverwalter-URL'leri:"
ein (Bild 2). Zugang zu dem passenden Boardtreiber'i ziyaret edin.
Jetzt können wir ve Passenden Boardtreiber kurulumları
(Werkzeuge Kurulu: Boardverwaltung / Bild 3)
- Dort im Suchfeld "esp8266" eintragen
- Dann "esp8266 by ESP8266 Community" auswählen und die aktuellste Version installieren (Bild 4)
- Die ARDUINO GUI neu starten
- Danach das passende Board auswählen (z. B.: WeMos D1 R2 ve mini)
2. Adım: I2C Schnittstelle Scannen
OLED-Display angeschlossen wurde, I2C-Schnittstelle tarafından taranan PIN'leri iyi bir şekilde görün. Bu nedenle, I2C-Parts angeschlossen sind.
Den Sketch (Bild 1) auf den ESP Hochladen, den " Seriellen-Monitor " öffnen ve auf die Ausgabe warten. Dort könnt Ihr dann sehen, Device wo gefunden wurde'yi selamlıyor. (Bild 2 - Dijital PIN Taraması)
Das Ergebnis merken.
In Diesem Güz: SDA = D1: SCL = D2 bei Adresse 0x3c
Adım 3: Anpassen Und Auf Den ESP Hochladen Demo-Sketch
OLED-Display DEMO için Das ist der Code für das
Im 5. Abschnitt findet Ihr die Stelle an der Code ggf. modifiye werden muss.
Ayrıca I2C-Schnittstelle için Yapılandırma.
Aus diesem Code könnt Ihr euch auch viele Infos über die Benutzung eines OLED'ler mümkün.
/** * MIT Lisansı (MIT) * * Telif Hakkı (c) 2016 by Daniel Eichhorn * * Bu yazılımın ve ilgili belge dosyalarının ("Yazılım") bir kopyasını edinen herkese işbu belgeyle ücretsiz olarak izin verilir.), Yazılımı * kullanma, kopyalama, değiştirme, birleştirme, yayınlama, dağıtma, alt lisans verme ve/veya satma * hakları dahil ancak bunlarla sınırlı olmamak üzere kısıtlama olmaksızın * dağıtmak ve Yazılımın kendisine ait olduğu kişilere izin vermek * aşağıdaki koşullara tabi olarak bunu yapmak için * sağlanmıştır: * * Yukarıdaki telif hakkı bildirimi ve bu izin bildirimi, Yazılımın tüm * kopyalarına veya önemli bölümlerine dahil edilecektir. * * YAZILIM, SATILABİLİRLİK GARANTİLERİ DAHİL ANCAK BUNLARLA SINIRLI OLMAYAN, * BELİRLİ BİR AMACA UYGUNLUK VE İHLAL ETMEME GARANTİLERİ DAHİL OLMAK ÜZERE, AÇIK VEYA ZIMNİ HİÇBİR GARANTİ OLMAKSIZIN "OLDUĞU GİBİ" SAĞLANMAKTADIR. HİÇBİR DURUMDA * YAZARLAR VEYA TELİF HAKKI SAHİPLERİ, * YAZILIMDAN KAYNAKLANAN, * YAZILIMDAN KAYNAKLANAN, * YAZILIMDAN KAYNAKLANAN HERHANGİ BİR İDDİA, ZARAR VEYA DİĞER * SORUMLULUKTAN SORUMLU OLMAYACAKTIR * YAZILIMDAKİ İŞLER. * *
/ Doğru görüntüleme kitaplığını dahil et
// Wire kullanarak I2C üzerinden bağlantı için include #include // I2C Wire için #include "SSD1306.h" // `#include "SSD1306Wire.h"` için diğer ad
// Özel görüntüleri dahil et
#include "images.h"
// OLED ekranını brzo_i2c kullanarak başlatın
// D3 -> SDA // D5 -> SCL // SSD1306 görüntü(0x3c, D1, D2); veya SSD1306 ekranı (0x3c, 5, 4); veya SSD1306 ekranı (0x3c, GPIO5, GPIO4);
**************************************************************************************************
An der folgenden Stelle werden ve I2C Schnittstelle yapılandırması için PIN'ler
// Wire kitaplığını kullanarak OLED ekranını başlat
SSD1306 ekran (0x3c, D1, D2);
***************************************************************************************************
#define DEMO_DURATION 3000
typedef void (*Demo)(void);
int demoModu = 0;
int sayaç = 1;
geçersiz kurulum() {
Seri.başla(9600); Serial.println("OLED_DEMO"); Serial.println("DEMO'yu Başlatın");
// Kullanıcı arayüzünü başlatmak, ekranı da başlatacaktır.
display.init();
display.flipScreenVertically();
display.setFont(ArialMT_Plain_10);
}
geçersiz drawFontFaceDemo() {
// Yazı Tipi Demo1 Serial.println("Yazı Tipi DEMO 1"); // https://oleddisplay.squix.ch/ display.setTextAlignment(TEXT_ALIGN_LEFT) adresinde daha fazla yazı tipi oluşturun; 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"); }
geçersiz drawTextFlowDemo() {
Serial.println("drawTextFlowDemo"); display.setFont(ArialMT_Plain_10); display.setTextAlignment(TEXT_ALIGN_LEFT); display.drawStringMaxWidth(0, 0, 128, "Robotlar \n Gelecektir ve Gelecek şimdidir. Ama Doğayı unutmayın"); }
geçersiz drawTextAlignmentDemo() {
Serial.println("drawTextAlignmentDemo"); // Metin hizalama demosu display.setFont(ArialMT_Plain_10); // Schriftart und -größe einstellen
// Koordinatlar metnin sol başlangıç noktasını tanımlar
display.setTextAlignment(TEXT_ALIGN_LEFT); // Text_Ausrichtung einstellen display.drawString(0, 10, "Sola hizalanmış (0, 10)");
// Koordinatlar metnin merkezini tanımlar
display.setTextAlignment(TEXT_ALIGN_CENTER); display.drawString(64, 22, "Ortaya hizalanmış (64, 22)");
// Koordinatlar metnin sağ ucunu tanımlar
display.setTextAlignment(TEXT_ALIGN_RIGHT); display.drawString(128, 33, "Sağa hizalanmış (128, 33)"); }
geçersiz drawRectDemo() {
Serial.println("drawRectDemo"); // (int i = 0; i < 10; i++) { display.setPixel(i, i); için verilen konumda bir piksel çizin display.setPixel(10 - ben, ben); } display.drawRect(12, 12, 20, 20);
// dikdörtgeni doldurun
display.fillRect(14, 14, 17, 17);
// yatay bir çizgi çiz
display.drawHorizontalLine(0, 40, 20);
// yatay bir çizgi çiz
display.drawVerticalLine(40, 0, 20); }
geçersiz drawCircleDemo() {
Serial.println("drawCircleDemo"); for (int i=1; i < 8; i++) { display.setColor(BEYAZ); display.drawCircle(32, 32, i*3); if (i % 2 == 0) { display.setColor(SİYAH); } display.fillCircle(96, 32, 32 - i* 3); } }
geçersiz drawProgressBarDemo() {
Serial.println("drawProgressBarDemo"); int ilerleme = (sayaç / 5) % 100; // ilerleme çubuğunu çiz display.drawProgressBar(0, 32, 120, 10, ilerleme);
// yüzdeyi String olarak çiz
display.setTextAlignment(TEXT_ALIGN_CENTER); display.drawString(64, 15, String(ilerleme) + "%"); }
Der folgende Link im Yorumlar kann helfen ein Bild oder Logo so umzuwandeln, das es auf dem Display angezeigt werden kann …
geçersiz drawImageDemo() {
Serial.println("drawImageDemo"); // bkz. https://blog.squix.org/2015/05/esp8266-nodemcu-how… // xbm dosyalarının nasıl oluşturulacağı hakkında display.drawXbm(34, 0, Logo_width, Logo_height, Logo_bits); }
Demo demoları = {drawFontFaceDemo, drawTextFlowDemo, drawTextAlignmentDemo, drawRectDemo, drawCircleDemo, drawProgressBarDemo, drawImageDemo};
int demoLength = (sizeof(demos) / sizeof(Demo)); long timeSinceLastModeSwitch = 0;
boşluk döngüsü () {
// ekranı temizle display.clear(); // mevcut demo yöntemini çizin demos[demoMode]();
display.setTextAlignment(TEXT_ALIGN_RIGHT);
display.drawString(10, 128, String(millis())); // arabelleği ekrana yaz display.display();
if (millis() - timeSinceLastModeSwitch > DEMO_DURATION) {
demoMode = (demoMode + 1) % demoLength; timeSinceLastModeSwitch = millis(); } sayaç++; gecikme(10); }
Adım 4: Araçlar, Bağlantılar ve Herkunft/Literaturhinweis
Ich möchte mich bei allen bedanken die an dem ein oder anderen Code mit gewirkt haben.
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
Önerilen:
Led'i İnternet Üzerinden Nodemcu Kullanarak Blynk Uygulaması Üzerinden Kontrol Etme: 5 Adım
Led'i Nodemcu Kullanarak İnternet Üzerinden Blynk Uygulaması İle Kontrol Etme: Herkese Merhaba Bugün Size İnternet Üzerinden Akıllı Telefon Kullanarak Bir LED'i Nasıl Kontrol Edebileceğinizi Göstereceğiz
Dragonboard Üzerindeki ZigBee Modülü Üzerinden Bir Lamba Nasıl Bağlanır ve Kontrol Edilir: 5 Adım
Dragonboard'daki ZigBee Modülü Üzerinden Bir Lamba Nasıl Bağlanır ve Kontrol Edilir: Bu talimat, kullanıcıya ZigBee modülünün Dragonboard'a nasıl bağlanacağını ve doğru şekilde kurulacağını ve bir ZigBee IOT ağı oluşturarak ZigBee kontrollü bir Lamba (OSRAM) ile nasıl etkileşime gireceğini öğretir.Gereksinimler : Dragonboard 410c; CC2531 USB Dongle; T
GPRS Üzerinden TCP/IP Bağlantısı: SIM900A Modülü Kullanılarak Sunucuya Nasıl Veri Gönderilir: 4 Adım
GPRS Üzerinden TCP/IP Bağlantısı: SIM900A Modülünü Kullanarak Sunucuya Nasıl Veri Gönderilir: Bu dersimizde sizlere sim900 modülü kullanılarak TCP sunucusuna nasıl veri gönderileceğini anlatacağım. Ayrıca sunucudan istemciye nasıl veri alabileceğimizi göreceğiz (GSM modülü)
18650 Kullanarak 9v Pil Paketi Nasıl Yapılır: 7 Adım
18650 Kullanarak 9v Pil Paketi Nasıl Yapılır: Bir güç paketinde yaygın ve yeniden kullanımı kolay, istediğiniz şarj edilebilir paketi oluşturmak için seri veya paralel olarak bağlanan yeniden şarj edilebilir 18650 lityum iyon hücreler kullanılarak 9v pil paketi nasıl yapılır
18650 Lityum İyon Pil Şarj Cihazı Nasıl Yapılır: 7 Adım
18650 Lityum İyon Pil Şarj Cihazı Nasıl Yapılır: Bu talimatta size 18650 pil şarj cihazının nasıl yapıldığını göstereceğim