Популярный 7-сегментный дисплей с десятичными точками на базе сдвигового регистра 74HC595, может выводить цифры и вполне читаемые символы. Дисплей очень яркий и читается даже при хорошем освещении. Существует несколько вариантов модулей с разным количеством знакомест:
Подключение к Arduino #
Подключается к питанию и любым цифровым пинам:
Библиотеки #
Для работы можно использовать библиотеку GyverSegment - она умеет работать со всеми видами дисплеев на TM74HC595 и других контроллерах, её можно установить/обновить из встроенного менеджера библиотек Arduino по названию GyverSegment. Краткая документация находится по ссылке выше, базовые примеры есть в самой библиотеке.
GyverSegment #
Примечание: это дисплей с ручной динамической индикацией, т.е. нужно постоянно обновлять дисплей и выводить по очереди все знакоместа. Библиотека делает это сама в двух сценариях:
- В
loop()
или глухих циклах нужно вызыватьdisp.tick();
- здесь по таймеру автоматически происходит динамическая индикация и дисплей перерисовывается, что позволяет ему выводить последние отправленные данные на протяжении работы программы disp.delay(мс)
- специальная функция задержки, аналогdelay()
, но внутри неё обновляется дисплей. Если вызвать обычныйdelay()
- дисплей будет заметно глючить!
Демо
#include <GyverSegment.h>
#define SCLK_PIN 4
#define RCLK_PIN 3
#define DIO_PIN 2
Disp595_4 disp(DIO_PIN, SCLK_PIN, RCLK_PIN);
void setup() {
// текст
disp.setCursor(0);
disp.print("hello");
disp.update();
disp.delay(1000);
// целое число
disp.setCursor(0);
disp.print(1234);
disp.update();
disp.delay(1000);
// float
disp.setCursor(0);
disp.print(3.14, 3); // точность 3 знака
disp.update();
disp.delay(1000);
// вывод числа справа с заполнением нулями
disp.setCursorEnd();
disp.printRight(true);
disp.fillChar('0');
disp.print(3.14, 3);
disp.update();
disp.printRight(false);
}
void loop() {
disp.tick();
}
Полезные страницы #
- Набор GyverKIT – наш большой стартовый набор Arduino, продаётся в России
- Каталог ссылок на дешёвые Ардуины, датчики, модули и прочие железки с AliExpress
- Обратная связь – сообщить об ошибке в уроке или предложить дополнение по тексту ([email protected])
- Поддержать автора за работу над уроками
