Оглавление:
- Запасы
- Шаг 1. Необходимые компоненты
- Шаг 2: Электроника
- Шаг 3: Аппаратная часть, часть 1 (подготовка головы крокодила)
- Шаг 4: Программное обеспечение
- Шаг 5: оборудование, часть 2 (снова герметизация)
- Шаг 6: альтернативная сборка
- Шаг 7: Приложение: дополнительные дисплеи / датчики
Видео: Датчик крокодилового солнечного бассейна: 7 шагов (с изображениями)
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:48
В этом руководстве показано, как создать довольно специальный датчик для бассейна, измеряющий температуру в бассейне и передающий ее через Wi-Fi в приложение Blynk и брокеру MQTT. Я назвал его «Датчик солнечного бассейна крокодила». Он использует среду программирования Arduino и плату ESP8266 (Wemos D1 mini pro).
Что такого особенного в этом проекте?
- Вид просто отличный
- Полностью независим от источников питания (солнечная панель питает LiPo аккумулятор)
- Сенсор с низким энергопотреблением ESP8266 WiFi
- Достаточно точный датчик температуры
- Передача данных о температуре и напряжении в приложение Blynk для вашего мобильного телефона
- Отправляет также отметку времени последнего обновления в приложение Blynk.
- Передача данных температуры и напряжения брокеру MQTT
- Возможность переключения по Цельсию и Фаренгейту
- Можно перепрограммировать
Ваш уровень квалификации: от среднего до опытного
Запасы
Для этой сборки вам нужно знать, как работать с:
- Arduino IDE (среда программирования)
- паяльник
- Бур
- острый нож
- эпоксидный клей
- горячий клей
- промышленная пена для распыления
- цвет спрея
Шаг 1. Необходимые компоненты
Вот эти вещи необходимы для создания этого хорошего датчика бассейна:
- Голова крокодила (пенопласт), найденная здесь: Amazon: Crocodile Head
- ИЛИ альтернативно: корпус лодки (Aliexpress). См. Шаг 6 для этого.
- ESP8266 Wemos D1 mini pro: (Aliexpress)
- Солнечная панель 0,25 Вт 45x45 мм: (Aliexpress)
- ** ИЗМЕНИТЬ после одного года использования: я настоятельно рекомендую использовать более мощный аккумулятор, например 18650 (пример: Aliexpress)
- Модуль зарядного устройства TP4056: (Aliexpress)
- Водонепроницаемый датчик температуры DS 18b20: (Aliexpress)
- Провод 22 AWG (Aliexpress)
- Прототип печатной платы 5х7см (Алиэкспресс)
- Резисторы 220 Ом и 4,7 кОм
- короткий кабель USB на MicroUSB
Кроме того:
- Изолирующий пенопласт @ DIY Market или здесь: (Amazon)
- Водостойкая краска @ DIY Market или здесь: (Amazon)
- Грунтовка-спрей для наполнителя @ DIY Market или здесь: (Amazon)
- Жидкая эпоксидная смола для водонепроницаемого покрытия @ DIY market
- Горячий клей
Возможно, вам понадобится 3D-принтер, чтобы напечатать водонепроницаемую крышку USB-порта.
Шаг 2: Электроника
Я подумал, что проще всего начать с некоторых из этих универсальных прототипов печатных плат, сделанных своими руками, и обнаружил, что 5x7 см идеально подходят для этой цели.
Строительные шаги:
-
Подготовьте D1 mini pro к использованию внешней антенны:
- Отпаял резистор 0 Ом рядом с керамической антенной
- Переверните резистор 0 Ом вниз и припаяйте соединение с внешней антенной (хорошее объяснение можно найти здесь - Шаг 5)
- Разместите детали и определитесь с компоновкой на прототипе печатной платы, прежде чем начинать пайку.
- Припаяйте контакты к D1 mini pro.
- Припаяйте штыри стойки к макетной плате.
- Припаяйте контакты платы зарядного устройства к печатной плате прототипа.
- Припаиваем плату зарядного устройства к контактам
- Отрежьте кабель датчика температуры до 20 см.
- Пожалуйста, смотрите изображение выше для подключения датчика температуры.
- Припаиваем кабель к солнечной панели
- НЕ ПРИПИВАЙТЕ кабели солнечной панели к плате - сначала их нужно приклеить к голове крокодила.
- Следуйте приведенной выше схеме Fritzing, чтобы припаять все оставшиеся соединения к печатной плате.
- После того, как все компоненты подключены и припаяны, используйте горячий клей для фиксации батареи. Обратите внимание: для перевода ESP8266 в спящий режим необходимо соединить контакт D1 с контактом RST. Иногда D1 mini pro вызывает проблемы с последовательным портом, если порт D0 и RST подключены. Тот, который я использовал (см. Ссылку Aliexpress выше), не имел этой проблемы. Если вы столкнулись с этой проблемой, вам может потребоваться перемычка или переключатель, чтобы отсоединить два контакта для загрузки нового кода. Но (!) Тогда у вас нет возможности перепрограммировать, как только голова крокодила была запечатана. В этом случае вам также не нужно выносить порт USB наружу (например, чтобы просверлить третье отверстие).
Шаг 3: Аппаратная часть, часть 1 (подготовка головы крокодила)
На этом этапе мы подготавливаем заднюю часть головы крокодила, чтобы на ней было достаточно места для электроники. И мы просверливаем отверстия для антенны, солнечной панели и USB-порта. Сначала я планировал свой проект без USB-порта. Но потом я подумал, что после того, как крокодил снова будет запечатан, мне не удастся обновить программное обеспечение. Поэтому я решил использовать короткий USB-кабель micro-USB-USB, чтобы обеспечить внешний доступ к плате ESP8266. Следующие шаги:
- Острым ножом отрежьте от твердой поверхности немного больше 7x5 см (размер вашей макетной платы).
- Используйте ложку, чтобы удалить более мягкую пену изнутри.
- Просто убедитесь, что у вас достаточно места для кабелей и платы.
- Попробуйте, подходит ли он и есть ли место, чтобы закрыть его позже.
Теперь просверлите в голове два-три отверстия:
- для солнечной панели
- для антенны
- (опционально) для порта USB для возможности последующего программирования
Используйте двухкомпонентную эпоксидную смолу (5 минут), чтобы снова склеить и закрыть эти отверстия. Используйте достаточно эпоксидного клея! Убедитесь, что после этого он будет водонепроницаемым!
- Приклейте кабель солнечной панели к голове и хорошенько заклейте отверстие
- Приклейте солнечную панель между глазками
- Приклейте антенное гнездо к голове и хорошенько заклейте отверстие
- Приклейте штекер USB и хорошенько заклейте отверстие
Чтобы вода не вызывала коррозию USB-порта, я напечатал на 3D-принтере небольшой защитный колпачок.
Шаг 4: Программное обеспечение
У вас должна быть работающая среда Arduino. Если нет, проверьте это.
Настройка оборудования проста (на моем Mac):
LOLIN (WEMOS) D1 mini Pro, 80 МГц, Flash, 16M (14M SPIFFS), v2 Lower Memory, Disable, None, Only Sketch, 921600 на /dev/cu. SLAB_USBtoUART
Получите код Arduino здесь: Код Arduino на Github
Код отправляет Blynk температуру и напряжение батареи. Просто загрузите приложение Blynk на свой мобильный телефон и создайте новый проект. Blynk отправит вам токен аутентификации для этого проекта. Введите этот токен в файл Settings.h. Настройки по умолчанию отправят
- температура до ВИРТУАЛЬНОГО КОНТАКТА 11
- напряжение на ВИРТУАЛЬНОМ КОНТАКТЕ 12
- последняя обновленная отметка времени до ВИРТУАЛЬНОГО ПИН-кода 13
но эти контакты легко изменить в коде. Просто поиграйте со всеми виджетами Blynk, используя V11, V12 и V13 - это весело. Если вы новичок в этом, просто прочтите наставления моего друга Дебасиша - большая часть этого объясняется там, в Шаге 19.
Программное обеспечение также подготовлено для использования брокера MQTT.
В Settings.h есть глобальная переменная MQTT. Это должно быть установлено в true или false в зависимости от того, используете ли вы MQTT или нет.
В моем случае я использую брокера MQTT (Orange PI Zero, Mosquitto, Node-Red) и панель инструментов, на которой собираются все данные моих датчиков. Если вы новичок в MQTT, позвольте Google помочь вам настроить его.
Если вы знакомы с MQTT, я почти уверен, что вы поймете код.
Шаг 5: оборудование, часть 2 (снова герметизация)
На этом этапе нам нужно упаковать всю электронику (программное обеспечение загружено и протестировано) и снова запечатать живот нашего крокодила. Я лично вижу два возможных решения:
- С помощью акрилового стекла приклейте его водостойким эпоксидным клеем к животу. Для кабеля датчика температуры используйте водонепроницаемый кабельный канал (сожалею, что не выбрал этот вариант - после всего, через что я прошел, я настоятельно рекомендую пойти этим путем).
- Используйте промышленную пену и снова заполните зазоры, затем используйте водостойкую краску для герметизации. И закончить его шпаклевкой и краской.
Поэтому я выбрал вариант 2. Шаги следующие:
- Припаять кабель солнечной панели к плате
- Подключите антенный кабель
- Подключите USB-кабель к плате ESP8266 (А НЕ к зарядной плате)
- Выдавить весь кабель и плату в отверстие
- Оставьте свисать 5-10 см кабеля датчика температуры.
- Используйте промышленную пену, чтобы заполнить все щели (будьте осторожны - пена сильно расширяется)
- Дать высохнуть, а затем срезать пену острым ножом.
- Теперь используйте водостойкую краску (используется для ремонта крыши) и покрасьте ее.
- Дайте ему высохнуть и используйте спрей для краски-наполнителя, чтобы образовалась твердая корка (вам нужно делать это снова и снова).
- ВАЖНОЕ РЕДАКТИРОВАНИЕ (после нескольких недель в воде): нанесите два или три слоя жидкой эпоксидной смолы, чтобы получить действительно водонепроницаемое покрытие.
- Дайте высохнуть - ЗАВЕРШЕНО!
Шаг 6: альтернативная сборка
Поскольку первая сборка с крокодилом по-прежнему остается моей любимой, я должен признать, что выбрал не ту батарею (слишком слабую). К сожалению, я больше не могу заменить батарею, потому что она запечатана в корпусе Crocs.
Вот почему я решил сделать другое решение с лодкой в качестве тела, чтобы лучше получить доступ к электронике и батарее, если это необходимо.
Изменения:
- Оболочка (https://www.aliexpress.com/item/32891355836.html)
- Литий-ионный аккумулятор 18650
- Вставка, напечатанная на 3D-принтере, для крепления двух плат (ESP8266 и модуля зарядного устройства)
Шаг 7: Приложение: дополнительные дисплеи / датчики
Если вы хотите выйти за рамки отображения данных пула только в приложении Blynk, вы также можете отправить его брокеру MQTT. Это позволяет вам использовать несколько дополнительных возможностей для отображения данных вашего пула (или других) на разных устройствах. Одним из них будет Node Red Dashboard на Raspberry Pi (см. Рисунок выше) или светодиодный матричный дисплей. Если вас интересует светодиодная матрица, пожалуйста, найдите код здесь:
Кстати, я объединил этот проект с солнечной метеостанцией, включая прогноз погоды Замбретти из этого проекта:
Эта солнечная метеостанция была вдохновлена моим индийским другом Дебасишем. Его инструкции можно найти здесь:
Первое место в конкурсе датчиков
Рекомендуемые:
SKARA - Автономный робот для чистки плавательного бассейна с ручным управлением: 17 шагов (с изображениями)
SKARA - Автономный робот для чистки плавательного бассейна с ручным управлением: время - деньги, а ручной труд стоит дорого. С появлением и развитием технологий автоматизации необходимо разработать беспроблемное решение для домовладельцев, обществ и клубов, чтобы очищать бассейны от мусора и грязи повседневной жизни, чтобы
Pool Pi Guy - управляемая искусственным интеллектом система сигнализации и мониторинг бассейна с использованием Raspberry Pi: 12 шагов (с изображениями)
Pool Pi Guy - управляемая искусственным интеллектом система сигнализации и мониторинг бассейна с использованием Raspberry Pi: иметь бассейн дома - это весело, но требует большой ответственности. Больше всего меня беспокоит отслеживание того, находится ли кто-нибудь возле бассейна без присмотра (особенно дети младшего возраста). Больше всего меня беспокоит то, что линия воды в бассейне никогда не опускается ниже входа насоса
Устройство солнечного излучения (SID): датчик солнечной энергии на базе Arduino: 9 шагов
Устройство солнечной освещенности (SID): датчик солнечного излучения на базе Arduino: Устройство солнечной освещенности (SID) измеряет яркость солнца и специально разработано для использования в классе. Они построены с использованием Arduinos, что позволяет создавать их всем, от младших школьников до взрослых. Этот момент
ПРОСТОЙ ДАТЧИК СОЛНЕЧНОГО СВЕТА: 6 шагов (с фотографиями)
ПРОСТОЙ ДАТЧИК СОЛНЕЧНОГО СВЕТА: следуйте инструкциям, чтобы успешно создать собственный датчик освещенности. Очень полезен в системах автоматического освещения. Компоненты: 7805 Регулятор IC SL100 транзисторный светодиод (желательно красный) 150 Ом Резистор Питание 9 В Реле (6 В) LDR (общедоступный) Подключение Wi
Мониторинг облака бассейна Arduino: 7 шагов (с изображениями)
Мониторинг облака в бассейне Arduino: основная цель этого проекта - использовать Samsung ARTIK Cloud для мониторинга уровня pH и температуры в плавательных бассейнах. Аппаратные компоненты: Arduino MKR1000 или Genuino MKR1000 Перемычки (общие) Комплект датчика pH SparkFun 1 x резистор 4.7