Оглавление:

Управление люминесцентными лампами с помощью лазерной указки и Arduino: 4 шага
Управление люминесцентными лампами с помощью лазерной указки и Arduino: 4 шага

Видео: Управление люминесцентными лампами с помощью лазерной указки и Arduino: 4 шага

Видео: Управление люминесцентными лампами с помощью лазерной указки и Arduino: 4 шага
Видео: Как подключить лазер к ардуино. Лазерный модуль KY-008 2024, Декабрь
Anonim
Управляйте люминесцентными лампами с помощью лазерной указки и Arduino
Управляйте люминесцентными лампами с помощью лазерной указки и Arduino
Управляйте люминесцентными лампами с помощью лазерной указки и Arduino
Управляйте люминесцентными лампами с помощью лазерной указки и Arduino

Некоторым членам Alpha One Labs Hackerspace не нравится резкий свет от люминесцентных светильников. Им нужен был способ легко управлять отдельными приборами, возможно, с помощью лазерной указки? Я правильно понял. Я выкопал кучу твердотельных реле и принес их в лабораторию. Я купил Arduino Duemilenova и продемонстрировал использование скетча из примера LED Blink для фактического мигания галогенной лампы. Я нашел некоторую информацию об использовании светодиодов в качестве датчиков света [1] и эскиз Arduino, демонстрирующий эту технику [2]. Я обнаружил, что светодиоды были недостаточно чувствительны - лазер должен был указывать прямо на излучающую свет часть или светодиод не регистрировался. Поэтому я перешел на фототранзисторы. Они намного более чувствительны и работают в более широком диапазоне частот. С надлежащим фильтром на транзисторе я мог бы сделать его более чувствительным к красному свету и к гораздо более широкому диапазону углов к датчику. ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ И ПРЕДУПРЕЖДЕНИЕ: Это руководство относится к линейному (сетевому) напряжению 120 или 240 вольт. При построении этой схемы руководствуйтесь здравым смыслом - если вы в чем-то сомневаетесь, спросите кого-нибудь, кто знает. Вы несете ответственность за свою (и других) безопасность и соблюдение местных электротехнических норм.

Шаг 1: набросок и немного теории

Я предполагаю, что вы знаете, как запитать Arduino, и скомпилировали и загрузили скетч. Для каждой лампы я использую телефонный кабель, так как он дешевый, имеет четыре проводника, и у меня все равно лежала связка. Я использовал красный для общего +, черный для заземления, зеленый для коллектора фототранзистора и желтый для управления реле +. Фототранзистор пропускает ток, который зависит от количества падающего на него света. Аналого-цифровой преобразователь (АЦП) в Arduino измеряет напряжение на выводе относительно земли. Я посмотрел паспорт фототранзистора и с помощью мультиметра проверил, что транзисторы пропускают 10 мА при полном освещении. По закону Ома это около 500 Ом при 5 В. Для управления лампами я использовал модуль твердотельного реле. Они относительно дешевы при текущем номинальном токе, который нам нужен, около 4 долларов за ток до 4А. Обязательно покупайте релейные модули с датчиком перехода через ноль, особенно если вы управляете чем-либо индуктивным, например, люминесцентным светом, двигателем или трансформатором для защиты от бородавок. Включение и выключение их в любом месте, кроме нулевой точки, может вызвать скачки напряжения, которые в лучшем случае сократят срок службы вашего прибора, а в худшем - вызовут пожар.

Шаг 2: подключение ламп

Подключение огней
Подключение огней
Подключение огней
Подключение огней
Подключение огней
Подключение огней

Посмотрите в потолок и решите, где вы установите контроллер Arduino. Помните, что для этого потребуется источник питания 7-12 В. Отрежьте телефонный провод (или кат. 5 или что-то еще) примерно на два фута длиннее, чем расстояние от Arduino до каждого источника света, которым вы хотите управлять. Посмотрите на соединение линий электропередачи от переключателя к балласту. Возможно, вы сможете заказать разъемы (Newark Electronics продает серию Wago 930, которая у нас была). Тогда вам не нужно будет обрезать существующие провода и вы сможете снять систему, если что-то пойдет не так. Припаяйте заземление (черный) к релейному входу -, а элемент управления (желтый) к релейному входу + (цветовой код на картинке отличается от того, что я написал на первой странице, так как я передумал, что имело бы смысл). Припаяйте или прикрутите (в зависимости от вашего реле) черный (горячий) провод через реле. Обязательно используйте термоусадочную пленку и изоленту! Вставьте черные провода в разъемы, белый (нейтраль) и заземление (зеленый) проходят прямо от разъема к разъему. Другой конец проводов идет к Arduino следующим образом: Все красные провода (общий катод или коллектор) переходим на Analog 0 (порт C0) и все черные на землю. Каждый зеленый (анод или эмиттер) идет к контактам 8-13 (порт B 0-5), а желтые провода идут к контактам 2-7 (порт D 2-7). Убедитесь, что зеленый и желтый провода совпадают, так как датчик должен управлять правильным реле! Если вы поместите желтый цвет на контакт 2, зеленый от того же приспособления перейдет на контакт 8.

Шаг 3. Тестирование эскиза и конструкторских заметок

На этом этапе я расскажу о некоторых испытаниях и невзгодах, с которыми я столкнулся на пути, и о том, как я их преодолел, в надежде, что это будет полезно. Не стесняйтесь переходить к следующему шагу, если научный контент не для вас:-) Первым шагом было решение, использовать ли емкостное или резистивное зондирование. Резистивное определение - это подключение датчика через резистор к одному из аналоговых выводов и выполнение аналогового чтения и сравнения с пороговым значением. Это проще всего реализовать, но требует тщательной калибровки. Теория емкостного измерения заключается в том, что при обратном смещении (- на + вывод и наоборот) светодиод не пропускает ток, но электроны будут собираться с одной стороны и оставьте другую сторону, эффективно заряжая конденсатор. Свет, падающий на светодиод с частотой, которую он обычно излучает, на самом деле вызывает протекание небольшого тока, который разряжает этот конденсатор. Итак, если мы зарядим «конденсатор» светодиода и посчитаем, сколько времени требуется для разряда через резистор, мы получим приблизительное представление о том, сколько света попадает на светодиод. На самом деле это оказалось более надежным для разных устройств, и даже работает для фототранзисторов! Поскольку мы не проводим точное измерение светового потока, а лазерная указка должна казаться намного ярче, чем окружающая среда, мы просто ищем пороговое время разряда. Другой важной частью этого приключения является отладка. Для тех, кто знаком с программированием невстроенных систем, популярным методом является добавление операторов печати в критические точки кода. Это также относится к встроенным системам, но когда на счету каждая микросекунда, время, затрачиваемое на Serial.write («x is»); Serial.writeln (x); на самом деле очень важно, и вы можете пропустить много событий в этом процессе. Поэтому не забывайте всегда помещать операторы печати вне критических циклов или в любое время, когда вы ожидаете события. Иногда достаточно мигания светодиода, чтобы вы знали, что вы дошли до определенного места в коде.

Шаг 4. Добавление веб-контроля

Добавление веб-контроля
Добавление веб-контроля

Если вы просмотрели эскиз, то заметили, что я также считываю последовательный порт и выполняю несколько односимвольных команд. Символ «n» включает все огни, а буква «f» выключает их. Цифры '0' - '5' переключают состояние света, подключенного к этому цифровому выходу. Таким образом, вы можете легко создать сценарий CGI (или сервлет, или любую другую веб-технологию, которая поддерживает вашу лодку) для удаленного управления вашими фонарями. Serial.writes также выводится всякий раз, когда свет изменяется от пользовательского ввода, поэтому на странице могут быть обновления Ajax для отображения текущего состояния. Еще одна вещь, с которой я собираюсь поэкспериментировать, - это обнаружение движения в комнате. Люди отражают свет, и по мере их движения этот свет будет меняться. Это «дельта» часть имеющихся у меня операторов записи.

Рекомендуемые: