Sisällysluettelo:
- Vaihe 1: Einstellen / Einrichten Der ARDUINO GUI
- Vaihe 2: I2C Schnittstelle Scannen
- Vaihe 3: Esittelyluonnos Anpassen Und Auf Den ESP Hochladen
- Vaihe 4: Työkalut, linkit Und Herkunft/Literaturhinweis
Video: HowTo - Esp -12F Mini WiFi Modul ESP8266 18650 Nodemcu Batterie 0.96”OLED DEMO Via Arduino GUI: 4 Vaiheet
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:01
Hei, 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.
Vaihe 1: Einstellen / Einrichten Der ARDUINO GUI
Als erstes muss das ESP8266 Board in 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-osoitteet:"
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)
- Kuuntele ARDUINO GUI -palvelua
- Danach das passende Board auswählen (z. B.: WeMos D1 R2 & mini)
Vaihe 2: I2C Schnittstelle Scannen
Um zu sehen and welche PINS das OLED-Display angeschlossen wurde, scanen wir zuerst die I2C-Schnittstelle. Joten können wir auch sehen ob noch weitere I2C-Parts angeschlossen sind.
Luonnos (Bild 1) tai ESP Hochladen, "Seriellen-Monitor" ja Ausgabe warten. Dort könnt Ihr dann sehen, welches Device wo gefunden wurde. (Bild 2 - DigitalPIN -skannaus)
Das Ergebnis merken.
In diesem Fall: SDA = D1: SCL = D2 bei Osoite 0x3c
Vaihe 3: Esittelyluonnos Anpassen Und Auf Den ESP Hochladen
DES ist der Code für das OLED-Display DEMO
Im 5. Abschnitt findet Ihr die Stelle an der der Code ggf. modifiziert werden muss.
Myös kokoonpano I2C-Schnittstelle.
Aus diesem Code könnt Ihr euch auch viele Infot über die Benutzung eines OLEDs pysty.
/** * MIT -lisenssi (MIT) * * Tekijänoikeus (c) 2016, Daniel Eichhorn), käsittelemään * ohjelmistossa rajoituksetta, mukaan lukien rajoituksetta oikeudet * käyttää, kopioida, muokata, yhdistää, julkaista, jakaa, alilisensoida ja/tai myydä * ohjelmiston kopioita ja sallia henkilöille, joille ohjelmisto on * kalustettu tätä varten seuraavilla ehdoilla: * * Yllä oleva tekijänoikeusilmoitus ja tämä lupailmoitus on sisällytettävä kaikkiin * kopioihin tai olennaisiin osiin Ohjelmistoa. * * OHJELMISTOT TOIMITETAAN "sellaisenaan", ILMAN MITÄÄN LAITETTA, NIMENOMAISTA TAI * EHDOTTOMAA, MUKAAN EI RAJOITETTAVAT KAUPALLISUUDEN TAKUITA, * VIRANOMAISET tai TEKIJÄNOIKEUDEN HALTIJAT EIVÄT OLE MISSÄÄN VASTUULLA MITÄÄN VAATIMUKSISTA, VAHINGOISTA TAI MUISTA * VASTUUSTA, JOKAINEN SOPIMUKSEN, KIINNITTÄMISEN TAI MUUTA VASTUULLA, JOTKA OLEVAT OHJELMISTON TAI MUISTA * OHJELMISTON TARJOUKSET. * *
/ Sisällytä oikea näyttökirjasto
// Jos haluat muodostaa yhteyden I2C: n kautta langalla, lisää #include // I2C Wirelle #include "SSD1306.h" // alias for "#include" SSD1306Wire.h ""
// Sisällytä mukautettuja kuvia
#include "images.h"
// Alusta OLED -näyttö käyttämällä brzo_i2c
// D3 -> SDA // D5 -> SCL // SSD1306 -näyttö (0x3c, D1, D2); tai SSD1306 -näyttö (0x3c, 5, 4); tai SSD1306 -näyttö (0x3c, GPIO5, GPIO4);
**************************************************************************************************
An der folgenden Stelle werden dann die PIN PINs für die I2C Schnittstelle konfiguriert
// Alusta OLED -näyttö Wire -kirjaston avulla
SSD1306 -näyttö (0x3c, D1, D2);
***************************************************************************************************
#define DEMO_DURATION 3000
typedef void (*Demo) (mitätön);
int demoMode = 0;
int laskuri = 1;
void setup () {
Sarja.alku (9600); Serial.println ("OLED_DEMO"); Serial.println ("Käynnistä DEMO");
// Käyttöliittymän alustaminen käynnistää myös näytön.
display.init ();
display.flipScreenVertically ();
display.setFont (ArialMT_Plain_10);
}
void drawFontFaceDemo () {
// Font Demo1 Serial.println ("Fontti DEMO 1"); // luo lisää fontteja osoitteessa 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, "Robotit ovat / n tulevaisuus ja tulevaisuus on nyt. Mutta älä unohda luontoa"); }
void drawTextAlignmentDemo () {
Serial.println ("drawTextAlignmentDemo"); // Tekstin kohdistuksen esittelynäyttö.setFont (ArialMT_Plain_10); // Schriftart und -größe einstellen
// Koordinaatit määrittävät tekstin vasemman aloituspisteen
display.setTextAlignment (TEXT_ALIGN_LEFT); // Text_Ausrichtung einstellen display.drawString (0, 10, "Tasattu vasemmalle (0, 10)");
// Koordinaatit määrittävät tekstin keskipisteen
display.setTextAlignment (TEXT_ALIGN_CENTER); display.drawString (64, 22, "Tasattu keskelle (64, 22)");
// Koordinaatit määrittävät tekstin oikean pään
display.setTextAlignment (TEXT_ALIGN_RIGHT); display.drawString (128, 33, "Tasattu oikealle (128, 33)"); }
void drawRectDemo () {
Serial.println ("drawRectDemo"); // Piirrä pikseli tiettyyn kohtaan (int i = 0; i <10; i ++) {display.setPixel (i, i); display.setPixel (10 - i, i); } display.drawRect (12, 12, 20, 20);
// Täytä suorakulmio
display.fillRect (14, 14, 17, 17);
// Piirrä viiva vaakasuoraan
display.drawHorizontalLine (0, 40, 20);
// Piirrä viiva vaakasuoraan
display.drawVerticalLine (40, 0, 20); }
void drawCircleDemo () {
Serial.println ("drawCircleDemo"); for (int i = 1; i <8; i ++) {display.setColor (WHITE); display.drawCircle (32, 32, i*3); jos (i % 2 == 0) {display.setColor (MUSTA); } display.fillCircle (96, 32, 32 - i* 3); }}
void drawProgressBarDemo () {
Serial.println ("drawProgressBarDemo"); int edistyminen = (laskuri / 5) % 100; // piirrä edistymispalkki display.drawProgressBar (0, 32, 120, 10, edistyminen);
// piirrä prosenttiosuus merkkijonona
display.setTextAlignment (TEXT_ALIGN_CENTER); display.drawString (64, 15, merkkijono (edistyminen) + "%"); }
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"); // katso https://blog.squix.org/2015/05/esp8266-nodemcu-how… // kuinka luoda xbm-tiedostoja display.drawXbm (34, 0, Logo_width, Logo_height, Logo_bits); }
Demoesitykset = {drawFontFaceDemo, drawTextFlowDemo, drawTextAlignmentDemo, drawRectDemo, drawCircleDemo, drawProgressBarDemo, drawImageDemo};
int demoLength = (sizeof (demot) / sizeof (Demo)); long timeSinceLastModeSwitch = 0;
void loop () {
// tyhjennä näytön näyttö.clear (); // piirrä nykyinen esittelymenetelmä demos [demoMode] ();
display.setTextAlignment (TEXT_ALIGN_RIGHT);
display.drawString (10, 128, merkkijono (millis ()))); // kirjoittaa puskuri näytön näyttöön.display ();
if (millis () - timeSinceLastModeSwitch> DEMO_DURATION) {
demoMode = (demoMode + 1) % demoLength; timeSinceLastModeSwitch = millis (); } laskuri ++; viive (10); }
Vaihe 4: Työkalut, linkit Und Herkunft/Literaturhinweis
Ich möchte mich bei allen bedanken die die 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
Suositeltava:
Vídeo Tutoriales De Tecnologías Creativas 02: ¡Experimentemos Con Señales Analógicas Y Digitales !: 4 Vaiheet
Videsde Tutoriales De Tecnologías Creativas 02: ¡Experimentemos Con Señales Analógicas Y Digitales !: Tässä opetusohjelmassa on tietoja erilaisista alkueristä ja digitaalikomponenteista ja digitaalikomponenteista Arduino Uno. Este ejercicio lo realizaremos mediante simulación y para ello utilizaremos Tinkercad Circuits (utilizando una cuenta gr
Raspberry Pi: n GPIO-nastojen ja Avrduden käyttäminen Bit-bang-ohjelmaan DIMP 2 tai DA PIMP 2: 9 Vaiheet
Raspberry Pi: n GPIO-nastojen ja Avrduden käyttäminen Bit-bang-ohjelmaan DIMP 2 tai DA PIMP 2: Nämä ovat vaiheittaiset ohjeet Raspberry Pi: n ja ilmaisen avoimen lähdekoodin avrdude-komennon käyttämiseen -ohjelmoi DIMP 2 tai DA PIMP 2. Oletan, että tunnet Raspberry Pi -laitteesi ja LINUX -komentorivin. Sinun ei tarvitse
SERVOMOOTTORI - NUPPI - ARDUINO - KOODIN PALAUTUS #2: 4 Vaiheet
SERVO MOOTTORI - NUPPI - ARDUINO - KOODIN PALAUTUS #2: NUPPI: Hallitse RC: n (harrastus) servomoottorin asentoa Arduino -laitteesi ja potentiometrin avulla
LUE ANALOGIN JÄNNITE - ARDUINO - KOODIN PALVELU #1: 5 Vaiheet
LUE ANALOGIJÄNNITE - ARDUINO - KOODIN PALAUTUS #1: CODE REVEAL #1 Arduino -ohjelmiston (IDE) näyttö
Opetusohjelma ESP8266 ja Node-RED MQTT GPIO (Mosquitto) # 1: 5 Vaiheet
Opetusohjelma ESP8266 ja Node-RED MQTT GPIO (Mosquitto) # 1: Moduulin ESP8266 integroimiseksi solmupunaiseen IoT-alustaan on käytetty MQTT-protokollaa, esp8266: lle on olemassa asiakaskirjastoja MQTT: nä, tässä tapauksessa päätin käyttää kirjaston pubsubclientia. Tämä esimerkki vastaanottaa punaisen solmun, joka vastaanottaa tietoja