Светодиодный сегментный цифровой индикатор
Попал ко мне вот такой светодиодный индикатор. Никакой информации по работе с ним я не нагуглил.

В Интернете он обозначался как «IIC I2C 0.36″ 8seg-4digit Red LED Digital Tube Display». Интерфейс подключения I2C. 256 градаций яркости. Возможность изменения адреса на шине от 0x00 до 0xFF.

Инструкция в Интернете нашлась только для первой версии дисплея, а у меня v1.1 и к нему не подходила. На сайте автора ничего нет кроме полей авторизации. Решил написать автору на электронную почту, на следующее утро получил ответ с прикреплённым архивом. В архиве были библиотеки для Arduino, даташит, а также пример управления из под Linux.
P.S. Ещё одну версию библиотеки (правда с небольшими ошибками) я всё-таки нагуглил на гитхаб.
Может кому-то тоже попадётся такой модуль, поэтому немного опишу принцип работы с ним.

Для тестирования я просто написал скетч, который увеличивает значение на единицу каждую секунду.
#include <Arduino.h> #include <Wire.h> #include <ZtLib.h> //Адрес дисплея #define OLED_ADDRESS 0x27 ZtLib led; int i=0; void setup() { delay(1000); led.I2cInit(); //включаем дисплей led.Seg8b4a036aUnSleep(OLED_ADDRESS); //Пример управления яркостью //led.Seg8b4a036aSetBrightness(OLED_ADDRESS, 0x20, 0xFF-0x20); } void loop() { //Вывод led.Seg8b4a036aDisplayDec(0x27,i,4,0); i++; delay(1000); if (i==10000) {i=0;} }
Подключение очень простое: подаём на дисплей питание 5 вольт, землю. Соединяем шину I2C через пины SDA и SCL. Контакт RST подключать необязательно, он служит лишь для сброса данных на дисплее при сбросе ардуины.
Основные функции библиотеки ZtLib:
- I2cInit(void) — инициализация;
- Seg8b4a036aSleep(uint8_t addr) — выключение экрана;
- Seg8b4a036aUnSleep(uint8_t addr) — включение экрана;
- Seg8b4a036aDisplayDec(uint8_t addr,unsigned short val, uint8_t bitnum, uint8_t dotbit) — вывод десятичного значения;
- Seg8b4a036aDisplayHex(uint8_t addr,unsigned short val, uint8_t bitnum, uint8_t dotbit) — вывод 16-ричного значения;
- Seg8b4a036aSetBrightness(uint8_t addr, uint8_t OnDelay, uint8_t OffDelay) — установка яркости.
bitnum — количество цифр, которые необходимы вывести (с конца). dotbit — биты установки запятых.
