Применение малогабаритных OLED-дисплеев SH1106 с платой Arduino Uno R3
Я использовал малогабаритный OLED-дисплей SH1106 в паре с платой Arduino Uno R3 для автоматизации процессов в небольшом бизнесе. OLED-дисплей имеет компактные размеры, что позволило мне разместить его в ограниченном пространстве. Управление дисплеем осуществляется по интерфейсу I2C, что упростило подключение к Arduino Uno R3.
Для управления дисплеем я использовал библиотеку U8g2, которая предоставляет простой и понятный интерфейс программирования. В своей программе я отображал на дисплее информацию о состоянии оборудования, текущие настройки и ошибки. OLED-дисплей оказался весьма удобным в использовании, так как он обеспечивает высокую контрастность и широкий угол обзора.
Применение OLED-дисплея позволило мне улучшить контроль и управление бизнес-процессами. Благодаря наглядной визуализации информации, я смог быстро реагировать на изменения и своевременно принимать решения. Малогабаритный OLED-дисплей SH1106 в сочетании с платой Arduino Uno R3 стали надежным и экономичным решением для оптимизации моих бизнес-процессов.
Интерфейс дисплея
Малогабаритный OLED-дисплей SH1106, который я использовал в своем проекте, подключается к плате Arduino Uno R3 по интерфейсу I2C. I2C - это двухпроводной последовательный интерфейс, который позволяет подключать к микроконтроллеру несколько устройств с использованием всего двух проводов: линии данных (SDA) и линии синхронизации (SCL).
Для управления дисплеем по интерфейсу I2C я использовал библиотеку U8g2. Эта библиотека предоставляет простой и удобный интерфейс программирования для работы с различными OLED-дисплеями, в том числе и с SH1106. Библиотека U8g2 поддерживает различные типы данных, включая текст, числа и графические изображения.
Подключение дисплея к Arduino Uno R3 по интерфейсу I2C выполняется следующим образом:
- Подключите линию данных дисплея (SDA) к пину A4 платы Arduino.
- Подключите линию синхронизации дисплея (SCL) к пину A5 платы Arduino.
- Подключите питание дисплея (VDD) к пину 5V платы Arduino.
- Подключите общий провод дисплея (GND) к общему проводу платы Arduino.
После подключения дисплея к Arduino Uno R3 можно приступать к написанию программы для управления им. Для этого можно использовать среду разработки Arduino IDE. В программе необходимо подключить библиотеку U8g2 и инициализировать дисплей, указав его адрес и тип используемого интерфейса.
Пример программы для отображения текста на дисплее SH1106:
#include
U8G2_SH1106_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0, /* reset*/ U8X89_PIN_NONE);
void setup {
u8g2.begin;
u8g2.setFont(u8g2_font_6x12_tr);
u8g2.drawStr(0, 10, ″Hello, world!″);
}
void loop {
// ...
}
В этой программе я использую объект u8g2 для управления дисплеем. Я инициализирую дисплей, используя класс U8G2_SH1106_128X64_NONAME_F_HW_I2C, который соответствует типу используемого дисплея и интерфейсу I2C. Затем я вывожу на дисплей строку ″Hello, world!″ с использованием шрифта u8g2_font_6x12_tr.
Интерфейс I2C и библиотека U8g2 значительно упрощают работу с OLED-дисплеем SH1106, что позволяет быстро и легко создавать различные проекты с использованием этого дисплея.
Управление дисплеем
Управление OLED-дисплеем SH1106 осуществляется с помощью команд, которые отправляются на дисплей по интерфейсу I2C. Для управления дисплеем я использовал библиотеку U8g2, которая предоставляет простой и удобный интерфейс программирования для работы с различными OLED-дисплеями, в том числе и с SH1106.
Библиотека U8g2 предоставляет большое количество функций для управления дисплеем, включая функции для:
- Очистки экрана
- Установки курсора
- Отрисовки графических объектов (линий, прямоугольников, кругов)
- Загрузки произвольных изображений в память дисплея
В своей программе я использовал следующие функции библиотеки U8g2 для управления дисплеем:
- u8g2.begin - инициализация дисплея
- u8g2.setFont(font) - установка шрифта
- u8g2.drawStr(x, y, str) - вывод строки текста
- u8g2.drawPixel(x, y) - установка пикселя
- u8g2.drawHLine(x1, y, width) - отрисовка горизонтальной линии
- u8g2.drawVLine(x, y1, height) - отрисовка вертикальной линии
- u8g2.drawBox(x, y, width, height) - отрисовка прямоугольника
- u8g2.drawCircle(x, y, radius) - отрисовка круга
- u8g2.sendBuffer - отправка буфера данных на дисплей
Пример программы, в которой я использую библиотеку U8g2 для отображения на дисплее SH1106 различных геометрических фигур и текста:
#include
U8G2_SH1106_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0, /* reset*/ U8X89_PIN_NONE);
void setup {
u8g2.begin;
u8g2.setFont(u8g2_font_6x12_tr);
}
void loop {
// Очистка экрана
u8g2.clearBuffer;
// Отрисовка геометрических фигур
u8g2.drawPixel(10, 10);
u8g2.drawHLine(20, 20, 50);
u8g2.drawVLine(70, 20, 50);
u8g2.drawBox(10, 50, 50, 20);
u8g2.drawCircle(70, 50, 20);
u8g2.drawStr(0, 10, ″Hello, world!″);
// Отображение буфера данных на дисплее
u8g2.sendBuffer;
}
В этой программе я очищаю экран, рисую различные геометрические фигуры и вывожу на дисплей строку текста. Библиотека U8g2 значительно упрощает управление OLED-дисплеем SH1106, позволяя быстро и легко создавать различные визуальные эффекты.
Примеры использования OLED-дисплеев
Малогабаритные OLED-дисплеи SH1106 имеют широкую область применения в различных проектах автоматизации. Вот несколько примеров использования таких дисплеев:
- Отображение информации о состоянии оборудования. Дисплей можно использовать для отображения текущих параметров оборудования, таких как температура, давление, скорость, уровень жидкости и т.д.
- Отображение настроек. Дисплей можно использовать для отображения и изменения различных настроек оборудования, таких как диапазоны рабочих параметров, режимы работы и т.д.
- Отображение ошибок и предупреждений. Дисплей можно использовать для отображения текстовых сообщений об ошибках и предупреждениях, что позволяет оператору быстро реагировать на внештатные ситуации.
- Отображение графиков и диаграмм. Дисплей можно использовать для отображения графиков и диаграмм, что позволяет визуализировать изменения параметров оборудования во времени.
- Отображение сенсорных данных. Дисплей можно использовать для отображения данных с различных датчиков, таких как датчики температуры, давления, влажности и т.д.
В своем проекте автоматизации я использовал OLED-дисплей SH1106 для отображения следующей информации:
- Текущая температура в помещении
- Текущий уровень влажности
- Статус работы системы кондиционирования
- Сообщения об ошибках и предупреждения
Дисплей позволил мне быстро и легко отслеживать состояние системы и оперативно реагировать на любые изменения. Благодаря своим компактным размерам и низкому энергопотреблению, OLED-дисплей SH1106 идеально подошел для моего проекта автоматизации.
Помимо вышеперечисленных примеров, OLED-дисплеи SH1106 также используются в следующих проектах:
- Портативные устройства (смартфоны, планшеты, электронные книги)
- Медицинские приборы (мониторы пациентов, глюкометры)
- Промышленные системы управления (панели оператора, контроллеры)
- Бытовая техника (микроволновые печи, холодильники, стиральные машины)
Малогабаритные OLED-дисплеи SH1106 являются ценным инструментом для различных проектов автоматизации, обеспечивая наглядную и информативную визуализацию данных.
Компактность и экономичность
Одним из главных преимуществ малогабаритных OLED-дисплеев SH1106 является их компактность. Благодаря своим небольшим размерам, эти дисплеи можно легко разместить даже в самых ограниченных пространствах. Это делает их идеальным выбором для проектов автоматизации, где каждый сантиметр имеет значение.
В своем проекте автоматизации я использовал OLED-дисплей SH1106 с диагональю 1,3 дюйма. Этот дисплей идеально поместился в корпус моего устройства, не занимая лишнего места. Несмотря на свои компактные размеры, дисплей обеспечивает отличную видимость и контрастность.
Еще одним преимуществом OLED-дисплеев SH1106 является их экономичность. Эти дисплеи потребляют очень мало энергии, что делает их идеальным выбором для проектов, работающих от батареи. В моем проекте дисплей работал от небольшой литиевой батареи, и мне не пришлось беспокоиться о быстрой разрядке.
Помимо компактности и экономичности, OLED-дисплеи SH1106 также обладают следующими преимуществами:
- Широкий угол обзора
- Высокая контрастность
- Быстрое время отклика
- Низкая стоимость
Комбинация этих преимуществ делает OLED-дисплеи SH1106 идеальным выбором для различных проектов автоматизации. В моем проекте дисплей позволил мне создать компактное и экономичное устройство, которое обеспечивает наглядную визуализацию данных.
Если вы ищете малогабаритный, экономичный и информативный дисплей для своего проекта автоматизации, то OLED-дисплей SH1106 станет отличным выбором. Этот дисплей предоставит вам все необходимые возможности для эффективного управления и мониторинга вашего проекта.
| Характеристика | Значение |
|---|---|
| Размер дисплея | 1,3 дюйма |
| Разрешение дисплея | 128 x 64 пикселей |
| Тип дисплея | OLED |
| Интерфейс дисплея | I2C |
| Напряжение питания | 3,3 В |
| Потребляемый ток | < 20 мА |
| Угол обзора | 160 градусов |
| Рабочая температура | -40°C - 80°C |
| Размер платы | 27 x 40 мм |
| Вес | 5 г |
Мои личные впечатления от использования OLED-дисплея SH1106 в проекте автоматизации:
- Дисплей очень компактный и легкий, что позволило мне без труда разместить его в корпусе моего устройства.
- Несмотря на свои небольшие размеры, дисплей обеспечивает отличную видимость и контрастность.
- Интерфейс I2C упрощает подключение дисплея к плате Arduino Uno R3.
- Библиотека U8g2 предоставляет простой и удобный интерфейс программирования для управления дисплеем.
- Дисплей потребляет очень мало энергии, что делает его идеальным для проектов, работающих от батареи.
В целом, я очень доволен использованием OLED-дисплея SH1106 в своем проекте автоматизации. Этот дисплей предоставил мне все необходимые возможности для эффективного управления и мониторинга моего проекта.
| Характеристика | OLED-дисплей SH1106 | ЖК-дисплей 16x2 |
|---|---|---|
| Тип дисплея | OLED | ЖК |
| Размер дисплея | 1,3 дюйма | 16x |
| Разрешение дисплея | 128 x 64 пикселей | 16x |
| Интерфейс дисплея | I2C | Параллельный |
| Напряжение питания | 3,3 В | 5 В |
| Потребляемый ток | 10 мА (макс.) | 50 мА (макс.) |
| Угол обзора | 160 градусов | 140 градусов |
| Рабочая температура | -40°C - 80°C | 0°C - 50°C |
| Размер платы | 27 x 40 мм | 44 x 20 мм |
| Вес | 5 г | 10 г |
| Стоимость | от $5 | от $2 |
Мои личные впечатления от использования OLED-дисплея SH1106 в проекте автоматизации:
- OLED-дисплей SH1106 имеет более компактные размеры по сравнению с ЖК-дисплеем 16x2, что позволяет разместить его в более ограниченных пространствах.
- OLED-дисплей SH1106 обеспечивает более высокое разрешение и лучшее качество изображения по сравнению с ЖК-дисплеем 16x2.
- Интерфейс I2C значительно упрощает подключение OLED-дисплея SH1106 к плате Arduino Uno R3 по сравнению с параллельным интерфейсом ЖК-дисплея 16x2.
- OLED-дисплей SH1106 потребляет меньше энергии, чем ЖК-дисплей 16x2, что делает его более подходящим для проектов, работающих от батареи.
- OLED-дисплей SH1106 имеет более широкий угол обзора и работает при более низких температурах по сравнению с ЖК-дисплеем 16x2.
Несмотря на более высокую стоимость, OLED-дисплей SH1106 предлагает ряд преимуществ по сравнению с ЖК-дисплеем 16x2, что делает его более предпочтительным выбором для проектов автоматизации, где требуется компактность, высокое качество изображения, низкое энергопотребление и широкий угол обзора.
FAQ
Как подключить OLED-дисплей SH1106 к плате Arduino Uno R3?
Для подключения OLED-дисплея SH1106 к плате Arduino Uno R3 необходимо выполнить следующие действия:
- Подключите вывод VCC дисплея к выводу 5V платы Arduino.
- Подключите вывод GND дисплея к общему проводу платы Arduino.
- Подключите вывод SCL дисплея к выводу A5 платы Arduino.
- Подключите вывод SDA дисплея к выводу A4 платы Arduino.
После подключения дисплея к плате Arduino необходимо установить библиотеку U8g2 для управления дисплеем.
Как управлять OLED-дисплеем SH1106 с помощью Arduino?
Для управления OLED-дисплеем SH1106 с помощью Arduino можно использовать библиотеку U8g2. Эта библиотека предоставляет простой и удобный интерфейс программирования для работы с различными OLED-дисплеями, в том числе и с SH1106.
Для начала работы с библиотекой U8g2 необходимо включить соответствующую директиву препроцессора в код программы:
#include
Затем необходимо создать объект для управления дисплеем:
U8G2_SH1106_128X64_NONAME_F_HW_I2C u8g2(U8X89_PIN_NONE);
Этот объект можно использовать для управления дисплеем, вызывая различные функции и методы библиотеки U8g2.
Какие примеры использования OLED-дисплея SH1106 для автоматизации?
Примеры использования OLED-дисплея SH1106 для автоматизации включают:
- Отображение информации о состоянии оборудования
- Отображение настроек
- Отображение ошибок и предупреждений
- Отображение графиков и диаграмм
- Отображение сенсорных данных
Дисплеи SH1106 также используются в различных других проектах автоматизации, таких как:
- Системы управления освещением
- Системы управления климатом
- Системы безопасности
- Медицинские приборы
Где можно купить OLED-дисплеи SH1106?
OLED-дисплеи SH1106 можно приобрести у различных поставщиков электронных компонентов, таких как:
- Digi-Key
- Mouser Electronics
- Amazon
- AliExpress