Создание фоторамки с динамической подсветкой
В данном посте я хотел бы рассказать, как сделать что-то простое и эффектно выглядящее человеку, который никогда не имел дел железом, ардуино и всякими таким вещами. Поскольку сам я в этом деле новичок, то выбор пал на фоторамку с динамической подсветкой. Основными частями проекта будут: лента, датчик расстояния и микроконтроллер arduino UNO. Выбран именно он, ибо выглядит наименее устрашающе по сравнению с другими моделями. Также у рамки должно быть автономное питание, а ардуино по возможности должно максимально экономить энергию.
Схема проекта выглядит следующим образом:
Для проекта нам понадобятся:
- Любая светодиодная лента, мой выбор пар на ленту со светодиодами SMS2835 (12 В, 4.8 Вт), потому что она является наиболее дешевой
- Ультразвуковой датчик расстояния HC-SR04
- Микроконтроллер arduino Uno
- Батарейка крона для питания ардуино
- Мотоциклетный аккумулятор mdb mso 0.8-12 (12 В, емкость 0.8 А/ч)
- Полевой транзистор с изолированным затвором IRFZ44N (Это n-канальный транзистор)
- Резисторы на 100 Ом и 10 кОм
- Макетная плата, которую можно прикрепить сверху ардуино, чтобы можно было припаять провода
- Провода
Также можно приобрести пины, чтобы проверять работоспособность схемы без спайки.
Код для работы с датчиком можно найти по первой же ссылке в гугле, схема подключения выглядит следующим образом.
Регулирование ленты будет осуществляться при помощи мосфета, принцип работы которого можно описать следующим образом: подаем напряжение на затвор - канал открывается, ток течет, лента светит. Не подаем напряжение на затвор - канал закрыт, лента гаснет.
Затвор транзистора мы подключим на любой цифровой входо-выход ардуино, помеченный знаком ~, который говорит о том, с данного выхода может подаваться ШИМ сигнал. Как это функционирует хорошо описано здесь: https://www.youtube.com/watch?v=rCmaMST8qkg&t=296s.
Мы не можем подключить затвор транзистора напрямую к выходу ардуино, потому что в таком случае есть опасность его сжечь, поэтому мы подключаемся через резистор в 100 Ом. В моем случае такого не нашлось, поэтому все подключить пришлось через два параллельно соединенных резистора по 220 Ом. Для того, чтобы избежать самопроизвольного замыкания между стоком и затвором установлен резистор на 10 кОм.
После спайки схема выглядит следующим образом:
Для написания кода использовалась среда разработки arduino ide. Чтобы регулировать яркость ленты необходимо снимать значения с датчика расстояния, а после преобразовать его в значение от 0 до 255 и подать цифровой пин со знаком ~ , через функцию analogWrite(n, m), где n - номер пина, а m - принимает значение от 0 до 255. Код для работы с датчиком можно также найти по первой же ссылке.
Также из подручных средств было сделано место для расположения блока питания и микроконтроллера на задней стороне рамки:
Для держания датчика расстояния был распечатан кронштейн и внешне итоговый проект выглядит следующим образом.