Πίνακας περιεχομένων:

HowTo - Esp -12F Mini WiFi Modul ESP8266 18650 Μπαταρία Nodemcu 0.96”OLED DEMO Via Arduino GUI: 4 Βήματα
HowTo - Esp -12F Mini WiFi Modul ESP8266 18650 Μπαταρία Nodemcu 0.96”OLED DEMO Via Arduino GUI: 4 Βήματα

Βίντεο: HowTo - Esp -12F Mini WiFi Modul ESP8266 18650 Μπαταρία Nodemcu 0.96”OLED DEMO Via Arduino GUI: 4 Βήματα

Βίντεο: HowTo - Esp -12F Mini WiFi Modul ESP8266 18650 Μπαταρία Nodemcu 0.96”OLED DEMO Via Arduino GUI: 4 Βήματα
Βίντεο: DIY Arduino SmartWatch, OLED, Wemos D1 mini, ESP8266 | Mr B Does Electronics 2024, Ιούλιος
Anonim
HowTo - Esp -12F Mini WiFi Modul ESP8266 18650 Μπαταρία Nodemcu 0,96”OLED DEMO Via Arduino GUI
HowTo - Esp -12F Mini WiFi Modul ESP8266 18650 Μπαταρία Nodemcu 0,96”OLED DEMO Via Arduino GUI

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

Βήμα 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-URL:"

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

Jetzt können wir den Passenden Boardtreiber installieren

(Werkzeuge Board: 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 & mini)

Βήμα 2: I2C Schnittstelle Scannen

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

Μπορείτε να επιλέξετε PINs das OLED-Display angeschlossen wurde, scannen wir zuerst die I2C-Schnittstelle. So 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 Device wo gefunden wurde. (Bild 2 - DigitalPIN Scan)

Das Ergebnis merken.

Σε diesem Fall: SDA = D1: SCL = D2 bei Adresse 0x3c

Βήμα 3: Demo-Sketch 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.

Επίσης die Konfiguration für die I2C-Schnittstelle.

Aus diesem Κώδικας könnt Ihr euch auch viele Πληροφορίες über die Benutzung eines OLEDs ableiten.

/** * Η άδεια MIT (MIT) * * Πνευματικά δικαιώματα (γ) 2016 από τον Daniel Eichhorn * * Η άδεια χορηγείται, χωρίς χρέωση, σε οποιοδήποτε άτομο λαμβάνει αντίγραφο * αυτού του λογισμικού και των σχετικών αρχείων τεκμηρίωσης (το "Λογισμικό"), να ασχολείται * με το Λογισμικό χωρίς περιορισμούς, συμπεριλαμβανομένων χωρίς περιορισμούς των δικαιωμάτων * χρήσης, αντιγραφής, τροποποίησης, συγχώνευσης, δημοσίευσης, διανομής, αδειοδότησης και/ή πώλησης * αντιγράφων του Λογισμικού, και να επιτρέπεται σε άτομα στα οποία το Λογισμικό παρέχεται * για να το πράξει, υπό τις ακόλουθες προϋποθέσεις: * * Η παραπάνω ειδοποίηση για πνευματικά δικαιώματα και αυτή η ειδοποίηση άδειας θα περιλαμβάνονται σε όλα τα * αντίγραφα ή σημαντικά τμήματα του Λογισμικού. * * ΤΟ ΛΟΓΙΣΜΙΚΟ ΠΑΡΕΧΕΤΑΙ "ΟΠΩΣ", ΧΩΡΙΣ ΕΓΓΥΗΣΗ ΟΠΟΙΟΥΔΗΠΟΤΕ ΕΙΔΟΣ, ΕΚΦΡΑΣΤΕ * * ΕΠΙΤΡΕΠΕΤΑΙ, ΠΕΡΙΛΑΜΒΑΝΟΝ ΑΛΛΑ ΟΧΙ ΠΕΡΙΟΡΙΣΜΕΝΟ ΣΤΙΣ ΕΓΓΥΗΣΕΙΣ ΤΗΣ ΕΜΠΟΡΙΚΟΤΗΤΑΣ, ΣΕ ΚΑΜΙΑ ΠΕΡΙΠΤΩΣΗ ΔΕΝ ΕΙΝΑΙ ΥΠΕΥΘΥΝΟΙ ΟΙ * ΣΥΓΓΡΑΦΕΕΣ ΚΑΙ ΔΙΚΑΙΩΜΑΤΟΠΟΙΟΙ ΓΙΑ ΟΠΟΙΑΔΗΠΟΤΕ ΑΠΑΙΤΗΣΗ, ΖΗΜΙΕΣ OTHER ΑΛΛΕΣ * ΕΥΘΥΝΕΣ, ΟΤΙ ΣΕ ΔΡΑΣΗ ΣΥΜΒΑΣΗΣ, ΑΝΤΙΜΕΤΩΠΙΣΗΣ OR ΑΛΛΟΥΣ, ΠΟΥ ΕΡΓΑΖΟΝΤΑΙ, * ΕΞΩ ή ΣΥΝΔΕΣΗ ΜΕ ΤΟ ΑΠΟΤΕΛΕΣΜΑ ΠΡΟΣΦΟΡΕΣ ΣΤΟ * ΛΟΓΙΣΜΙΚΟ. * *

/ Συμπεριλάβετε τη σωστή βιβλιοθήκη εμφάνισης

// Για σύνδεση μέσω I2C χρησιμοποιώντας το Wire περιλαμβάνει #include // για I2C Wire #include "SSD1306.h" // ψευδώνυμο για "#include" SSD1306Wire.h ""

// Συμπεριλάβετε προσαρμοσμένες εικόνες

#include "images.h"

// Αρχικοποιήστε την οθόνη OLED χρησιμοποιώντας brzo_i2c

// D3 -> SDA // D5 -> SCL // Οθόνη SSD1306 (0x3c, D1, D2). ή οθόνη SSD1306 (0x3c, 5, 4). ή οθόνη SSD1306 (0x3c, GPIO5, GPIO4).

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

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

// Αρχικοποιήστε την οθόνη OLED χρησιμοποιώντας τη βιβλιοθήκη Wire

Οθόνη SSD1306 (0x3c, D1, D2).

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

#define DEMO_DURATION 3000

typedef void (*Demo) (void);

int demoMode = 0;

int counter = 1;

void setup () {

Serial.begin (9600); Serial.println ("OLED_DEMO"); Serial.println ("Εκκίνηση του DEMO");

// Η εκκίνηση του UI θα ενεργοποιήσει επίσης την οθόνη.

display.init ();

display.flipScreenVertically ();

display.setFont (ArialMT_Plain_10);

}

void drawFontFaceDemo () {

// Font Demo1 Serial.println ("Font DEMO 1"); // δημιουργήστε περισσότερες γραμματοσειρές στη διεύθυνση 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"); }

void drawTextFlowDemo () {

Serial.println ("drawTextFlowDemo"); display.setFont (ArialMT_Plain_10); display.setTextAlignment (TEXT_ALIGN_LEFT); display.drawStringMaxWidth (0, 0, 128, "Robots are / n the Future, and the Future, is now. Αλλά μην ξεχνάτε τη Φύση"); }

void drawTextAlignmentDemo () {

Serial.println ("drawTextAlignmentDemo"); // Επίδειξη επίδειξης ευθυγράμμισης κειμένου.setFont (ArialMT_Plain_10); // Schriftart und -größe einstellen

// Οι συντεταγμένες ορίζουν το αριστερό σημείο εκκίνησης του κειμένου

display.setTextAlignment (TEXT_ALIGN_LEFT); // Text_Ausrichtung einstellen display.drawString (0, 10, "Αριστερή ευθυγράμμιση (0, 10)");

// Οι συντεταγμένες ορίζουν το κέντρο του κειμένου

display.setTextAlignment (TEXT_ALIGN_CENTER); display.drawString (64, 22, "Κεντρική ευθυγράμμιση (64, 22)");

// Οι συντεταγμένες ορίζουν το δεξί άκρο του κειμένου

display.setTextAlignment (TEXT_ALIGN_RIGHT); display.drawString (128, 33, "Δεξιά ευθυγράμμιση (128, 33)"); }

void drawRectDemo () {

Serial.println ("drawRectDemo"); // Σχεδιάστε ένα εικονοστοιχείο σε δεδομένη θέση για (int i = 0; i <10; i ++) {display.setPixel (i, i); display.setPixel (10 - i, i); } display.drawRect (12, 12, 20, 20);

// Γεμίστε το ορθογώνιο

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

// Σχεδιάστε μια γραμμή οριζόντια

display.drawHorizontalLine (0, 40, 20);

// Σχεδιάστε μια γραμμή οριζόντια

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

void drawCircleDemo () {

Serial.println ("drawCircleDemo"); για (int i = 1; i <8; i ++) {display.setColor (ΛΕΥΚΟ); display.drawCircle (32, 32, i*3); εάν (i % 2 == 0) {display.setColor (ΜΑΥΡΟ); } display.fillCircle (96, 32, 32 - i* 3); }}

void drawProgressBarDemo () {

Serial.println ("drawProgressBarDemo"); int πρόοδος = (μετρητής / 5) % 100; // σχεδιάστε τη γραμμή προόδου display.drawProgressBar (0, 32, 120, 10, progress);

// σχεδιάστε το ποσοστό ως συμβολοσειρά

display.setTextAlignment (TEXT_ALIGN_CENTER); display.drawString (64, 15, String (πρόοδος) + "%"); }

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

void drawImageDemo () {

Serial.println ("drawImageDemo"); // δείτε https://blog.squix.org/2015/05/esp8266-nodemcu-how… // για τον τρόπο δημιουργίας αρχείων xbm display.drawXbm (34, 0, Logo_width, Logo_height, Logo_bits) · }

Επίδειξη επίδειξης = {drawFontFaceDemo, drawTextFlowDemo, drawTextAlignmentDemo, drawRectDemo, drawCircleDemo, drawProgressBarDemo, drawImageDemo};

int demoLength = (sizeof (demos) / sizeof (Demo)); long timeSinceLastModeSwitch = 0;

void loop () {

// εκκαθάριση της οθόνης. Clear (); // σχεδιάστε την τρέχουσα επίδειξη μεθόδου demo [demoMode] ();

display.setTextAlignment (TEXT_ALIGN_RIGHT);

display.drawString (10, 128, String (millis ())); // γράψτε το buffer στην οθόνη display.display ();

if (millis () - timeSinceLastModeSwitch> DEMO_DURATION) {

demoMode = (demoMode + 1) % demoLength; timeSinceLastModeSwitch = millis (); } μετρητής ++; καθυστέρηση (10)? }

Βήμα 4: Εργαλεία, Σύνδεσμοι Und Herkunft/Literaturhinweis

Ich möchte mich bei allen bedanken die an 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

Συνιστάται: