Печать

Сенсорный выключатель на Attiny13

Автор: AntonChip Опубликовано . Опубликовано в Устройства на AVR

Рейтинг:   / 24
ПлохоОтлично 

Данный сенсорный выключатель применяется для включения/выключения светодиода или лампы из светодиодов, а также способен менять их яркость свечения. При кратковременном нажатии на кнопку нагрузка плавно включается или выключается. Если во включенном состоянии долго держать палец на сенсоре яркость будет меняться. При отпускании сенсора текущая яркость будет сохранена в памяти микроконтроллера.

Сенсорный выключатель на Attiny13

Устройство собрано на контроллере Attiny13, частота тактирования 9,6Мгц, делитель на 8 отключен. Для управлением яркостью светодиодов применен аппаратный ШИМ. При подключении мощной нагрузки для управления MOSFET необходимо использовать дополнительный драйвер. Автоматическая настройка сенсора обеспечивает уверенное срабатывание на расстоянии до 4мм.

Доступна вторая версия устройства с возможностью автовыключения по истечение некоторого промежутка времени. Доступны три интервала времени автовыключения 1, 2 и 6 часов. Интервал можно изменить путем переключения перемычек S1 и S2:

S1 S2 Время автовыключения
ВКЛ. ВЫКЛ. 1 час
ВЫКЛ. ВКЛ. 2 часа
ВКЛ. ВКЛ. 6 часов
ВЫКЛ. ВЫКЛ. Автовыключения нет

Интервалы автовыключения также можно изменить в самом HEX файле, для этого нужно воспользоваться программой PonyProg или другим hex-редактором. Три шестнадцатиразрядных значения записаны в предпоследней строке файла, по умолчанию это 0E10(3600 сек), 1C20(7200 сек), 5460(21600 сек). Редактируя эти значения можно изменить интервалы автовыключения от 1 секунды до 18 часов. В PonyProg редактирование активируется: Edit -> Edit Buffer enabled.

В новой версии используется микроконтроллер Attiny45, который тактируется от внутреннего генератора частотой 8МГц, делитель на 8 отключен. При достижении максимальной яркости во время регулировки светодиоды мигнут 2 раза.

Сенсорный выключатель на Attiny45

Файлы:
Файл прошивки и EEPROM микроконтроллера
Дата 19.03.2015 Размер файла 1.24 KB Закачек 1636

Комментарии  

0 #21 Andragor 05.04.2016 21:22
Антон, поделитесь пожалуйста исходничком с начинающим .Инфы очень мало. Хотя бы на примерах посмотреть. Заранее блогадарен.
Сообщить модератору
0 #22 AntonChip 05.04.2016 21:45
Цитирую Andragor:
Антон, поделитесь пожалуйста исходничком с начинающим .Инфы очень мало. Хотя бы на примерах посмотреть. Заранее благодарен.
Проект положил в архив.
Сообщить модератору
0 #23 mybox911 11.04.2016 14:05
Антон, Возможно ли уместить в Аttiny13 управление яркостью и таймер (к примеру на 2 часа, без перемычек, с вариантом правки времени в коде)?? Ребенку ночник хочу сделать, чтоб не бегать отключать, когда уснет. Т.е. включил, выставил яркость и таймер отключения начал "тикать".
13 тинек есть немного, а 85ю жалко :)
Сообщить модератору
-1 #24 AntonChip 11.04.2016 21:40
Так как в tiny13 один таймер который занят ШИМ, есть вариант использовать сторожевой таймер для отсчета времени
Сообщить модератору
0 #25 firemen 25.07.2016 21:49
Подскажите , какие фьюзы выставлять в проекте с Attiny 45?
Сообщить модератору
0 #26 AntonChip 25.07.2016 22:03
Цитирую firemen:
Подскажите , какие фьюзы выставлять в проекте с Attiny 45?

High: 0xDF
Low: 0xE2
Сообщить модератору
0 #27 Пиу 04.08.2016 23:28
В прошивке из архива тини13 проблема. при коротких касаниях сегсора включается плавно, выключается плавно, а регулировка яркости не работает от слова совсем. При этом замечен баг. если удерживать руку на сенсоре в выключенном состоянии - включаются светодиоды при отпускании мгновенно.
В комментариях не у одного меня такая проблема. может проблема в фьюзах?
как выставить их в проекте с тини 13 ?
Сообщить модератору
0 #28 Сержио 28.08.2016 21:29
Пиу, была такая же проблема.
Если не работает регулировка, а только плавное включение и выключение, нужно между 3 и 4 контактами МК добавить резистор около 1 мОм.
Возможно это из за наводок, так как собирал на макетке.
Сообщить модератору
0 #29 Николай Пиу 02.09.2016 23:36
С резистором поведение изменилось. Теперь при удержании пальца на сенсоре яркость плавно изменяется от 100% до нуля и наоборот циклично. Однако запомнить промежуточное значение не возможно, при отпускании сенсора яркость падает до нуля или стремится к 100% в зависимости от момента отпускания.
Уменьшил резистор с 1Мом до 330кОм - ничего не изменилось.
Сообщить модератору
0 #30 Сержио 05.09.2016 18:49
А EEPROM шили?
Сообщить модератору
0 #31 Сержио 05.09.2016 18:53
У кого на Attiny45 получилось. При подаче питания плавно загорается и всё. На Attiny13 работает супер. :eek:
Сообщить модератору
0 #32 Николай пиу 11.09.2016 22:05
Всё. Победил. Оказывается был бракованный конденсатор С5 (10n). После замены всё заработало как надо.
Сообщить модератору
0 #33 Вячеслав.В 01.11.2016 22:11
Подскажите , какие фьюзы выставлять в проекте с Attiny 13
перепробовал всё, мигает зараза и всё тут )))
Сообщить модератору
0 #34 Funtik 04.11.2016 16:47
Аналогичная ситуация, мигает устройство и все тут. Фьюзы не шил. Ткните пальцем где посмотреть фьюзы.
Сообщить модератору
0 #35 Andrew0t 20.11.2016 19:26
Заработало сходу, но вопрос по прошивке, можете выложить без цикличности, это действительно делает девайс не юзабельным, выключите пожалуйста цикл.
Сообщить модератору
0 #36 AntonChip 23.11.2016 06:13
Цитирую Andrew0t:
Заработало сходу, но вопрос по прошивке, можете ыложить без цикличности, это действительно делает девайс не юзабельным, выключите пожалуйста цикл.

какой цикл имеете ввиду?
Сообщить модератору

Рекомендуем посмотреть