Оглавление:

UCL-lloT-Outdoor-light, активируемый восходом / закатом: 6 шагов
UCL-lloT-Outdoor-light, активируемый восходом / закатом: 6 шагов

Видео: UCL-lloT-Outdoor-light, активируемый восходом / закатом: 6 шагов

Видео: UCL-lloT-Outdoor-light, активируемый восходом / закатом: 6 шагов
Видео: Энергия и материя в возникновении жизни | Профессор Ник Лейн | 23 ноября 2021 г. 2024, Ноябрь
Anonim
UCL-lloT-Outdoor-light Срабатывает восходом / закатом
UCL-lloT-Outdoor-light Срабатывает восходом / закатом

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

Шаг 1. Список IO и то, что вам понадобится

Список IO и что вам понадобится
Список IO и что вам понадобится
Список IO и что вам понадобится
Список IO и что вам понадобится
Список IO и что вам понадобится
Список IO и что вам понадобится

Arduino MEGA 2560. Это то, что я использовал по крайней мере, я знаю, что вы легко можете использовать другой.

DS3231 и его библиотека. (https://rinkydinkelectronics.com/library.php?id=73… Важно знать, что контакты, установленные для SDA и SCL, различаются в зависимости от того, какой Arduino вы используете.

I052116 Модуль инфракрасного датчика движения. Этот конкретный модуль можно заменить на выбранный вами датчик, он, честно говоря, не обязателен для всего устройства.

Шаг 2: Блок-схема

Схема
Схема

Как видно на простой блок-схеме, большая часть тяжелой работы приходится на Node-Red. Идея относительно простых узлов заключается в том, что из Node-Red вы попадете на веб-сайт, который знает, во сколько садится и встает солнце. Как только он получит это, он отправит информацию на Arduino, сообщив ему. От Arduino мы получим сигнал, который точно указывает, когда на самом деле горит свет, чтобы вы могли проверить из своего дома, когда свет погас. Также от Arduino мы получим информацию о том, что датчик приближения был активирован., при котором свет включается на x раз.

Шаг 3: Обжаривание

Фритцинг
Фритцинг

По сравнению с другими проектами, здесь довольно просто разводка кабелей. Что вам нужно знать, так это то, что вам понадобится модуль WIFI, чтобы поддерживать связь с сервером Node-Red, или получить одноразовый компьютер для размещения сервера Node-Red, подключенного к Arduino. На рисунке не показана связь между Arduino и ноутбуком, и я заранее прошу прощения за плохую картинку Fritzing!

Шаг 4: Кодирование

Кодирование
Кодирование
Кодирование
Кодирование

Я обнаружил, что с Firmata (для связи Arduino с Node-Red), библиотекой DS3231 и т. Д. Было много загруженных библиотек. На момент публикации кодирование еще не завершено, поэтому включен псевдокод.

В библиотеку DS3231 включены предустановленные контакты для каждой из плат Arduino, а в случае Mega это контакты 20 и 21, поскольку они являются контактами SDA и SCL на Mega. После подключения часы могут точно сказать, какой сегодня день и что они должны отслеживать. Когда я обнаружил, что легче работать с числами, так это с использованием int вместо строки. Итак, что я сделал, так это то, что я преобразовал числа строки в int, но, поскольку int не может использовать: чтобы отделить часы, я решил вместо этого сделать что-то другое. Вместо того, чтобы работать с часами, мы будем работать с минутами. Много минут. Например, если на часах 13:21, я разделю первые две цифры и покажу время с шестьюдесятью. Теперь у нас 801 минута, так как 13 умноженное на 60 равно 780, и вы добавляете последнюю 21 минуту. Если наш Node-Red говорит, что солнце садится в 16:58 (в случае зимы), мы заставляем наружное освещение включаться между 1018 минутами и заранее определенным временем выключения, которое будет 1380 (23:00).). Если наш таймер находится между ними, загорается свет. Вышеупомянутая математика - это в основном вся программа, без шагов по подключению Node-Red к Arduino и обмену данными. Также будет использоваться датчик, который гарантирует, что свет включается (во всяком случае, после захода солнца), но в остальном это вся программа, описанная выше.

Шаг 5: Красный узел

Узел-красный
Узел-красный
Узел-красный
Узел-красный
Узел-красный
Узел-красный
Узел-красный
Узел-красный

Не особо большой поток, не то чтобы он должен быть в данном случае. Первые 2 ряда узлов - большая часть программы. Используя функцию GET, мы получаем прогноз на сегодняшний день восхода и захода солнца. Оттуда мы используем селектор CSS для получения нашей конкретной информации, обычно доступ к которой осуществляется на веб-сайтах «Проверить элементы» в Firefox, как показано на рисунках. Обратите внимание, что не все веб-сайты работают таким образом, и тот, который я использую, работает идеально. Оттуда он будет записывать информацию на вывод 13, потому что это то, что я обозначил, хотя тестирование еще не определило, работает ли один вывод в разное время. Как описано в части кодирования, информация будет поступать из Arduino в Node-Red, где она будет отображаться на доступном веб-сайте, где ее можно легко проверить. Для этого вам понадобятся Firmata, если вы хотите использовать функции Arduino. получен через библиотеку node-red-node-arduino на Node-Red. Хотя он еще не полностью настроен и будет обновляться по мере завершения проекта, я прикрепил код для Node-Red Flow в текстовом документе для облегчения доступа.

Шаг 6: Развертывание и использование

Развертывание и использование
Развертывание и использование

И, чтобы закончить нашу инструкцию, это практическая часть. Поскольку несколько домов имеют такой уровень автоматического освещения, многие домовладельцы приветствуют круглогодичное решение. Чтобы на самом деле подключить это к лампам, использующим электричество, которое не является Arduino, я не рекомендую делать это самостоятельно, если вы точно не знаете, что делаете. Когда проект будет завершен, я возьму на себя эту задачу с помощью электрика, чтобы быть уверенным. Освещая подъездную дорожку с помощью датчика или строго по времени, я рекомендую вам опираться на то, что я уже сделал, если вы означают, что на самом деле использовать его за пределами этой фазы тестирования, на которой он сейчас находится. Большинство моих проблем с проектом было строго в части Node-Red для Arduino, и я надеюсь, что мне удалось объяснить как можно яснее, как это сделано.

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