Торшер контролируемый жестами и Mysensors

Я давно хотел собрать торшер контролируемый жестами, который также управляется с системы домашней автоматизации, в течение длительного времени. Этот проект описывает электронику и программное обеспечение, необходимое для создания такого торшера. Примечание: на этом этапе я все еще ищу оптимальные значения конденсатора, пустой в виду, что я всего лишь увлеченный любитель, который просто познает электронику.

Обновление: я заменил регулятор 7805 на 7808 и подключил LD33V от 7808. Также Arduino питается от LD33V. Причина этого, заключается в том, что LD33V стал сильно греться, когда я поставил 12В напрямую. Новая схема держит низкую температуру как 7808 так и  lD33V , внушает уверенности при установке  их на деревянные лампы.

Этот проект можно построить за 36 (евро), но вы будете наслаждаться за каждый цент который вы тратите. Играть с датчиком для управления лампы очень смешно, кроме того, каждый, кто посещает ваш дом, будут поражены этой лампой и будут наслаждаться игрой  также.

Если вы еще не слышали о MySensors, пожалуйста прочитайте все о фантастической платформе здесь. Потому что MySensors является основной частью моей лампы.

На плате прототипирования показана схема подключения этого проекта. Самой большой проблемой в этом проекте является тот факт, что мы имеем дело с 3 разными типами напряжения:

  • 12В для белой светодиодной ленты.
  • 5В для питания платы Arduino ProMini 3.3 В (Spark Fun  говорит, что их про мини могут быть подключены к 12V, но я один из моих дешевых Arduino ProMini. Поэтому я добавил регулятор 5В, чтобы помешать другим сделать то же самое.)
  • 3.3 V для питания с nrf24l01+ и APDS-9960 датчик жестов. Примечание в APDS-9960 используется  3,3 в, поэтому я использовал ProMini 3.3 V для этого проекта. Вы можете использовать любые другие Arduino,  но в этом случае вам придется использовать двунаправленный преобразователь уровня логики, это будет стоить вам больше денег.

Если Вы не можете увидеть, как должен подключен nrf24l01+, взгляните на руководство MySensors, там все очень хорошо показано. Также не забудьте добавить 4.7 мкф конденсатор, без него связь не стабильна. Также не подключается линия прерывания радио к pin2 Arduino. Прерывание радио не используется в MySensors, но нам понадобится, когда мы подключаем датчик жестов.

Не все про мини имеет pin А4 и А5, расположены на правой стороне. Эти пины для I2C связи, используемый для связи с датчиком жестов.  Посмотрите как подключить его к вашей Arduino на сайте SparkFun.

Для начала я добавил LD33V и L7805CV на макетной плате, и  так у меня уже есть разные уровни напряжения. Следующий шаг зависит от вас. Я сначала добавил датчик жестов и протестировали его с примерами, предоставляемые библиотекой, который Вы можете скачать отсюда.

Самая большая проблема у меня заставить этот датчик работать, является тот факт, что вы получите гораздо более чувствительный, чем тот, что был использован SparkFun для развития библиотеки и примеров. После долгих поисков в интернете я нашел решение на сайте — это конвертер. Вы можете изменить чувствительность библиотеки изменением коэффициента. По моему эскизу я установить это на уровень 1 (Вы можете найти значения в библиотеке).

apds.setGestureGain( 1 );

Библиотека принимает различные уровни усиления от 0- 3. 0 означает очень чувствительный, 3 значение наименее чувствительной. Если Вы не назначить нужный уровень усиления,Spark Fun библиотека заведет ваш  эскиз, в тупик.

Если вы подключили все правильно, пожалуйста проверьте  напряжение в цепях, просто чтобы быть уверенным, что вы сделали все правильно. После этого вы можете загрузить эскиз в ваш Arduino. Вам понадобится ftdi программатор для Ардуино, но я предполагаю, что у вас уже есть. В противном случае вы можете купить его здесь.

Это очень легко превратить этот проект в датчик контроля жестов. В качестве альтернативы датчика жестов можно использовать обычный выключатель, в основном, на местах мы не хотим, чтобы люди использовали сенсорный выключатель из гигиенических соображений. Например, когда вы готовите еду, это более гигиенично использовать  датчик жестов, вместо нормального переключателя. Это более гигиенично использовать его как выключатель света контроллера в вашей ванной комнате. Если вы занимаетесь деревообработкой или вы ремонтируете  ваш автомобиль, вы, как правило, пачкаете руки. Добавление контроллера жестов для включения/выключения или затемнения света, также отличный вариант использования этого проекта.

Заключительное примечание. Адаптер питания, который поставляется с светодиодной лентой, скорее всего, слишком слаб для питания, еще и Arduino. Я согласен с этим, потому что я использую только 1 или 2 метра, из полных 5 метров светодиодной ленты. Если вы хотите использовать все 5 метров, вам придется купить более мощный блок питания,  добавить не менее 500 Милли Ампер. Я измерил цепь в процессе разработки и в нормальном состоянии она потребляет около 380 Милли ампер. Но когда вы проведите рукой над датчиком жестом, он посылает сигнал на шлюз MySensors,  это вызывает всплеск потребления не менее 120 Милли ампер. Мой амперметр показал, что схема (без светодиодов) потребляет чуть более 510 Милли ампер.

Жесты руководство пользователя:

  1. При движении руки справа налево над датчиком — жест Выключит лампу.
  2. Двигая рукой слева направо над датчиком —  жест включит лампу.
  3. Перемещая руку снизу вверх над датчиком жестов позволит увеличить яркость. Если яркость уже на максимум свет будет коротко мигать один раз (вы можете настроить длительность и количество морганий в эскизе)
  4. При движении руки сверху вниз над датчиком жест будет уменьшат яркость. Если уровень яркости падает до 0 лампа будет отключена.

Обновление: мелкие исправления ошибок. Когда Лампа включена и текущий уровень яркости составляет больше 0  лампа не включается. Исправил. Теперь светильник включается на 1 уровень яркости, когда лампа включена с текущего уровня яркости 0. Исправление применяется только для изменения — лампы  жестом. Также редактировался код немного и появилось больше комментариев в исходном коде,  некоторые из них, объясняют выбор конструкции.

Изображения

Shoji_lamp_006
GestureControlledLamp_v2_bb

Исходный код

DimmableLight_v2.ino

Спецификация

Кол-во

 

Значение Устройство Описание Ссылки на Aliexpress или ebay
1 4,7 uF — 35V 4.7 uF конденсатор (35V) 4,7 uF конденсатор для стабилизации NRF24L01+ Radio http://s.click.aliexpress.com/e/mU3RFEyn6
4 10 uF — 50V 10 uF конденсатор (50V) 10 uF конденсатор (входит в пакет 4.7 uF см. ссылку выше)
1 12V Ledstrip White Белая светодиодная лентаe; блок питания Светодиодная лента с блоком питания AliExpress: http://nl.aliexpress.com/item/Waterproof-LED-Str…
1 NRF24L01+ NRF24L01+ AlieExpress ссылка на заказ 10 шт  Radio AliExpress: 10PCS/LOT NRF24L01+ wireless data transmission m…
1 3.3V Arduino Pro Mini 3.3V Arduino Pro Mini (Сенсор жестов только  3.3V) Ebay: Redesign Pro Mini atmega328 3.3V 8M Replace ATmega128 …
1 APDS-9960 RGB Сенсор жестов AliExpress: http://nl.aliexpress.com/item/Free-Shipping-APDS…
1 N-Channel Mosfet N-Channel Mosfet для включения и диммирования ленты http://s.click.aliexpress.com/e/2jufeMvbm
1 LD33V 3.3V стабилизатор AliExpress: http://nl.aliexpress.com/item/Free-shipping-LD11…
1 L7005CV 5V стабилизатор AliExpress: http://nl.aliexpress.com/item/L7805CV-IC-REG-LDO…
3 TO220 Радиатор Радиатор AliExpress: http://nl.aliexpress.com/item/10pcs-Aluminium-TO…

 

Перевёл Антон Вотчицев

Share