Оглавление:

HowTo - Esp-12F Mini WiFi Modul ESP8266 18650 Nodemcu Batterie 0.96”OLED DEMO через графический интерфейс Arduino: 4 шага
HowTo - Esp-12F Mini WiFi Modul ESP8266 18650 Nodemcu Batterie 0.96”OLED DEMO через графический интерфейс Arduino: 4 шага

Видео: HowTo - Esp-12F Mini WiFi Modul ESP8266 18650 Nodemcu Batterie 0.96”OLED DEMO через графический интерфейс Arduino: 4 шага

Видео: HowTo - Esp-12F Mini WiFi Modul ESP8266 18650 Nodemcu Batterie 0.96”OLED DEMO через графический интерфейс Arduino: 4 шага
Видео: NodeMCU V3 ESP8266 - обзор, подключение и прошивка в Arduino IDE 2024, Июль
Anonim
HowTo - Esp-12F Mini WiFi Modul ESP8266 18650 Nodemcu Batterie 0.96”OLED DEMO через графический интерфейс Arduino
HowTo - Esp-12F Mini WiFi Modul ESP8266 18650 Nodemcu Batterie 0.96”OLED DEMO через графический интерфейс Arduino

Привет, 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

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-URLs:"

ein (Билд 2). Damit bekommen wir den benötigten Zugang zu dem passenden Boardtreiber.

Jetzt können wir den Passenden Boardtreiber installieren

(Совет Werkzeuge: Boardverwaltung / Bild 3)

  • Дорога им. Сухфельда "esp8266" eintragen
  • Данн "esp8266 by ESP8266 Community" поддерживает установку и актуальную версию (Bild 4)
  • Die ARDUINO GUI neu start
  • 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

Um zu sehen an welche PINs das OLED-Display angeschlossen wurde, scannen wir zuerst die 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. (Билд 2 - сканирование DigitalPIN)

Das Ergebnis merken.

В конце осени: SDA = D1: SCL = D2 по адресу 0x3c

Шаг 3: Демо-эскиз Anpassen Und Auf Den ESP Hochladen

Код для демонстрации OLED-дисплея

Im 5. Abschnitt findet Ihr die Stelle an der der Code ggf. modifiziert werden muss.

Также выберите конфигурацию для I2C-Schnittstelle.

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

/ ** * Лицензия MIT (MIT) * * Авторские права (c) 2016 Даниэль Эйххорн * * Настоящим разрешение предоставляется бесплатно любому лицу, получившему копию * этого программного обеспечения и связанных файлов документации («Программное обеспечение»), для работы * с Программным обеспечением без ограничений, включая, помимо прочего, права * на использование, копирование, изменение, объединение, публикацию, распространение, сублицензирование и / или продажу * копий Программного обеспечения, а также разрешать лицам, которым Программное обеспечение * предоставлено для этого при соблюдении следующих условий: * * Приведенное выше уведомление об авторских правах и это уведомление о разрешении должны быть включены во все * копии или существенные части Программного обеспечения. * * ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ «КАК ЕСТЬ», БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, ЯВНЫХ ИЛИ * ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ, ГАРАНТИЯМИ КОММЕРЧЕСКОЙ ЦЕННОСТИ, * ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЕННОЙ ЦЕЛИ И НЕЗАЩИТЫ ОТ ПРАВ. НИ ПРИ КАКИХ ОБСТОЯТЕЛЬСТВАХ * АВТОРЫ ИЛИ ВЛАДЕЛЬЦЫ АВТОРСКИХ ПРАВ НЕ НЕСЕТ ОТВЕТСТВЕННОСТИ ЗА ЛЮБЫЕ ПРЕТЕНЗИИ, УБЫТКИ ИЛИ ДРУГИЕ * ОТВЕТСТВЕННОСТЬ, ВЫЯВЛЯЮЩИЕСЯ В РЕЗУЛЬТАТЕ КОНТРАКТА, ИЛИ ИНОСТРАННЫМ ОБРАЗОМ, ВОЗНИКАЮЩИМ, * ВНУТРИ ИЛИ В СВЯЗИ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ ИЛИ ИСПОЛЬЗОВАНИЕМ ИЛИ ДРУГИМ. ДЕЙСТВИЯ В ПРОГРАММНОМ ОБЕСПЕЧЕНИИ. * *

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

// Для подключения через I2C с использованием Wire include #include // для I2C Wire #include "SSD1306.h" // псевдоним для `#include" SSD1306Wire.h "`

// Включаем пользовательские изображения

#include "images.h"

// Инициализируем OLED-дисплей с помощью brzo_i2c

// D3 -> SDA // D5 -> SCL // SSD1306 display (0x3c, D1, D2); или дисплей SSD1306 (0x3c, 5, 4); или дисплей SSD1306 (0x3c, GPIO5, GPIO4);

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

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

// Инициализируем OLED-дисплей с помощью библиотеки Wire

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

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

#define DEMO_DURATION 3000

typedef void (* Демо) (недействительно);

int demoMode = 0;

int counter = 1;

void setup () {

Serial.begin (9600); Serial.println ("OLED_DEMO"); Serial.println («Запустить ДЕМО»);

// Инициализация пользовательского интерфейса также запустит отображение.

display.init ();

display.flipScreenVertical ();

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, «Роботы - это / 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"); // Рисуем пиксель в заданной позиции for (int i = 0; i <10; i ++) {display.setPixel (i, i); display.setPixel (10 - я, я); } 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 я = 1; я <8; я ++) {display.setColor (БЕЛЫЙ); display.drawCircle (32, 32, i * 3); если (я% 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 (демо) / sizeof (демо)); long timeSinceLastModeSwitch = 0;

void loop () {

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

display.setTextAlignment (TEXT_ALIGN_RIGHT);

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

if (millis () - timeSinceLastModeSwitch> DEMO_DURATION) {

demoMode = (demoMode + 1)% demoLength; timeSinceLastModeSwitch = millis (); } counter ++; задержка (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

McUtty

Рекомендуемые: