Оглавление:
- Шаг 1: Соберите компоненты
- Шаг 2: Полная схема
- Шаг 3. Правильная настройка
- Шаг 4: Подключение DHT-22
- Шаг 5: Подключение OLED-дисплея
- Шаг 6: Мониторинг влажности почвы
- Шаг 7: Мониторинг VBAT (батарея 9 В)
- Шаг 8: Мониторинг VBAT (конфигурация 2 Lipos)
- Шаг 9: Корпус
- Шаг 10: перспективы улучшения
- Шаг 11: Спасибо
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
Привет ребята ! Для того, чтобы начать как нельзя лучше, небольшой рассказ о проекте. Я недавно получил высшее образование и переехал в Австрию на свою первую должность инженера. Страна красивая, но зимой очень холодно и влажно. Я быстро начал замечать конденсат на окнах каждое утро, когда просыпался, а также плесень, расползающуюся по стенам красивой квартиры, которую я снимаю. Это была моя первая встреча с таким высоким уровнем влажности, приехавшая с юга Франции, у нас там действительно нет такой проблемы. Итак, я искал решения в Интернете и решил собрать несколько частей и построить свою собственную систему мониторинга, чтобы проверять уровень влажности в каждой комнате моей квартиры, а также температуру окружающей среды. Следующий проект содержал несколько основных рекомендаций:
- Это должно быть дешево.
- Он должен быть достаточно точным.
- Я хотел что-то маленькое, удобное для переноски и работающее от батареи.
- Я люблю растения и решил, что он сможет проверить влажность почвы, чтобы узнать, нужно ли мне поливать растения. (Вне контекста, но мне просто понравилась эта идея!: D)
Это довольно простой проект, но самый полезный из всех, что я когда-либо делал. Я могу проверить влажность в каждой комнате и посмотреть, нужно ли мне реагировать, чтобы остановить плесень. Итак, приступим.
Шаг 1: Соберите компоненты
Наш проект довольно прост. Мы будем использовать Arduino (в моем случае - nano) в качестве «мозга», так как он очень прост в программировании, дешев и заменяется при необходимости.
DHT-22 в качестве датчика температуры и влажности, есть более низкая версия, называемая DHT-11, что, на мой взгляд, довольно дерьмо, если говорить о точности, и еще за 3 евро вы можете получить DHT-22, который намного точнее и точнее. & может работать в широком диапазоне температур. OLED-дисплей для отображения данных и визуального интерфейса между датчиками и человеком, которым я являюсь. Я обнаружил, что 64 на 128 - это идеально, так как это мало, я могу разместить на нем достаточно данных и очень простой в интерфейсе.
Датчик влажности почвы YL-69, чтобы проверять, когда мне нужно поливать мои прекрасные растения. И это практически все, что вам нужно для проекта. При желании я хотел, чтобы проект был основан на липосакциях, которые у меня были. -Также вы можете легко заставить его работать с обычной батареей 9 В. Я хотел иметь возможность контролировать напряжение аккумуляторов Lipo с помощью некоторых аналоговых входов на Arduino. Я дам больше информации на следующих страницах.
Дополнительно вам понадобится следующее:
- Кусок макета.
- Переключатель ВКЛ / ВЫКЛ * 1
- Разъем аккумулятора 9 В
- Аккумулятор 9В
И если вы хотите применить липосакцию и мониторинг:
- Резисторы 10 кОм * 3
- Резисторы 330R * 1
- Светодиод * 1
- Ползунковый переключатель * 1
- Держатели Lipo (Или я покажу вам версию, напечатанную на 3D-принтере, которую я сейчас использую)
- 2 липо клетки.
Шаг 2: Полная схема
Вы найдете в приложении полную схему. Обратите внимание: очевидно, что вы выбираете либо 9-вольтовую аккумуляторную часть схемы, либо аккумуляторную часть LIPO, подключенную к VBAT. Я разделил обе схемы красными квадратами и выделил каждую из них красным заголовком.
Не волнуйтесь, каждая связь будет объяснена должным образом в следующих шагах.
Шаг 3. Правильная настройка
Убедитесь, что у вас установлена Arduino IDE. И загрузите библиотеки, поставляемые с этим шагом. Я также поставлю полный код, если вы не хотите беспокоиться о тестировании каждого компонента на следующих шагах.
Шаг 4: Подключение DHT-22
Первым шагом проекта является подключение DHT-22 к ардуино. Подключение довольно простое: DHT-22 ------ Arduino
VCC ------ + 5 В
ДАННЫЕ ------ D5
GND ------ GND
Чтобы проверить соединение DHT-22 с вашим Arduino, мы реализуем код, встроенный на этом этапе.
Шаг 5: Подключение OLED-дисплея
Следующим шагом будет подключение OLED-дисплея. Этот вид дисплея подключается по протоколу I2C. Наша первая задача - найти правильные контакты I2C для вашего Arduino, если вы используете Arduino nano, контакты I2C - это A4 (SDA) и A5 (SCL). Если вы используете другой Arduino, такой как UNO или MEGA, поищите контакты I2C на официальном веб-сайте Arduino или в таблице данных.
Подключение выглядит следующим образом: OLED ------ Arduino
GND ------ GND
VCC ------ 3V3
SCL ------ A5
ПДД ------ A4
Чтобы протестировать OLED, мы отобразим данные DHT на OLED-дисплее напрямую, загрузив код, встроенный в этот шаг.
Вы должны увидеть температуру и влажность, отображаемые на OLED-дисплее с очень высокой частотой дискретизации, поскольку мы еще не устанавливали задержку.
Шаг 6: Мониторинг влажности почвы
Поскольку я хотел контролировать влажность почвы на моих растениях, мы должны подключить YL-69.
Этот датчик мне очень интересен, и он ведет себя так, когда почва:
Влажный: выходное напряжение уменьшается.
Сухой: выходное напряжение увеличивается.
Подключение выглядит следующим образом:
YL69 ------ Ардуино
VCC ------ D7
GND ------ GND
D0 ------ НЕ ПОДКЛЮЧАТЬ
A0 ------ A7
Как видите, мы подключаем вывод VCC модуля к цифровому выводу Arduino. Идея состоит в том, чтобы запитать модуль именно тогда, когда мы хотим проводить измерения, а не постоянно. Это связано с тем, что датчик работает, измеряя ток, который проходит от одной ножки зонда к другой. Из-за этого происходит электролиз, который может довольно быстро разрушить зонд в почвах с высоким содержанием влаги.
Теперь мы добавим датчик влажности в наш код и отобразим данные о влажности с данными DHT на OLED. Загрузите код, встроенный в этот шаг.
Шаг 7: Мониторинг VBAT (батарея 9 В)
Я хотел знать, насколько разряжен аккумулятор, чтобы однажды не удивить и разрядиться, даже не подозревая об этом. Способ контролировать входное напряжение - использовать некоторые аналоговые выводы Arduino, чтобы узнать, сколько напряжения получено. Входные контакты Arduino могут принимать максимум 5 В, но используемая батарея генерирует 9 В. Если мы подключим это более высокое напряжение напрямую, мы разрушим некоторые аппаратные компоненты, мы должны использовать делитель напряжения, чтобы снизить 9 В до порога 5 В.
Я использовал два резистора 10 кОм, чтобы сделать делитель напряжения и разделив на коэффициент 2 9 В и доведя его до максимального значения 4,5 В.
Для индикации того, что батарея разряжена, используется обычный светодиод с ограничивающим резистором на 330 Ом.
Мы будем использовать аналоговый вывод A0 для мониторинга VBAT.
Следуйте схеме, чтобы узнать, как соединить компоненты:
Теперь мы добавим его в наш код, встроенный на этом этапе.
Шаг 8: Мониторинг VBAT (конфигурация 2 Lipos)
Я хотел знать, насколько разряжен аккумулятор, чтобы однажды не удивить и разрядиться, даже не подозревая об этом.
Способ контролировать входное напряжение - использовать некоторые аналоговые выводы Arduino, чтобы узнать, сколько напряжения получено. Входные контакты Arduino могут принимать максимум 5 В, но Lipos генерируют максимум 4,2 * 2 = 8,4 В.
Отличие от предыдущего шага заключается в том, что в случае использования 2 липоэлементов последовательно для создания напряжения> 5 В для питания платы Arduino, мы должны контролировать каждую липоэлемент, поскольку они могут разряжаться с разной скоростью. Имейте в виду, что вы не хотите чрезмерно разряжать липо-аккумулятор, это очень опасно.
Для первого Lipo нет проблем, потому что номинальное напряжение 4,2 В ниже порога 5 В, который может выдержать входные контакты Arduino. однако, когда вы вставляете 2 батареи последовательно, их напряжение складывается: Vtot = V1 + V2 = 4,2 + 4,2 = 8,4 максимум.
Если мы подключим это более высокое напряжение напрямую к аналоговому выводу, мы разрушим некоторые аппаратные компоненты, нам придется использовать делитель напряжения, чтобы снизить напряжение 8,4 В ниже порогового значения 5 В. Я использовал два резистора 10 кОм, чтобы сделать делитель напряжения и разделив в 2 раза 8,4 В и доведя его до 4,2 В.
Мы будем использовать аналоговый вывод A0 для мониторинга VBAT. Следуйте схеме, чтобы узнать, как соединить компоненты:
Для отображения того, что батарея разряжена, используется обычный светодиод с токоограничивающим резистором 330 Ом.
Теперь мы добавим его в наш код, встроенный на этом этапе.
Шаг 9: Корпус
У меня есть возможность владеть 3D-принтером, поэтому я решил напечатать корпус из стандартного PLA.
Вы найдете прикрепленные файлы. Я разработал корпус с помощью Autodesk Inventor & Fusion360.
Вы также можете создать свой собственный дизайн или просто оставить макет как есть, сама коробка ничего не добавляет к функциональным возможностям. К сожалению, мой 3D-принтер hotend просто умер, поэтому я еще не мог распечатать корпус, я буду обновлять свой пост всякий раз, когда я получить детали, снятые на Amazon. Редактировать: теперь они напечатаны, и вы можете видеть это на фотографиях.
Шаг 10: перспективы улучшения
На данный момент проект полностью соответствует моим потребностям. Однако мы можем подумать о некоторых моментах, которые мы могли бы улучшить:
- Уменьшив расход батареи, мы могли бы улучшить потребление тока, изменив оборудование или улучшив программное обеспечение.
- Добавьте bluetooth для подключения к приложению или для хранения данных и со временем проведите дополнительный анализ.
- Добавьте схему зарядки LIPO, чтобы зарядить ее напрямую, подключив ее к стене.
Если вы думаете о чем-либо, не стесняйтесь записывать это в разделе комментариев.
Шаг 11: Спасибо
Спасибо, что прочитали это руководство, не стесняйтесь общаться со мной и другими в разделе комментариев. Надеюсь, вам понравился проект, и увидимся в следующий раз на другом проекте!