Sadržaj:
- Korak 1: Einstellen / Einrichten Der ARDUINO GUI
- Korak 2: I2C Schnittstelle Scannen
- Korak 3: Demo-Sketch Anpassen Und Auf Den ESP Hochladen
- Korak 4: Alati, veze do Herkunft/Literaturhinweis
Video: HowTo - Esp -12F Mini WiFi modul ESP8266 18650 Nodemcu baterija 0,96”OLED DEMO putem Arduino GUI: 4 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:35
Zdravo, 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.
Korak 1: 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-ovi:"
ein (Slika 2). Damit bekommen wir den benötigten Zugang zu dem passenden Boardtreiber.
Jetzt können wir den Passenden Boardtreiber installieren
(Odbor Werkzeuge: Boardverwaltung / Bild 3)
- Dort im Suchfeld "esp8266" eintragen
- Dann "esp8266 by ESP8266 Community" auswählen und die aktuellste Instalirana verzija (Slika 4)
- Die ARDUINO GUI neu starten
- Danach das passende Board auswählen (z. B.: WeMos D1 R2 & mini)
Korak 2: I2C Schnittstelle Scannen
Ako želite pronaći PIN-ove na OLED-zaslonu, potrebno je skenirati i skenirati I2C-Schnittstelle. Dakle, können wir auch sehen ob noch weitere I2C-Parts angeschlossen sind.
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.
In diesem Fall: SDA = D1: SCL = D2 bei Adrese 0x3c
Korak 3: Demo-Sketch Anpassen Und Auf Den ESP Hochladen
Das ist der Code for das OLED-Display DEMO
Im 5. Abschnitt findet Ihr die Stelle an der der Code ggf. modifiziert werden muss.
Također Konfiguracija za I2C-Schnittstelle.
Aus diesem Code könnt Ihr euch auch viele Infos über die Benutzung eines OLEDs ableiten.
/** * Licenca MIT -a (MIT) * * Autorska prava (c) 2016. Daniel Eichhorn * * Ovim se dopuštenje daje besplatno, bilo kojoj osobi koja dobije kopiju * ovog softvera i pripadajućih datoteka dokumentacije ("Softver"), za trgovanje * u Softveru bez ograničenja, uključujući bez ograničenja prava * na korištenje, kopiranje, izmjenu, spajanje, objavljivanje, distribuciju, podlicenciranje i/ili prodaju * kopija Softvera i dopuštanje osoba kojima je Softver je * opremljen da to učini, pod sljedećim uvjetima: * * Gornja obavijest o autorskim pravima i ova obavijest o dopuštenju bit će uključena u sve * kopije ili značajne dijelove Softvera. * * SOFTVER SE OSIGURAVA "KAKAV JESTE", BEZ BILO KAKVOG JAMSTVA, IZRIČITOG ILI * IMPLICIRANOG, UKLJUČUJUĆI, ALI NE OGRANIČENO NA JAMSTVA TRGOVINE, * ODGOVORNOST ZA POSEBNE NAMJENE I NEČEŠĆENJA. NI U KOM SLUČAJU * AUTORI ILI NOSITELJI AUTORSKIH PRAVA NE BUDU ODGOVORNI ZA BILO KOJE POTRAŽIVANJE, ŠTETU ILI OSTALU * ODGOVORNOST, BILO U DJELOVANJU UGOVORA, POVREDE ILI NA DRUGI POGLED IZ, IZVAN ILI U VEZI SA SOFTVEROM ILI U VEZI SA ILI DRUGIM ILI U VEZI SA SOFTVEROM POSLOVANJE U * SOFTVERU. * *
/ Uključite ispravnu biblioteku prikaza
// Za vezu putem I2C koristeći Wire uključuje #include // za I2C žicu #include "SSD1306.h" // alias za `#include" SSD1306Wire.h "`
// Uključi prilagođene slike
#include "images.h"
// Pokretanje OLED zaslona pomoću brzo_i2c
// D3 -> SDA // D5 -> SCL // Zaslon SSD1306 (0x3c, D1, D2); ili SSD1306 zaslon (0x3c, 5, 4); ili SSD1306 zaslon (0x3c, GPIO5, GPIO4);
**************************************************************************************************
An der folgenden Stelle werden dann die PINs for die I2C Schnittstelle configuriert
// Pokretanje OLED zaslona pomoću knjižnice Wire
SSD1306 zaslon (0x3c, D1, D2);
***************************************************************************************************
#define DEMO_DURATION 3000
typedef void (*Demo) (void);
int demoMode = 0;
int brojač = 1;
void setup () {
Serial.begin (9600); Serial.println ("OLED_DEMO"); Serial.println ("Pokreni DEMO");
// Pokretanje korisničkog sučelja također će pokrenuti zaslon.
display.init ();
display.flipScreenVertical ();
display.setFont (ArialMT_Plain_10);
}
void drawFontFaceDemo () {
// Font Demo1 Serial.println ("Font DEMO 1"); // stvoriti više fontova na 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, "Roboti su / n Budućnost i Budućnost su sada. Ali ne zaboravite Prirodu"); }
void drawTextAlignmentDemo () {
Serial.println ("drawTextAlignmentDemo"); // Demo display za poravnanje teksta.setFont (ArialMT_Plain_10); // Schriftart und -größe einstellen
// Koordinate definiraju lijevo polazište teksta
display.setTextAlignment (TEXT_ALIGN_LEFT); // Text_Ausrichtung einstellen display.drawString (0, 10, "Poravnano ulijevo (0, 10)");
// Koordinate definiraju središte teksta
display.setTextAlignment (TEXT_ALIGN_CENTER); display.drawString (64, 22, "Poravnano po sredini (64, 22)");
// Koordinate definiraju desni kraj teksta
display.setTextAlignment (TEXT_ALIGN_RIGHT); display.drawString (128, 33, "Poravnano udesno (128, 33)"); }
void drawRectDemo () {
Serial.println ("drawRectDemo"); // Nacrtajte piksel na zadanom položaju za (int i = 0; i <10; i ++) {display.setPixel (i, i); display.setPixel (10 - i, i); } display.drawRect (12, 12, 20, 20);
// Ispunite pravokutnik
display.fillRect (14, 14, 17, 17);
// Vodoravno nacrtati liniju
display.drawHorizontalLine (0, 40, 20);
// Vodoravno nacrtati liniju
display.drawVerticalLine (40, 0, 20); }
void drawCircleDemo () {
Serial.println ("drawCircleDemo"); for (int i = 1; i <8; i ++) {display.setColor (BIJELO); display.drawCircle (32, 32, i*3); if (i % 2 == 0) {display.setColor (CRNO); } display.fillCircle (96, 32, 32 - i* 3); }}
void drawProgressBarDemo () {
Serial.println ("drawProgressBarDemo"); int napredak = (brojač / 5) % 100; // nacrtati prikaz trake napretka.drawProgressBar (0, 32, 120, 10, napredak);
// nacrtati postotak kao String
display.setTextAlignment (TEXT_ALIGN_CENTER); display.drawString (64, 15, String (napredak) + "%"); }
Der folgende Link im Komentar kann helfen ein Bild oder Logo so umzuwandeln, das es auf dem Display angezeigt werden kann…
void drawImageDemo () {
Serial.println ("drawImageDemo"); // pogledajte https://blog.squix.org/2015/05/esp8266-nodemcu-how… // o tome kako stvoriti xbm datoteke display.drawXbm (34, 0, Logo_width, Logo_height, Logo_bits); }
Demo demonstracije = {drawFontFaceDemo, drawTextFlowDemo, drawTextAlignmentDemo, drawRectDemo, drawCircleDemo, drawProgressBarDemo, drawImageDemo};
int demoLength = (sizeof (demos) / sizeof (Demo)); longtimeSinceLastModeSwitch = 0;
void loop () {{100} {101}
// brisanje prikaza na zaslonu.clear (); // nacrtati trenutne demo metode demo [demoMode] ();
display.setTextAlignment (TEXT_ALIGN_RIGHT);
display.drawString (10, 128, String (millis ())); // upisuje međuspremnik na display display.display ();
if (millis () - timeSinceLastModeSwitch> DEMO_DURATION) {
demoMode = (demoMode + 1) % demoLength; timeSinceLastModeSwitch = millis (); } brojač ++; kašnjenje (10); }
Korak 4: Alati, veze do 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
Preporučeni:
Upravljanje Led putem aplikacije Blynk pomoću Nodemcua putem interneta: 5 koraka
Upravljanje LED -om putem aplikacije Blynk pomoću Nodemcua putem Interneta: Pozdrav svima Danas ćemo vam pokazati kako možete upravljati LED diodom pomoću pametnog telefona putem interneta
Upravljajte uređajima putem interneta putem preglednika. (IoT): 6 koraka
Upravljajte uređajima putem interneta putem preglednika. (IoT): U ovom Instructableu pokazat ću vam kako možete upravljati uređajima poput LED-a, releja, motora itd. Putem interneta putem web-preglednika. I možete sigurno pristupiti kontrolama s bilo kojeg uređaja. Web platforma koju sam ovdje koristio je RemoteMe.org posjet
280Wh 4S 10P Li-ion baterija izrađena od recikliranih baterija za prijenosno računalo: 6 koraka (sa slikama)
280Wh 4S 10P Li-ion baterija izrađena od recikliranih baterija za prijenosno računalo: Posljednjih godinu dana skupljam baterije za prijenosna računala i obrađujem i sortiram 18650 ćelija iznutra. Moje prijenosno računalo sada stari, s 2dn generacijom i7 troši energiju, pa mi je trebalo nešto za punjenje u pokretu, iako nosim ovu ba
ESP8266 -NODEMCU WiFi modul od 3 USD #2 - bežični pinovi za upravljanje putem web stranice: 9 koraka (sa slikama)
ESP8266 -NODEMCU 3 USD WiFi modul #2 - Bežični pinovi za upravljanje putem web stranice: Stigao je novi svijet ovih mikroračunanja, a to je ESP8266 NODEMCU. Ovo je prvi dio koji prikazuje kako ste mogli instalirati okruženje esp8266 u svoj arduino IDE kroz video za početak i kao dijelove u
Prijenos datoteka putem LAN -a putem BitTorrenta: 6 koraka
Prijenos datoteka putem LAN -a putem BitTorrenta: Ponekad ćete možda morati prenijeti datoteke preko mreže na nekoliko računala. Iako biste ga mogli staviti na flash pogon ili CD/DVD, morali biste otići na svako računalo kopirati datoteke, a možda će trebati i neko vrijeme da se sve datoteke kopiraju (osobito s