Съдържание:

Проект за сензор и влага на почвата Arduino DHT22 с меню: 4 стъпки
Проект за сензор и влага на почвата Arduino DHT22 с меню: 4 стъпки

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

Видео: Проект за сензор и влага на почвата Arduino DHT22 с меню: 4 стъпки
Видео: Lesson 15: Using Soil Moisture Sensor with Arduino SunFounder Kit | Robojax 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. Червен LED диод
  8. Син LED диод
  9. 2 резистора 220 ома (използва се за диоди)
  10. 4k7 резистор, използван за DHT22 на схематично
  11. Съединител за батерия Arduino
  12. Няколко джъмперни кабела за свързване на всички части

Едно нещо, което трябва да ви кажа, преди да започнете да изграждате този проект, е, че клавиатурата не е необходима. Този път използвах клавиатура, защото ротационният ми енкодер беше счупен. Мисля, че този проект би бил перфектен, ако има въртящ се енкодер, защото ще използва по -малки щифтове или може да използва 3 бутона.

Стъпка 2: Свързване на всички части заедно

Свързване на всички части заедно
Свързване на всички части заедно

В тази стъпка можете да видите схемата, която направих с фризиране. Ще запиша горещо, за да свържа всяка ключова част от този проект.

Както можете да видите, ние използваме 5V и GND от arduino за захранване на дъската.

LCD:

  • VCC до 5v (+ част на чертежа)
  • GND към gnd (- част от макета)
  • SDA към аналогов извод A4
  • SCL към аналогов извод A5

Клавиатура с 16 бутона:

Използваме щифтове 9, 8, 7, 6, 5, 4, 3, 2 за свързване на клавиатурата (това е причината да използвам въртящ се енкодер, защото ще отнеме само 3 пина на дъската)

Датчик за влажност на почвата:

  • VCC до 5v (+ част на чертежа)
  • GND към gnd (-част на макета)
  • D0 към цифров извод 0
  • A0 към аналогов извод A0

DHT22:

  • VCC до 5v (+ част на чертежа)
  • GND към gnd (-част на чертежа)
  • Изходният щифт е свързан към извод 12

Свързване на диод:

  • една част от диода влиза в - част от макет
  • втората част преминава през резистор от 220 ома и след това се свързва към щифт 10 (син диод) или 11 (червен диод)

Стъпка 3: Писане на код

Ще се опитам да обясня кода в няколко части. Също така ще бъде написан пълен код, така че можете да го копирате и също да го промените, ако видите нужда. Също така в този код има написани няколко метода за работа със сензори, но този път основният акцент беше върху създаването на меню, което ще бъде лесно за разбиране за хора, които са нови с Arduino. Този път не използвам прекъсвания, но в следващите си проекти ще го направя, така че имайте предвид, че този код може да стане много по -добър с прекъсвания.

  1. Първата част на кода включва всички използвани библиотеки за този проект. Имайте предвид, че за всички части, които казах, че използвам, се нуждаете от следващи библиотеки: Wire, LiquidCrystal_I2C, Keypad и DHT. Всички библиотеки могат да бъдат намерени в Arduino IDE, ако отидете в частта за скица и след това в библиотеките за включване. Също така имайте предвид, че ако използвате нещо като въртящ се енкодер, вероятно ще трябва да получите нови библиотеки вместо клавиатура, която вероятно ще бъде rotary.h и бутон. Ако използвате сензор DHT11, библиотеката все още е DHT.
  2. Във втората част на кода ще има дефиниране на всички използвани части. На първо място е LCD. След това има DHT сензор, който е представен като обект с dht тип сензор, а също и щифт, който е свързан. Сензорът за влажност на почвата и диодите са трети.
  3. Ще опиша клавиатурата малко повече. Както казах, моят въртящ се енкодер е счупен, затова реших да го използвам. За този проект е достатъчно да имате само четири бутона, дори три са добри за него. Така че използвам четири бутона на клавиатурата само за една опция. Можете да използвате някои от бутоните, ако искате за нещо друго, ако имате идея. Трябва да дефинирате редове и колони в тази част. След това hexaKeys ще ви представи опциите, използвани за този проект. В моя проект има B (назад), U (нагоре), D (надолу) и A (приемам). Можете да накарате всеки бутон да направи нещо друго. Един бутон може да включи подсветката, един може да я изключи. Така че не се колебайте да играете с него още
  4. В тази част са глобални променливи, използвани в кода. Bool променливите се използват за смяна на екрана. Променливата за добре дошли е вярна само за няколко секунди, когато arduino i е включен, след това тя ще бъде невярна през останалото време. Основният акцент е върху променливата mainScreen. Тази променлива се използва, за да ви води от менюто към всяка друга опция в кода. Ако тази променлива е невярна, това означава, че потребителят е решил да използва една от четирите опции на този проект.
  5. Тук са написани всички методи, използвани в този код. Ще се опитам да обясня всички писмени методи в тази част
  • void startScreen (); // метод за стартиране на проект и arduino
  • int choiceNumber (int избор); // това променя вашия избор от опции на проекта. Числото варира от 1 до 4
  • void mainScreenP (int избор); // ще бъдат написани четири опции на устройството, което е направено
  • 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 (); // четене на данни на свързани сензори
  • Низ getTemperatureC ();
  • Низ getTemperatureF ();
  • Низ getHumidity ();
  • празна почваMoisture (); // това е за друг сензор и диоди
  • void printSensorSoilMoisture (); // отпечатване на част от влажност на почвата на lcd
  • празен диодLights (int стойност); // включване и изключване на диоди
  • void printValue (int стойност);

6. Настройката за arduino е част, в която настройвате LCD и DHT сензор, а също и диоди

7. Основната част е тази, в която се използват всички горепосочени писмени методи.

Пълният код на този проект ще бъде приложен към тази стъпка. Имайте предвид, че има възможност щифтовете да не са свързани както на схемата, мисля, че диодите са променени.

Стъпка 4: Използване на вашия Arduino

Използване на вашия Arduino
Използване на вашия Arduino
Използване на вашия Arduino
Използване на вашия Arduino
Използване на вашия Arduino
Използване на вашия Arduino
Използване на вашия Arduino
Използване на вашия Arduino

Това е може би най -смешната част. Поне е по -смешно след написаното кодиране. В тази част можете да видите снимки как работи проектът. Има 4 варианта.

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

Можете да изберете някоя от възможните опции, също така можете да се върнете и да изберете отново, ако искате да видите нещо друго. Просто и лесно за използване.

Ако има друг въпрос, можете да ме попитате. Благодаря ви, че разгледахте моя проект. С всички пожелания. Себастиан

Препоръчано: