Конденсатор С2 может быть любым электролитическим, чем больше емкость, тем лучше, напряжение не менее 10 вольт. С1 — обязательно керамический, достаточно 0,1 мкФ, параллельно ему очень желательно поставить конденсатор на 100vra/ Оба конденсатора надо разместить как можно ближе к выводам питания МК, и при разводке платы учесть пути протекания силовых токов, чтобы МК не сбоил. Если что — соедините 1 вывод МК с плюсом питания.
При прошивке микроконтроллера необходимо установить следующее состояние fuse-битов: LOW BYTE 0x7A, HIGH BYTE 0xFB. Разные программаторы показывают состояние фьюзов по-разному, но все нормальные программаторы должны уметь показывать шестнадцатиричное значение fise-байтов, поэтому я привел именно их, чтобы не было никакой путаницы. На всякий случай поясняю: надо включить встроенный генератор 9,6 МГц, отключить делитель на 8, настроить схему BOD на 1,8 вольта. Все прочие можно не трогать, оставив, как было.
Для пультов дистанционного управления производится довольно много специализированных микросхем, но для домашнего творчества лучше и проще использовать микроконтроллер. Я выбрал attiny13, как наиболее миниатюрный среди недорогих и дешевых микроконтроллеров. Так как каждый порт этого контроллера способен выдавать ток до 40 мА, то ИК-светодиод запросто можно подключать к микроконтроллеру без дополнительных ключевых транзисторов, тем более что можно соединить три порта для увеличения суммарной нагрузочной способности. А теперь внимание — вопрос знатокам: если у attiny13 всего 8 ножек, 2 из которых питающие, а одна — вход сброса, использовать который нежелательно (так как в этом случае повторная прошивка микроконтроллера будет сильно затруднена), сколько остается свободных выводов для подключения 5-и кнопок? Правильный ответ: две.
Интересуетесь, как можно подключить 5 кнопок к двум выводам микроконтроллера? Да все очень просто! Ведь в выбранном нами микроконтроллере есть встроенное АЦП, а значит кнопками можно коммутировать напряжения с резисторного делителя, и тогда МК будет способен определить нажатую кнопку по входному напряжению.
Однако, не все так уж просто, потому как для пульта дистанционного управления очень важно минимальное потребление энергии в режиме ожидания, и именно поэтому основную часть времени микроконтроллер должен находиться в режиме сна, т.е. практически в полностью отключенном состоянии. Естественно нельзя использовать делитель напряжения, постоянно подключенный к батареи питания пульта, чтобы не разрядить ее быстро. Придется подключить делитель к одному из свободных выводов и подавать на него питание только в нужные моменты. И тут снова вопрос: нужный момент — это когда нажата кнопка, не так ли? И получается, что нажатие кнопки мы должны определить по напряжению, которое подается только после нажатия кнопки…
Исходник программы пульта содержит подробные комментарии, там все просто, надеюсь, проблем разобраться у желающих не возникнет. Ну а для непрограммистов я предлагаю готовую прошивку для МК. Следует отметить, что SMD-микроконтроллер нужно программировать или в специальном адаптере, или прямо в схеме, припаяв к нему проводки. В последнем случае надо после программирования соединить между собой припоем выводы 7-6-5, а вывод 1 соединить с питанием. Если потребуется повторная перепрошивка — надо соответственно освободить выводы, фьюзы для Мк нужно выставлять следующим образом:
Обратите внимание на улучшенную прошивку для лампы: она добавлена позже, в ней кардинально улучшено качество приема и немного изменен алгоритм работы — теперь лампа и включается и отключается одной кнопкой (на пульте размещена обособленно в правом верхнем углу). Так же в этой прошивке число градаций яркости и количество оттенков уменьшено, так как в первоначальном варианте для перебора всех оттенков требовалось держать нажатой кнопку пульта больше минуты.
По материалам сайта simple-devices.ru
Скачать файлы проекта.
Все вопросы задаем на форуме