Как-то раз решил я переделать свою светодиодную фару для велосипеда. Чтобы переключать её яркость. Вот и родился контроллер для светодиодного фонарика
В качестве микроконтроллера я выбрал самый дешёвый Atmel Attiny13 с двумя ШИМ (Широтно-импульсная модуляция) выходами. Устройство имеет 6 режимов работы:
Режим 1: Выключено (Значение ШИМ: 0)
Режим 2: Включено 20% яркости (Значение ШИМ: 25)
Режим 4: Включено 40% яркости (Значение ШИМ: 100)
Режим 5: Включено 60% яркости (Значение ШИМ: 150)
Режим 6: Включено 100% яркости (Значение ШИМ: 255)
Для питания устройства я использовал батарею на 3 вольта (литьевую таблетку).
Итак, для устройства нам понадобится:
1. Микроконтроллер Atmel Attiny13 (с любыми буквенными индексами)
2. Резистор от 4,7кОм до 10кОм
3. Резистор от 100ом до 200ом
4. Кнопка тактовая
5. Кнопка фиксирующая
6. Батарея от 3 вольт до 5 вольт
Вот схема контроллера светодиодного фонарика:
Схема в Proteus:
Плату я делать не стал, слишком уж простая схема. Собрал всё на макетной плате.
Вот что получилось у меня:
Устройство получилось компактное и вполне работоспособное.
Прошивку для контроллера светодиодного фонарика я писал в среде BASCOM-AVR.
Вот кусочек кода для управления ШИМ:
Config Portb.1 = Output
Config Timer0 = Pwm , Prescale = 8 , Compare B Pwm = Clear Down
Start Timer0
Pwm0b = 100
End
Фьюз биты для микроконтроллера необходимо выставить на тактирование от внутреннего тактового генератора (1 МГц).
Вот установка фьюзов в PonyProg2000:
Работа устройства в темноте:
Вот и всё устройство. Удачи в сборке!
Ниже вы можете скачать прошивку, исходник, проект в Proteus
Прикрепленные файлы:
- flashlightcontroller.rar (18 Кб)