Оглавление:
- Шаг 1. Соберите материалы
- Шаг 2: Механический дизайн
- Шаг 3: электрическое проектирование
- Шаг 4. Приступим к программированию
- Шаг 5: База данных
Видео: Солнечная метеостанция: 5 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:51
Вы когда-нибудь хотели получать информацию о погоде на заднем дворе в режиме реального времени? Теперь вы можете купить метеостанцию в магазине, но для них обычно требуются батарейки или их нужно подключать к розетке. Эту метеостанцию не нужно подключать к сети, потому что у нее есть солнечные панели, которые вращаются по направлению к солнцу для большей эффективности. Благодаря своим радиочастотным модулям он может передавать данные со станции снаружи на Raspberry Pi внутри вашего дома. Raspberry Pi размещает веб-сайт, на котором вы можете просматривать данные.
Шаг 1. Соберите материалы
Материалы
- Raspberry Pi 3 модель B + + адаптер + карта Micro SD 16 ГБ
- Ардуино Уно
- Arduino Pro Mini + базовый прорыв FTDI
- 4 панели солнечных батарей 6V 1W
- 4 батареи 18650
- Бустер 5v
- 4 зарядных устройства TP 4056
- Датчик температуры и влажности Adafruit DHT22
- BMP180 Датчик атмосферного давления
- 4 LDR
- Приемник и передатчик RF 433
- 2 шаговых двигателя Nema 17
- 2 драйвера шагового двигателя DRV8825
- жк 128 * 64
- Много проводов
Инструменты и материалы
- Клей
- Деревянные доски
- Пила
- Винты + отвертка
- Утиная лента
- 2 алюминиевые полосы
Шаг 2: Механический дизайн
Корпус метеостанции изготовлен из фанеры. Вам не обязательно использовать дерево, вы можете сделать его из любого материала, который вам больше нравится. Для крепления двигателя я просверлил целое в деревянном бруске, а затем прикрутил плоский винт к валу двигателя, который работает лучше, чем я ожидал. Таким образом, вам не нужно печатать на 3D-принтере крепление для двигателя, и его легко сделать. Затем я согнул 2 алюминиевые полоски, чтобы очень плотно удерживать моторы. Затем я вырезал доску и просверлил в ней отверстия для солнечных батарей. Затем приклейте на него солнечные батареи и припаяйте к ним провода. Затем вам также нужно будет сделать крест из материала черного цвета. Если у вас нет ничего черного, вы можете использовать черный скотч. Этот крест будет удерживать LDR в каждом углу, поэтому Arduino может сравнить измерения с LDR и вычислить, в каком направлении ему нужно повернуться. Поэтому просверлите крошечные отверстия в каждом углу, чтобы в них можно было вставить LDR. Все, что осталось сделать, это сделать опорную пластину и что-нибудь для установки электроники. Что касается опорной пластины, вам нужно будет просверлить в ней целиком, чтобы провести все провода в желобе. Что касается размеров, я не дам вам их, потому что это действительно зависит от вас, как вы хотите это спроектировать. Если у вас есть другие двигатели или другие солнечные батареи, вам придется самостоятельно рассчитать размеры.
Шаг 3: электрическое проектирование
Власть
Вся система работает от батарей (кроме Raspberry Pi). Я поставил 3 батареи последовательно. 1 батарея в среднем составляет 3,7 В, поэтому 3 последовательно соединенных батареи дают около 11 В. Этот батарейный блок 3s используется для двигателей и передатчика RF. Другая оставшаяся батарея используется для питания Arduino Pro Mini и датчиков. Для зарядки аккумуляторов я использовал 4 модуля TP4056. Каждая батарея имеет 1 модуль TP4056, каждый модуль подключен к солнечной панели. Поскольку модуль имеет B (вход) и B (выход), я могу заряжать их по отдельности и разряжать их последовательно. Убедитесь, что вы покупаете правильные модули TP4056, потому что не все модули имеют B (вход) и B (выход).
Конртол
Arduino Pro Mini управляет датчиками и двигателями. Необработанный и заземляющий контакт Arduino подключен к усилителю 5 В. Бустер 5V подключается к одной батарее. Arduino Pro Mini имеет очень низкое энергопотребление.
Компоненты
DHT22: Я подключил этот датчик к VCC и земле, затем я подключил вывод данных к цифровому выводу 10.
BMP180: я подключил этот датчик к VCC и земле, я подключил SCL к SCL на Arduino и SDA к SDA на Arduino. Будьте осторожны, потому что контакты SCL и SDA на Arduino Pro Mini находятся в середине платы, поэтому, если вы припаяли контакты к плате и вставили ее в макет, это не сработает, потому что у вас будут помехи от других контактов. Я припаял эти 2 контакта к верхней части платы и подключил к ней провод.
Радиочастотный передатчик: я подключил его к батарейному блоку 3s для лучшего сигнала и большей дальности. Я попытался подключить его к 5 В от Arduino, но тогда РЧ-сигнал очень слабый. Затем я подключил вывод данных к цифровому выводу 12.
LDR: Я подключил 4 LDR к аналоговым контактам A0, A1, A2, A3. Я поставил LDR вместе с резистором 1 кОм.
Двигатели: Двигатели приводятся в действие 2 модулями управления DRV8825. Это очень удобно, потому что они принимают только 2 входные линии (направление и шаг) и могут производить до 2 А на фазу для двигателей. Я подключил их к цифровым контактам 2, 3 и 8, 9.
ЖК-дисплей: Я подключил ЖК-дисплей к Raspberry Pi, чтобы показать его IP-адрес. Я использовал триммер, чтобы отрегулировать подсветку.
Радиочастотный приемник: я подключил приемник к Arduino Uno через 5 В и землю. Ресивер не должен принимать больше 5В. Затем я подключил вывод данных к цифровому выводу 11. Если вы можете найти библиотеку для этих радиочастотных модулей, которая работает на Raspberry Pi, вам не нужно использовать Arduino Uno.
Raspberry Pi: Raspberry Pi подключается к Arduino Uno через USB-кабель. Arduino передает радиочастотные сигналы на Raspberry Pi через последовательное соединение.
Шаг 4. Приступим к программированию
Чтобы закодировать Arduino Pro Mini, вам понадобится программатор FTDI. Поскольку у Pro Mini нет порта USB (для экономии энергии), вам понадобится эта коммутационная плата. Я программировал код в Arduino IDE, думаю, это самый простой способ сделать это. Загрузите код из файла, и все должно быть хорошо.
Чтобы запрограммировать Arduino Uno, я подключил его к своему компьютеру через USB-кабель. После того, как я загрузил код, я подключил его к Raspberry Pi. Я также смог изменить код на Raspberry Pi, потому что я установил IDE Arduino, и поэтому я мог программировать его оттуда. Код очень простой, он принимает входные данные от приемника и отправляет их через последовательный порт на Raspberry Pi.
Чтобы запрограммировать Raspberry Pi, я установил Raspbian. Затем я использовал Putty для подключения к нему через соединение SSH. Затем я настраиваю Raspberry, чтобы я мог подключиться к нему через VNC и, таким образом, иметь графический интерфейс. Я установил веб-сервер Apache и начал кодировать бэкэнд и интерфейс для этого проекта. Вы можете найти код на github:
Шаг 5: База данных
Для хранения данных я использую базу данных SQL. Я создал базу данных в MySQL Workbench. База данных содержит показания датчиков и данные датчиков. У меня есть 3 таблицы, одна для хранения значений датчиков с отметками времени, другая для хранения информации о датчиках и последняя для хранения информации о пользователях. Я не использую таблицу Users, потому что я не кодировал эту часть проекта, поскольку ее не было в моем MVP. Загрузите файл SQL и запустите его, и база данных должна быть в порядке.
Рекомендуемые:
Солнечная лампа, вдохновленная COVID-19: 5 шагов
Солнечная лампа, вдохновленная COVID-19: глобальная пандемия COVID-19 и связанная с ней блокировка - это то, что заставило меня подумать о том, чтобы что-то сделать с частями Arduino, которые у меня были с собой. Итак, хотя это очень простое руководство, я говорю это и еще одно руководство
Модульная солнечная метеостанция: 5 шагов (с изображениями)
Модульная солнечная метеостанция: одним из проектов, который я хотел построить в течение некоторого времени, была модульная метеостанция. Модульная в том смысле, что мы можем добавить нужные нам датчики, просто изменив программное обеспечение. Модульная метеостанция разделена на три части. На основной плате есть W
Метеостанция NaTaLia: метеостанция на солнечной энергии Arduino сделала правильный выбор: 8 шагов (с изображениями)
Метеостанция NaTaLia: метеостанция на солнечной энергии Arduino сделала правильный выбор: после 1 года успешной работы в 2 разных местах я делюсь своими планами по проекту метеостанции на солнечной энергии и объясняю, как она превратилась в систему, которая действительно может выжить в течение длительного времени. периоды от солнечной энергии. Если вы последуете
Солнечная метеостанция ESP32: 4 шага (с фотографиями)
Солнечная метеостанция ESP32: для моего первого проекта IoT я хотел построить метеостанцию и отправить данные на data.sparkfun.com. Небольшое исправление, когда я решил открыть свою учетную запись в Sparkfun, они не принимали больше подключений, поэтому я выберите другой сборщик данных IoT
Солнечная метеостанция Raspberry Pi: 7 шагов (с изображениями)
Солнечная метеостанция Raspberry Pi: вдохновленный завершением двух моих предыдущих проектов, компактной камеры и портативной игровой консоли, я хотел найти новую задачу. Естественным развитием была открытая удаленная система … Я хотел построить метеостанцию Raspberry Pi, которая