Оглавление:

Проект датчика Arduino DHT22 и влажности почвы с меню: 4 шага
Проект датчика Arduino DHT22 и влажности почвы с меню: 4 шага

Видео: Проект датчика Arduino DHT22 и влажности почвы с меню: 4 шага

Видео: Проект датчика Arduino DHT22 и влажности почвы с меню: 4 шага
Видео: Датчик влажности почвы (емкостный) в FLProg 2024, Ноябрь
Anonim
Датчик Arduino DHT22 и проект влажности почвы с меню
Датчик Arduino DHT22 и проект влажности почвы с меню

Привет, ребята. Сегодня я представляю вам свой второй проект по обучающим материалам. Этот проект представляет собой смесь моего первого проекта, в котором я использовал датчик влажности почвы и датчик DHT22, который используется для измерения температуры и влажности. Этот проект легко сделать, и люди, использующие Arduino, сочтут его довольно интересным. Отличие этого проекта от первого в том, что в этом проекте у пользователя будет меню, в котором он сможет выбрать то, что он хочет видеть в данный момент. Будет четыре варианта. Так что берите себе комплект и начинайте делать этот проект, который можно использовать в любом доме.

Шаг 1: получение всех деталей

Получение всех частей
Получение всех частей
Получение всех частей
Получение всех частей
Получение всех частей
Получение всех частей

В этом проекте используется несколько частей. Эти детали очень дешевы, поэтому не беспокойтесь о цене. Некоторые части, используемые в этом проекте, могут быть изменены, чтобы сделать проект дешевле. Вам решать, какие части рекомендованного вы собираетесь использовать и сделать этот проект еще лучше. Детали, используемые в этом проекте:

  1. Arduino uno rev3 (вы также можете использовать другой Arduino)
  2. Макетная плата
  3. LCD 1602 зеленый дисплей с I2C (вы также можете использовать дисплей без I2C, но вам понадобится больше контактов для его подключения)
  4. 16-кнопочная клавиатура (сменная)
  5. FC-28-d Модуль обнаружения гигрометра почвы + датчик влажности почвы
  6. Датчик температуры и влажности DHT22 (можно использовать более дешевый DHT11)
  7. Красный светодиодный диод
  8. Синий светодиодный диод
  9. 2 резистора 220 Ом (используются для диодов)
  10. Резистор 4k7, используемый для DHT22 на схеме
  11. Разъем аккумулятора Arduino
  12. Несколько соединительных кабелей для соединения всех частей

Одна вещь, которую я должен сказать вам, прежде чем вы начнете строить этот проект, заключается в том, что клавиатура не нужна. На этот раз я использовал клавиатуру, потому что у меня сломался поворотный энкодер. Я думаю, что этот проект был бы идеальным, если бы в нем был поворотный энкодер, потому что он использовал бы меньшие контакты, или он может использовать 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. На этот раз я не использую никаких прерываний, но в своих следующих проектах я буду использовать, поэтому имейте в виду, что этот код может стать намного лучше с прерываниями.

  1. Первая часть кода включает все используемые библиотеки для этого проекта. Имейте в виду, что для всех частей, которые я сказал, что я использую, вам потребуются следующие библиотеки: Wire, LiquidCrystal_I2C, Keypad и DHT. Все библиотеки можно найти в Arduino IDE, если перейти к части эскиза, а затем во включенных библиотеках. Также имейте в виду, что если вы используете что-то вроде поворотного энкодера, вам, вероятно, потребуется получить новые библиотеки вместо клавиатуры, которая, вероятно, будет rotary.h и button. Если вы используете датчик DHT11, библиотека все еще будет DHT.
  2. Во второй части кода будет определение всех используемых частей. Прежде всего, это ЖК-дисплей. После этого есть датчик DHT, который представляет собой объект с датчиком типа dht, а также контакт, который подключается. Датчик влажности почвы и диоды - третьи.
  3. Опишу клавиатуру чуть подробнее. Как я уже сказал, у меня сломался поворотный энкодер, поэтому я решил использовать его. Для этого проекта достаточно всего четырех кнопок, для этого годится даже три. Поэтому я использую четыре кнопки на клавиатуре только для одного варианта. Вы можете использовать некоторые кнопки, если хотите чего-то еще, если у вас есть идея. В этой части вам нужно определить строки и столбцы. После этого hexaKeys представит вам варианты, используемые для этого проекта. В моем проекте есть B (назад), U (вверх), D (вниз) и A (принять). Вы можете заставить каждую кнопку делать что-то другое. Одной кнопкой можно было включить подсветку, можно выключить. Так что не стесняйтесь поиграть с ним еще
  4. В этой части используются глобальные переменные в коде. Переменные типа Bool используются для смены экрана. Приветственная переменная верна в течение нескольких секунд только при включении arduino i, после этого она будет ложной в остальное время. Основное внимание уделяется переменной mainScreen. Эта переменная используется для перехода от меню к любому другому параметру кода. Если эта переменная имеет значение false, это означает, что пользователь решил использовать один из четырех вариантов этого проекта.
  5. Здесь написаны все методы, используемые в этом коде. Я постараюсь объяснить все письменные методы в этой части
  • 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

Использование вашего Arduino
Использование вашего Arduino
Использование вашего Arduino
Использование вашего Arduino
Использование вашего Arduino
Использование вашего Arduino
Использование вашего Arduino
Использование вашего Arduino

Это, наверное, самая забавная часть. По крайней мере, это смешнее после написания кода. В этой части вы можете увидеть фотографии того, как работает проект. Есть 4 варианта.

  1. Температура чтения в градусах Цельсия
  2. Температура чтения в градусах Фаренгейта
  3. Чтение влажности
  4. Включение диодов и считывание показаний датчика влажности почвы.

Вы можете выбрать любой из возможных вариантов, также вы можете вернуться и выбрать еще раз, если хотите увидеть что-то еще. Простой и легкий в использовании.

Если есть другие вопросы, вы можете задать мне их. Спасибо, ребята, что посмотрели мой проект. Со всем уважением. Себастьян

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