
Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-23 15:05

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




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


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
Рекомендуемые:
Управление Led через приложение Blynk с помощью Nodemcu через Интернет: 5 шагов

Управление светодиодом через приложение Blynk с помощью Nodemcu через Интернет: Привет всем, сегодня мы покажем вам, как вы можете управлять светодиодом с помощью смартфона через Интернет
Превратите графический калькулятор HP49G в интерваломет для Canon Eos: 4 шага

Превратите графический калькулятор HP49G в интерваломет для Canon Eos: Disparador autom à ƒ  ¡ tico y manual for Canon Eos con HP49GPor Abraham [email protected]: //www.flickr.com / photos / cacholongo / Componentes necesarios: 2n3904, Resistencia 2,2k; Diodo 1n4001, Cable de conexi à ƒ  & su
Мини-графический планшет за 2 доллара: 4 шага

Мини-графический планшет за $ 2: TOUCHPAD HACK - Как превратить сенсорную панель в полезный мини-графический планшет с некоторыми простыми повседневными предметами Для полного видео, пожалуйста, посетите http://www.metacafe.com/watch/777196/2_mini_graphics_tablet
Графический экран Arduino TFT: 4 шага (с изображениями)

Arduino TFT Graphics Shield: a.articles {размер шрифта: 110,0%; font-weight: жирный; стиль шрифта: курсив; текстовое оформление: нет; background-color: red;} a.articles: hover {background-color: black;} В этом руководстве объясняется, как создать цветную графику с разрешением 240 x 320 пикселей (QVGA)
Управление устройствами через Интернет через браузер. (IoT): 6 шагов

Управление устройствами через Интернет через браузер. (IoT): в этой инструкции я покажу вам, как вы можете управлять такими устройствами, как светодиоды, реле, двигатели и т. Д., Через Интернет через веб-браузер. И вы можете безопасно получить доступ к элементам управления с любого устройства. Я использовал здесь веб-платформу RemoteMe.org visit