Съдържание:

HowTo - Esp -12F мини WiFi модул ESP8266 18650 Nodemcu батерия 0,96”OLED DEMO чрез графичен интерфейс на Arduino: 4 стъпки
HowTo - Esp -12F мини WiFi модул ESP8266 18650 Nodemcu батерия 0,96”OLED DEMO чрез графичен интерфейс на Arduino: 4 стъпки

Видео: HowTo - Esp -12F мини WiFi модул ESP8266 18650 Nodemcu батерия 0,96”OLED DEMO чрез графичен интерфейс на Arduino: 4 стъпки

Видео: HowTo - Esp -12F мини WiFi модул ESP8266 18650 Nodemcu батерия 0,96”OLED DEMO чрез графичен интерфейс на Arduino: 4 стъпки
Видео: ESP32 #45: 100 способов купить плату ESP32 2024, Юли
Anonim
HowTo - Esp -12F мини WiFi модул ESP8266 18650 Nodemcu батерия 0,96”OLED DEMO чрез графичен интерфейс на Arduino
HowTo - Esp -12F мини WiFi модул ESP8266 18650 Nodemcu батерия 0,96”OLED DEMO чрез графичен интерфейс на Arduino

Здравей, hier möchte ich Euch zeigen wie Ihr das mit auf der Hauptplatine verbaute OLED дисплей 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

Допълнителна информация: 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 адреси:“https://arduino.esp8266.com/stable/package_esp8266com_index.json

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

Jetzt können wir den Passenden Boardtreiber инсталация

(Werkzeuge Board: Boardverwaltung / Bild 3)

  • Dort im Suchfeld "esp8266" айнтраген
  • Дан „esp8266 от ESP8266 общност“auswählen und die aktuellste Версия за инсталиране (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

Можете да видите всички ПИН кодове за OLED-дисплей, който трябва да се използва, да сканирате или да използвате I2C-Schnittstelle. Така че 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.

In diesem Fall: SDA = D1: SCL = D2 bei Adrese 0x3c

Стъпка 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.

Също така die Konfiguration für die I2C-Schnittstelle.

Aus diesem Code könnt Ihr euch auch viele Infos über die Benutzung eines OLEDs ableiten.

/** * Лицензът на MIT (MIT) * * Авторско право (c) 2016 от Daniel Eichhorn * * Разрешението се предоставя безплатно на всяко лице, което получава копие * от този софтуер и свързаните с него файлове с документация („Софтуерът“), за да търгувате * със Софтуера без ограничения, включително без ограничение правата * да използвате, копирате, променяте, обединявате, публикувате, разпространявате, давате подлицензия и/или продавате * копия на Софтуера и да разрешавате на лица, на които Софтуерът е * предоставено да го направи, при спазване на следните условия: * * Горното известие за авторски права и това известие за разрешение трябва да бъдат включени във всички * копия или значителни части от Софтуера. * * СОФТУЕРЪТ се ПРЕДОСТАВЯ "КАКТО Е", БЕЗ ГАРАНЦИЯ ОТ НИКАКВА ВИД, ИЗРИЧНА ИЛИ * НАЛИЧНА, ВКЛЮЧВАЩА, НО ОГРАНИЧЕНА ОТ ГАРАНЦИИТЕ НА ТЪРГОВСТВО, * ПОДХОДЯЩОСТ ЗА ОТДЕЛНА ЦЕЛ И БЕЗПЛАТНО. В НИКАКВИ СЪБИТИЯ * АВТОРИТЕ И ПРИТЕЖАТЕЛИТЕ НА АВТОРСКИ ПРАВА НЕ СЕ ОТГОВОРЯТ ЗА ВСИЧКИ ИСКОВЕ, УВРЕЖДАНИЯ ИЛИ ДРУГА * ОТГОВОРНОСТ, НЯКОЙ В ДЕЙСТВИЕ НА ДОГОВОР, ПРЕКРАТЯВАНЕ ИЛИ ДРУГО, ИЗВЪРШЕНО ОТ, * ИЛИ ВЪВ ВРЪЗКА С ИНФОРМАЦИЯТА ИЛИ ИЛИ ИЛИ ИЛИ СОФТУЕРА СДЕЛКИ В * СОФТУЕРА. * *

/ Включете правилната дисплейна библиотека

// За връзка чрез 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 die PINs for die I2C Schnittstelle configuriert

// Инициализираме OLED дисплея, използвайки Wire library

SSD1306 дисплей (0x3c, D1, D2);

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

#дефинирайте DEMO_DURATION 3000

typedef void (*Demo) (void);

int demoMode = 0;

int брояч = 1;

void setup () {

Serial.begin (9600); Serial.println ("OLED_DEMO"); Serial.println ("Стартирайте DEMO");

// Инициализирането на потребителския интерфейс също ще стартира дисплея.

display.init ();

display.flipScreenVertical ();

display.setFont (ArialMT_Plain_10);

}

void drawFontFaceDemo () {

// Font Demo1 Serial.println ("Шрифт 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, "Роботите са / n Бъдещето и Бъдещето, сега е. Но не забравяйте природата"); }

void drawTextAlignmentDemo () {

Serial.println ("drawTextAlignmentDemo"); // демонстрация за подравняване на текста display.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"); for (int i = 1; i <8; i ++) {display.setColor (БЯЛ); display.drawCircle (32, 32, i*3); if (i % 2 == 0) {display.setColor (ЧЕРЕН); } display.fillCircle (96, 32, 32 - i* 3); }}

void drawProgressBarDemo () {

Serial.println ("drawProgressBarDemo"); int прогрес = (брояч / 5) % 100; // изчертаване на индикатора за напредъка.drawProgressBar (0, 32, 120, 10, ход);

// изчертаваме процента като String

display.setTextAlignment (TEXT_ALIGN_CENTER); display.drawString (64, 15, String (напредък) + "%"); }

Der folgende Link im Commentar 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)); longtimeSinceLastModeSwitch = 0;

void loop () {

// изчистване на дисплея display.clear (); // изчертаване на текущия демонстрационен метод демонстрации [demoMode] ();

display.setTextAlignment (TEXT_ALIGN_RIGHT);

display.drawString (10, 128, String (millis ())); // записваме буфера на дисплея display.display ();

if (millis () - timeSinceLastModeSwitch> DEMO_DURATION) {

demoMode = (demoMode + 1) % demoLength; timeSinceLastModeSwitch = millis (); } брояч ++; забавяне (10); }

Стъпка 4: Инструменти, връзки до 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

Макъти

Препоръчано: