Cамодельный сенсорный светильник на Arduino (Digispark).
На рынке достаточно много светильников
с различными сенсорными кнопками
.
Что бы включить такой светильник
необходимо прикоснуться к определённой
области на корпусе прибора.
Подобное управление я уже реализовывал,
и меня не удивить таким управлением.
Недавно делал
елочную гирлянду, в которой
управление
сенсорной кнопкой выступало
как альтернативное, основное управление
реализовано по Wi-fi.
Недавно в
гостях мне показали
светильник с
сенсорным управлением
, который можно
включить прикоснувшись к самому
светильнику. Корпус светильника сделан
из
алюминиевого профиля. И тут меня
посетила идея
реализовать с помощью Arduino что-то подобное.
В поисках
алюминиевого профиля, который будет
выступать в качестве корпуса, отправился
в магазин электротоваров. Выбор пал вот
на такой профиль.
Теперь необходимо
сделать
основание корпуса, куда будет
уложена электроника. Изначально я
планировал начертить свое основание в
программе Fusion 360, но на просторах интернета
наткнулся вот на такой
готовый вариант.
Все элементы отлично подошли для моего
проекта, пришлось только увеличить
отверстие для установки разъёма 5,5 на
2,5 мм.
Корпус готов. Переходим к электронной
части проекта.
В
связи с
тем, что в основании
не так и много места, управлять всем
будет
Digispark
Тем
более у меня уже есть опыт по использованию
данного микроконтроллера в
светильниках.
Электронику светильника с сенсорным
управлением на Arduino (Digispark) собираю вот по такой схеме.
В
первом варианте сенсорную кнопку
зафиксировал в
верхней
части основания
светильника
. И
управление происходит
за счет
прикосновения
к
корпусу,
в определенном месте задней стороны
светильника. Реализация, в принципе,
неплохая, но хочется чего-то более
удобного
и более простого в управлении.
У
сенсорной
кнопки ttp223
есть
места, куда можно припаять выносной
сенсор, чем я и воспользовался. Припаял
провод к
выносному
сенсору и зафиксировал так, что кольца
фиксации прижимают
данный провод плотно к алюминиевому
профилю. Правда
использовать медный
провод нежелательно, потому что в месте
соприкосновения алюминия и меди
происходит окисление и со временем
контакт теряется. Поэтому
в своем проекте я использую облуженый
медный провод, надеюсь
что проблем с контактом не будет.
Укладываем
электронику в основание
и закрываем заднюю крышку.
Переходим к программной части.
Чтобы Digispark
работал
в среде
Arduino IDE необходимо
настроить поддержку данной платы.
Для
этого в
Arduino IDE
зайдём во вкладку «файл», «настройки»
и в открывшемся окне настроек, в поле
«
Дополнительные
ссылки для менеджера плат
» указываем
вот такую
ссылку. Нажимаем кнопку «
OK».
Дальше
переходим в меню
«инструменты»,
выбираем пункт
«менеджер плат» и в открывшемся окне в
строке
поиска указываем
слово:
«Digispark».
Производим
установку.
После
чего переходим в пункт меню
«инструменты» и
в пункте
«платы» выбираем Digispark.
Для операционной системы Windows необходимо
установить дополнительные драйвера,
которые вы можете скачать по
ссылке или
из раздела «
материалы для скачивания»
в конце статьи.
Прошивка Digispark
немного
отличается от
прошивки Arduino.
Сперва нажимаем кнопку «загрузить»,
после чего появляется надпись о
том, что
ожидается подключение устройства. Далее
мы подключаем к
USB
Digispark.
Если вы увидели бегущие проценты до
100
и в конце надпись «
Thank you!». Значит ваш
плата успешно прошита.
Код для светильника сенсорным
управлением.
Код
прошивки небольшой, максимум,
что вам нужно изменить количество
светодиодов в вашей ленте. Значение
переменной
STRIPSIZE
как
раз отвечает за установку
количества светодиодов.
#include <Adafruit_NeoPixel.h>
#define PIN 0 // пин подключения ленты
#define STRIPSIZE 20 // количество светодиодов в ленте
byte button_rejim = 1; // кнопка режим
byte rejim = 0; // текущий режим
byte yarkast = 150; // текущая яркасть
boolean lastButten = LOW; // предыдущее состояние кнопки
boolean currentButten = LOW;// текущее состояние кнопки
Если
Вы планируете внести изменения в код,
то
это не составит труда, так как основные
функции все подписаны. Есть
функция, которая убирает дребезг кнопки.
Также прописан интервал через какое
время начинается увеличение яркости
светодиодов.
С
остальным, я думаю, можно разобраться,
тут ничего сложного нет.
В
итоге вот такой
красивый стильный
светильник
получается. Данный
светильник занимает мало места на столе,
но при этом его можно использовать как
настольную лампу при
чтении книг, или
для
подсветки
клавиатуры и рабочего стола.
Используя режимы радуги и смены цветов,
светильник
можно использовать как
ночник
.
Планирую доработать данную версию
светильника.
Есть
идея сделать управление через
Bluetooth,
wi-fi с помощью мобильного приложения.
Пишите в комментариях, и на форуме какую версию
проекта вы бы хотели видеть.
И
что вас интересует, возможно
даже не в рамках данного проекта.
Комментарии
Войдите или Зарегистрируйтесь И Вы сможете общаться на форуме и оставлять комментарии без капчи.