İçindekiler:

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

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

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
Video: max7219 & Arduino 2024, Kasım
Anonim
Nasıl Yapılır - Esp-12F Mini WiFi Modülü ESP8266 18650 Nodemcu Pil 0.96” OLED DEMO Arduino GUI Üzerinden
Nasıl Yapılır - Esp-12F Mini WiFi Modülü ESP8266 18650 Nodemcu Pil 0.96” OLED DEMO Arduino GUI Üzerinden

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

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.

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

I2C Schnittstelle Tarayıcı
I2C Schnittstelle Tarayıcı
I2C Schnittstelle Tarayıcı
I2C Schnittstelle Tarayıcı

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: