Семисегментный индикатор. Вопросы по использованию.
- Войдите на сайт для отправки комментариев
Пнд, 24/02/2014 - 20:33
Есть проект в котором в loop есть while который ждет нажание концевика и delay.
Теперь появилась необходимость добавить регулятор температуры с трехразрядным индикатором.
Очень не хочется использовать дополнительный драйвер.
Как это можно реализовать, чтобы индикация не мешала основной программе. Снимать темературу можно например каждые 200мс в прерывании по таймеру, а как быть с индикатором? Ведь ему нужно очень часто подавать импульсы, иначе будет моргать:)
используйте статическую индикацию вместо динамической
если есть "делай", то используйте статическую индикацию через регистры 74595 (т.к. выводов поданобиться 7*3+точка (если нужна)), и выводите на индикатор хоть каждые 200 мс.
а лучше от "делай" избавиться...
Библиотека вам в помощь
Хоть и помаргивает, например при опросе DHT модуля, но в целом показывает нормально
Использовать while и delay вообще не рационально. Концевик лучше повесить на прерывание. А тактовые импульсы на смену разряда индикатора можно организовать и по прерыванию таймера, несколько килогерц будет достаточно и не слишком будет тормозить основную программу.
Решил этот вопрос. Избавился от всех тормозящих программу команд (delay, while), и индикатор работает теперь отлично, никому не мешает. Яркости хватает.
эта библиотека требует указать пин подключения точки, а когда его нет то и писать нечего а нужно иначе не компилится