Оглавление:
- Шаг 1: получение всех деталей
- Шаг 2: Соединение всех частей вместе
- Шаг 3: Написание кода
- Шаг 4: Использование Arduino
Видео: Проект датчика Arduino DHT22 и влажности почвы с меню: 4 шага
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:49
Привет, ребята. Сегодня я представляю вам свой второй проект по обучающим материалам. Этот проект представляет собой смесь моего первого проекта, в котором я использовал датчик влажности почвы и датчик DHT22, который используется для измерения температуры и влажности. Этот проект легко сделать, и люди, использующие Arduino, сочтут его довольно интересным. Отличие этого проекта от первого в том, что в этом проекте у пользователя будет меню, в котором он сможет выбрать то, что он хочет видеть в данный момент. Будет четыре варианта. Так что берите себе комплект и начинайте делать этот проект, который можно использовать в любом доме.
Шаг 1: получение всех деталей
В этом проекте используется несколько частей. Эти детали очень дешевы, поэтому не беспокойтесь о цене. Некоторые части, используемые в этом проекте, могут быть изменены, чтобы сделать проект дешевле. Вам решать, какие части рекомендованного вы собираетесь использовать и сделать этот проект еще лучше. Детали, используемые в этом проекте:
- Arduino uno rev3 (вы также можете использовать другой Arduino)
- Макетная плата
- LCD 1602 зеленый дисплей с I2C (вы также можете использовать дисплей без I2C, но вам понадобится больше контактов для его подключения)
- 16-кнопочная клавиатура (сменная)
- FC-28-d Модуль обнаружения гигрометра почвы + датчик влажности почвы
- Датчик температуры и влажности DHT22 (можно использовать более дешевый DHT11)
- Красный светодиодный диод
- Синий светодиодный диод
- 2 резистора 220 Ом (используются для диодов)
- Резистор 4k7, используемый для DHT22 на схеме
- Разъем аккумулятора Arduino
- Несколько соединительных кабелей для соединения всех частей
Одна вещь, которую я должен сказать вам, прежде чем вы начнете строить этот проект, заключается в том, что клавиатура не нужна. На этот раз я использовал клавиатуру, потому что у меня сломался поворотный энкодер. Я думаю, что этот проект был бы идеальным, если бы в нем был поворотный энкодер, потому что он использовал бы меньшие контакты, или он может использовать 3 кнопки.
Шаг 2: Соединение всех частей вместе
На этом этапе вы можете увидеть схему, которую я сделал с помощью фритзинга. Я запишу, как подключить каждую ключевую часть этого проекта.
Как видите, мы используем 5 В и GND от Arduino для питания макета.
ЖК-дисплей:
- VCC на 5 В (+ часть на макетной плате)
- GND на gnd (- часть на макете)
- SDA к аналоговому контакту A4
- SCL к аналоговому выводу A5
Клавиатура с 16 кнопками:
Мы используем контакты 9, 8, 7, 6, 5, 4, 3, 2 для подключения клавиатуры (это причина, по которой я бы использовал поворотный энкодер, потому что на плате было бы всего 3 контакта)
Датчик влажности почвы:
- VCC на 5 В (+ часть на макетной плате)
- GND на gnd (-часть на макете)
- D0 к цифровому выводу 0
- A0 к аналоговому выводу A0
DHT22:
- VCC на 5 В (+ часть на макетной плате)
- GND на gnd (-часть на макете)
- Вывод Out подключен к выводу 12
Подключение диода:
- входит одна часть диода - часть макета
- вторая часть проходит через резистор 220 Ом и затем подключается к выводу 10 (синий диод) или 11 (красный диод)
Шаг 3: Написание кода
Я попытаюсь объяснить код в нескольких частях. Также будет написан полный код, чтобы вы могли его скопировать, а также изменить, если возникнет необходимость. Также в этом коде написано несколько методов работы датчиков, но на этот раз основное внимание было уделено созданию меню, которое будет легко понять людям, которые плохо знакомы с Arduino. На этот раз я не использую никаких прерываний, но в своих следующих проектах я буду использовать, поэтому имейте в виду, что этот код может стать намного лучше с прерываниями.
- Первая часть кода включает все используемые библиотеки для этого проекта. Имейте в виду, что для всех частей, которые я сказал, что я использую, вам потребуются следующие библиотеки: Wire, LiquidCrystal_I2C, Keypad и DHT. Все библиотеки можно найти в Arduino IDE, если перейти к части эскиза, а затем во включенных библиотеках. Также имейте в виду, что если вы используете что-то вроде поворотного энкодера, вам, вероятно, потребуется получить новые библиотеки вместо клавиатуры, которая, вероятно, будет rotary.h и button. Если вы используете датчик DHT11, библиотека все еще будет DHT.
- Во второй части кода будет определение всех используемых частей. Прежде всего, это ЖК-дисплей. После этого есть датчик DHT, который представляет собой объект с датчиком типа dht, а также контакт, который подключается. Датчик влажности почвы и диоды - третьи.
- Опишу клавиатуру чуть подробнее. Как я уже сказал, у меня сломался поворотный энкодер, поэтому я решил использовать его. Для этого проекта достаточно всего четырех кнопок, для этого годится даже три. Поэтому я использую четыре кнопки на клавиатуре только для одного варианта. Вы можете использовать некоторые кнопки, если хотите чего-то еще, если у вас есть идея. В этой части вам нужно определить строки и столбцы. После этого hexaKeys представит вам варианты, используемые для этого проекта. В моем проекте есть B (назад), U (вверх), D (вниз) и A (принять). Вы можете заставить каждую кнопку делать что-то другое. Одной кнопкой можно было включить подсветку, можно выключить. Так что не стесняйтесь поиграть с ним еще
- В этой части используются глобальные переменные в коде. Переменные типа Bool используются для смены экрана. Приветственная переменная верна в течение нескольких секунд только при включении arduino i, после этого она будет ложной в остальное время. Основное внимание уделяется переменной mainScreen. Эта переменная используется для перехода от меню к любому другому параметру кода. Если эта переменная имеет значение false, это означает, что пользователь решил использовать один из четырех вариантов этого проекта.
- Здесь написаны все методы, используемые в этом коде. Я постараюсь объяснить все письменные методы в этой части
- void startScreen (); // метод запуска проекта и arduino
- int choiceNumber (int выбор); // это меняет ваш выбор вариантов проекта. Число идет от 1 до 4
- void mainScreenP (выбор интервала); // будет записано четыре варианта изготовленного устройства
- bool mainScreenCS (bool mainScreen); // это изменяет mainScreen на false
- bool mainScreenBack (bool mainScreen); // это изменяет mainScreen на true
- void tempCelsius (); // считываем температуру в опции датчика C DHT
- void tempFarenheit (); // считываем температуру в опции датчика F DHT
- void printHumidity (); // чтение опции датчика DHT влажности
- void readSensorData (); // считываем данные о подключенных датчиках
- Строка getTemperaC ();
- Строка getTemperaF ();
- Строка getHumidity ();
- пустая почваMoisture (); // это для другого датчика и диодов
- void printSensorSoilMoisture (); // печать части влажности почвы на lcd
- void diodeLights (значение int); // включение и выключение диодов
- void printValue (значение типа int);
6. Настройка для Arduino - это часть, в которой вы настраиваете ЖК-дисплей и датчик DHT, а также диоды.
7. Основная часть - это та часть, в которой используются все вышеперечисленные методы.
Полный код этого проекта будет в приложении к этому шагу. Имейте в виду, что есть вероятность, что контакты не подключены, как на схеме, я думаю, что диоды заменены.
Шаг 4: Использование Arduino
Это, наверное, самая забавная часть. По крайней мере, это смешнее после написания кода. В этой части вы можете увидеть фотографии того, как работает проект. Есть 4 варианта.
- Температура чтения в градусах Цельсия
- Температура чтения в градусах Фаренгейта
- Чтение влажности
- Включение диодов и считывание показаний датчика влажности почвы.
Вы можете выбрать любой из возможных вариантов, также вы можете вернуться и выбрать еще раз, если хотите увидеть что-то еще. Простой и легкий в использовании.
Если есть другие вопросы, вы можете задать мне их. Спасибо, ребята, что посмотрели мой проект. Со всем уважением. Себастьян
Рекомендуемые:
Калибровка датчика влажности почвы: 5 шагов
Калибровка датчика влажности почвы: на рынке имеется множество измерителей влажности почвы, которые помогут садовнику решить, когда поливать свои растения. К сожалению, взять горсть почвы и проверить ее цвет и текстуру так же надежно, как и многие из этих устройств! Некоторые зонды даже регистрируются
Использование датчика влажности почвы с Magicbit [Magicblocks]: 5 шагов
Использование датчика влажности почвы с Magicbit [Magicblocks]: это руководство научит вас использовать датчик влажности почвы с Magicbit с помощью Magicblocks. Мы используем magicbit в качестве платы для разработки в этом проекте, основанном на ESP32. Поэтому в этом проекте можно использовать любую плату разработки ESP32
Гидроизоляция емкостного датчика влажности почвы: 11 шагов (с изображениями)
Гидроизоляция емкостного датчика влажности почвы: емкостные датчики влажности почвы - отличный способ контролировать состояние воды в почве в горшках, саду или теплице с помощью Arduino, ESP32 или другого микроконтроллера. Они превосходят датчики сопротивления, часто используемые в проектах DIY. Видеть
Полное руководство по использованию датчика влажности почвы с практическим примером: 7 шагов
Полное руководство по использованию датчика влажности почвы с практическим примером: вы можете прочитать это и другие замечательные руководства на официальном сайте ElectroPeak. Обзор В этом руководстве вы узнаете, как использовать датчик влажности почвы. Также приведены практические примеры, которые помогут вам освоить код. Что вы узнаете: Как загрязнять
План тестирования датчика влажности почвы: 6 шагов (с изображениями)
План тестирования датчика влажности почвы: Задача: Разработайте и выполните план, при котором будет загораться КРАСНЫЙ светодиод, когда почва влажная, и ЗЕЛЕНЫЙ светодиод, когда почва сухая. Для этого потребуется использовать датчик влажности почвы. Цель: Цель данного руководства - увидеть, шел ли дождь и растение