Как-то раз пришла мне в голову идея - что, если управлять светодиодом через джойстик-грибок? Или целой светодиодной лентой?
Я решил воплотить эту идею в жизнь и использовал плату Arduino.
Чтобы собрать такое устройство, нам понадобятся:
- Arduino Uno
- Джойстик-грибок
- Светодиод RGB
RGB светодиод - это три светодиода с общим анодом или катодом. В зависимости от подводимого тока на каждую ногу светодиода, меняется его оттенок. Он использует систему RGB - красный, зелёный и синий - эта система используется в большинстве дисплеев и мониторов компьютеров и различных "умных устройств". Я использую готовую печатную плату со встроенными резисторами - можно смело подводить от 5 до 7 вольт. Джойстик-грибок использует два аналоговых входа - они отвечают за оси X и Y - влево-вправо и вверх-вниз. Также ему необходимы питание и земля.
Схема собирается следующим образом: ножки светодиода R, G, B подключаются к пинам 9, 10, 11 соответственно; ножка минуса подключается к пину GND. Ножка джойстика VCC подключается к пину 5V, ножка GND - к земле, ножка оси X (VRx) подключается к аналоговому пину A0. Ножка оси Y (VRy) не подключается, так как мы не используем ось Y.
Схема работы программы такова: если плата засекает движение джойстика влево, светодиод меняет свой оттенок ближе к красному; если вправо - ближе к синему. Движения вниз и вверх в данном проекте не используются. Если мы отключим джойстик, светодиод будет показывать спектральные цвета от красного к фиолетово-розовому.
Для того, чтобы реализовать это, нам необходимо написать специальную функцию - ledRgb. О ней будет рассказано в комментариях к коду. Также в коде вы можете заметить функции работы с serial-портом - они остались после отладки, Вы можете ими воспользоваться, чтобы отладить и видоизменить программу.
Это устройство может использоваться для управления целой светодиодной лентой, а не одним RGB-светодиодом. Для этого необходимо вместо светодиода подключить транзисторы, которые будут управлять током для светодиодной ленты.
Прикрепленные файлы:
- joyled.ino (2 Кб)
Комментарии (1) | Я собрал (0) | Подписаться
Для добавления Вашей сборки необходима регистрация