Моргаем светодиодами без "задержки".Индикация состояния "прибора"
- Войдите на сайт для отправки комментариев
Привет всем!
места для нормального TFT индикатора нет, хочется поставить два светодиода для индикации режима работы. В общей сложности нужно отразить 16 состояний, частино взаимоисключающих. Индикация нужна только в момент нажатия кнопок. 90% времени устройство просто лежит и не требует переключения. т.е. 1 мырг в 10 сек будет достаточен, что бы убедиться, что акку еще заряжен.
Меню 1 - мигаем красным 1 раз в секунду, Меню 2, мигаем 2 раза в секунду.
Режим 1 - мигаем зеленым 1 раз, Режим 2 - мигаем 2 раза зеленым и тп.
Есть еще какие- либо альтернативы? Какую скважность выбрать? Хватит 1/10 секунды?
Каким образом наименее затратно, с точки зрения загрузки loop() выполнить моргание? У меня там Bluetooth опрашивается и хочется батарейку экономить...
p.s. в перспективе переход на ATtiny 85 или ATtiny841, при тактовой частоте 1 Mhz . (1-2mA)
Думаете с точки зрения пользователя подсчет мигов будет кошерно, особенно 16штук. У меня на одной сигналке так было, выбешивало страшно. Семисегментник по крайней мере узнаваемые символы будет выводить. ИМХО.
Думаете с точки зрения пользователя подсчет мигов будет кошерно, особенно 16штук. У меня на одной сигналке так было, выбешивало страшно. Семисегментник по крайней мере узнаваемые символы будет выводить. ИМХО.
Это понятно. У меня проблема с потреблением энергии. Делаю маленькое устройство, которое питается от 1 аккумулятора. Реально там 2 режима +2 Тестовых / + Регулируется частота (2 светодиод). Оно подключено по Bluetooth к телефону. Вернее сказать включается, конфигурируется и лежит так часов 8...
Телефон посылает в сериальый порт Команды, и нужена минимальная обратная связть, что команда дошла.
Если поставить туда Индикатор от Nokiа 5110, то подсветка сразу жрет много электрическва. Кроме того места в корпусе мало. Если ты посоветуешь жидкокристаллический индикатор, который позволяет вывести 5-6 символов и потребляет менее 2-3ма, работая без подсветки, то будет здорово...
Глянь, такого типа. Сам не юзал, поэтому без комментариев.
И управление там вроде какое то хитрое.
achest, незнаю как модулю 5510, а родному дисплею от 3310 подсветка не нужна, собссно на самом дисплее её и нету физически. Ему вообще питание не нужно, он способен "кушать с шины" какие-то крохи. Однажды попытался измерить ток его потребления, отсоединил питание -а он работает. Я его приклеиваю прямо на корпус устройства:
А есть сверх экономные ЖК дисплеи от телефонов , могут по нескольку лет работать от одной пальчиковой батарейки. Потребляют всего 10мкА при питании 1...1,5 вольта. У меня один такой есть, может отображать цифры и всякие уголочки. Называется AL-801LCD как бонус в нём часы. . Правда по габаритам они гораздо больше чем 3310.
achest, незнаю как модулю 5510, а родному дисплею от 3310 подсветка не нужна, собссно на самом дисплее её и нету физически.
Привет!
Спасибо за совет. К сожалению такой элементной базы в местном магазине по приемлемым ценам нет. http://www.reichelt.de/
Один там я уже купил ( для http://www.mikrocontroller.net/articles/AVR_Transistortester) , без подсветки не возможно пользоваться. пришлось покупать подсветку и фрезировать корпус. Автор явно ни разу не собирал его сам - не хватает 0.5мм...
Самому травить плату и тп не хочется. Проще найти готовый.
Я специально написал это в форуме программирование. Потому, что я ищу простое, программное готовое решение. Для хардварного решения я бы открыл тему в другом форуме..
Так как ответом по делу нет, придется писать самому, на базе Библиотеки Timer1. По крайней мере нормальной библиотеки RTOS я так и не нашел, а переходить ради этого на STM32 пока еще слижком сложно... Выставлю таймер раз в 20..50 мс и буду надеяться, что Bluetooth еще будет нормально работать...
а в чем проблема считать в двух переменных состояние миллис? Зачем какая-то библиотека?
achest, у вас в германии нет ebay и ali ? зачем же ограничивать себя возможностями местного магазина..
Вобще задача мигать раз в .. миллисекунд очень проста, я бы не стал совать это в loop. Гораздо удобнее сделать на любом таймере, можно и на вотчдоге мигать, если более серьёзные таймеры нужны для более важных дел. Вот например:
Изменяя переменную mydelay можно задавать интервалы между миганиями.
а в чем проблема считать в двух переменных состояние миллис? Зачем какая-то библиотека?
Все правильно. Технической проблемы нет. У меня просто еще 2 мотора, которыми можно так же управлять. Т.е. получается минимум 6 глобальных переменных: 4 "состояние" + 6 сколько мыргов еще осталось. В перспективе может еще 1 добавиться... Так как я пришел из Ява/C++ то хочется, красиво, по принципу "1 функция - 1 действие."
Думал, может у кого есть подобная библиотека, задача то стандартная...
Пойду писать библиотеку, что бы данные из таймера использовать... Загоню все массив и при желании расширю уже его.
Спасибо dimax за код.