Съдържание:
- Стъпка 1: Получаване на всички части
- Стъпка 2: Свързване на всички части заедно
- Стъпка 3: Писане на код
- Стъпка 4: Използване на вашия Arduino
Видео: Проект за сензор и влага на почвата Arduino DHT22 с меню: 4 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:50
Здравейте момчета Днес ви представям втория си проект по инструкции. Този проект представя смесицата от първия ми проект, в който използвах сензор за влажност на почвата и сензор DHT22, който се използва за измерване на температура и влажност. Този проект е лесен за правене и хората, които използват Arduino, ще се почувстват тихо, интересно да се направи. Разликата между този проект и първия е, че в този проект потребителят ще има меню, в което може да избере какво иска да види в момента. Ще има четири варианта. Така че вземете вашия комплект и започнете да правите този проект, който може да се използва във всеки дом.
Стъпка 1: Получаване на всички части
Този проект използва няколко части. Тези части са много евтини за получаване, така че не се притеснявайте за цената. Някои от частите, използвани в този проект, могат да бъдат променени, така че проектът да бъде по -евтин за изработка. От вас зависи кои препоръчани части ще използвате и ще направите този проект още по -добър. Части, използвани в този проект:
- Arduino uno rev3 (Можете да използвате и друг Arduino)
- Платка
- LCD 1602 зелен дисплей с I2C (можете да използвате и дисплей с I2C, но ще ви трябват повече щифтове, за да го свържете)
- Клавиатура с 16 бутона (сменяема)
- FC-28-d Модул за откриване на влагомер на почвата + сензор за влажност на почвата
- DHT22 сензор за температура и влажност (Можете да използвате DHT11, който е по -евтин за получаване)
- Червен LED диод
- Син LED диод
- 2 резистора 220 ома (използва се за диоди)
- 4k7 резистор, използван за DHT22 на схематично
- Съединител за батерия Arduino
- Няколко джъмперни кабела за свързване на всички части
Едно нещо, което трябва да ви кажа, преди да започнете да изграждате този проект, е, че клавиатурата не е необходима. Този път използвах клавиатура, защото ротационният ми енкодер беше счупен. Мисля, че този проект би бил перфектен, ако има въртящ се енкодер, защото ще използва по -малки щифтове или може да използва 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. Този път не използвам прекъсвания, но в следващите си проекти ще го направя, така че имайте предвид, че този код може да стане много по -добър с прекъсвания.
- Първата част на кода включва всички използвани библиотеки за този проект. Имайте предвид, че за всички части, които казах, че използвам, се нуждаете от следващи библиотеки: Wire, LiquidCrystal_I2C, Keypad и DHT. Всички библиотеки могат да бъдат намерени в Arduino IDE, ако отидете в частта за скица и след това в библиотеките за включване. Също така имайте предвид, че ако използвате нещо като въртящ се енкодер, вероятно ще трябва да получите нови библиотеки вместо клавиатура, която вероятно ще бъде rotary.h и бутон. Ако използвате сензор DHT11, библиотеката все още е DHT.
- Във втората част на кода ще има дефиниране на всички използвани части. На първо място е LCD. След това има DHT сензор, който е представен като обект с dht тип сензор, а също и щифт, който е свързан. Сензорът за влажност на почвата и диодите са трети.
- Ще опиша клавиатурата малко повече. Както казах, моят въртящ се енкодер е счупен, затова реших да го използвам. За този проект е достатъчно да имате само четири бутона, дори три са добри за него. Така че използвам четири бутона на клавиатурата само за една опция. Можете да използвате някои от бутоните, ако искате за нещо друго, ако имате идея. Трябва да дефинирате редове и колони в тази част. След това hexaKeys ще ви представи опциите, използвани за този проект. В моя проект има B (назад), U (нагоре), D (надолу) и A (приемам). Можете да накарате всеки бутон да направи нещо друго. Един бутон може да включи подсветката, един може да я изключи. Така че не се колебайте да играете с него още
- В тази част са глобални променливи, използвани в кода. Bool променливите се използват за смяна на екрана. Променливата за добре дошли е вярна само за няколко секунди, когато arduino i е включен, след това тя ще бъде невярна през останалото време. Основният акцент е върху променливата mainScreen. Тази променлива се използва, за да ви води от менюто към всяка друга опция в кода. Ако тази променлива е невярна, това означава, че потребителят е решил да използва една от четирите опции на този проект.
- Тук са написани всички методи, използвани в този код. Ще се опитам да обясня всички писмени методи в тази част
- 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
Това е може би най -смешната част. Поне е по -смешно след написаното кодиране. В тази част можете да видите снимки как работи проектът. Има 4 варианта.
- Четене на температура в Целзий
- Температура на четене в Фаренхайт
- Четене на влажност
- Включване на диоди и отчитане на стойностите на сензора за влажност на почвата.
Можете да изберете някоя от възможните опции, също така можете да се върнете и да изберете отново, ако искате да видите нещо друго. Просто и лесно за използване.
Ако има друг въпрос, можете да ме попитате. Благодаря ви, че разгледахте моя проект. С всички пожелания. Себастиан
Препоръчано:
IOT WiFi сензор за влага на цветя (захранван от батерии): 8 стъпки (със снимки)
IOT WiFi сензор за влага на цветя (захранван от батерии): В тази инструкция представяме как да изградим WiFi сензор за влага/вода с монитор за нивото на батерията за по -малко от 30 минути. Устройството следи нивото на влага и изпраща данни към смартфон по интернет (MQTT) с избран интервал от време. Ти
IoT сензор за влага: 12 стъпки
IoT сензор за влага: Исках сензор за влага, който да ме информира, когато стайните растения се нуждаят от вода. Исках нещо, което да използвам за започване на семена и за зрели стайни растения. Винаги съм притеснен, че ги поливам или ги поливам. Похарчих б
Сензор за влага, използващ частичен фотон: 6 стъпки
Сензор за влага, използващ частичен фотон: Въведение В този урок ще изградим сензор за влага, използващ частичен фотон и неговата в легло или/и външна WiFi антена. Силата на WiFi зависи от количеството влага във въздуха, а също и в земята. Ние използваме този принцип
Безжичен монитор за влага (ESP8266 + сензор за влага): 5 стъпки
Безжичен монитор за влага (ESP8266 + сензор за влага): Купувам магданоз в саксия и по -голямата част от деня почвата беше суха. Затова решавам да направя този проект за усещане за влага на почвата в саксия с магданоз, за да проверя, когато имам нужда да излея почва с вода. Мисля, че този сензор (Капацитивен сензор за влага v1.2) е добър
Кой е на вратата ми? Проект на PIR сензор за движение/сензор за обхват: 5 стъпки
Кой е на вратата ми? Проект за PIR сензор за движение/сензор за обхват: Нашият проект има за цел да усети движението чрез PIR и сензори за разстояние. Кодът на Arduino ще извежда визуален и аудио сигнал, за да каже на потребителя, че някой е близо. Кодът MATLAB ще изпрати имейл сигнал, за да предупреди потребителя, че някой е наблизо. Това устройство