Мазмуну:
- 1 -кадам: Бардык бөлүктөрдү алуу
- 2 -кадам: Бардык бөлүктөрдү бириктирүү
- 3 -кадам: Код жазуу
- 4 -кадам: Ардуинону колдонуу
Video: Меню менен Arduino DHT22 сенсор жана топурактын нымдуулугу долбоору: 4 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:38
Салам балдар бүгүн мен силерге инструктивдүү экинчи долбоорумду сунуштайм. Бул проект температура менен нымдуулукту өлчөө үчүн колдонулган Топурак Нымдуулук сенсорун жана DHT22 сенсорун колдонгон биринчи долбоорумдун аралашмасын сунуштайт. Бул долбоорду жасоо оңой жана Arduino колдонгон адамдар аны жасоону кызыктуу сезишет. Бул долбоордун биринчисинен айырмасы, бул долбоордун колдонуучусунун менюсу болот, анда ал учурда көргүсү келген нерсени тандап алат. Төрт вариант болот. Ошентип, комплектти алып, каалаган үйдө колдонула турган бул долбоорду жасай баштаңыз.
1 -кадам: Бардык бөлүктөрдү алуу
Бул долбоор аз бөлүгүн колдонот. Бул тетиктерди алуу өтө арзан, андыктан баасы жөнүндө кабатыр болбоңуз. Бул долбоордо колдонулган айрым тетиктерди өзгөртүүгө болот, андыктан долбоорду жасоо арзаныраак болот. Сунушталган бөлүктөрдү колдонуп, бул долбоорду ого бетер жакшыртуу сиздин колуңузда. Бул долбоордо колдонулган бөлүктөр:
- Arduino uno rev3 (Сиз башка Arduino колдоно аласыз)
- Breadboard
- I2C менен LCD 1602 жашыл дисплей (сиз ошондой эле I2C дисплейин колдоно аласыз, бирок аны туташтыруу үчүн дагы төөнөгүчтөр керек болот)
- 16 баскыч баскычы (Өзгөрүлүүчү)
- FC-28-d Топурактын гигрометрин аныктоо модулу + топурактын ным сенсору
- DHT22 температура жана нымдуулук сенсору (Сиз арзаныраак DHT11 колдоно аласыз)
- Кызыл диод
- Көк LED диод
- 2 резистор 220 ом (диоддор үчүн колдонулат)
- 4k7 резистору схемада DHT22 үчүн колдонулат
- Arduino батарея туташтыргычы
- Бардык бөлүктөрдү туташтыруу үчүн бир нече секирүүчү кабель
Бул долбоорду курууну баштоодон мурун сизге айта турган бир нерсе - клавиатуранын кереги жок. Бул жолу баскычтопту колдондум, анткени менин айлануучу коддогучум бузулган. Менимче, бул проект кемчиликсиз болмок, анткени анын айлануучу коддогучу бар, анткени ал азыраак казыктарды колдонот же 3 баскычты колдоно алат.
2 -кадам: Бардык бөлүктөрдү бириктирүү
Бул кадамда сиз фризинг менен жасаган схеманы көрө аласыз. Мен бул долбоордун ар бир негизги бөлүгүн туташтыруу үчүн ысык жазам.
Көрүнүп тургандай, биз нан панелин иштетүү үчүн arduinoдон 5V жана GND колдонуп жатабыз.
ЖК:
- VCC 5v чейин (+ нан бөлүгүндө)
- GND to gnd (- нан бөлүгүндө)
- SDA аналогдук пинге A4
- А5 аналогдук пинге SCL
16 баскыч менен баскычтоп:
Биз клавиатураны туташтыруу үчүн 9, 8, 7, 6, 5, 4, 3, 2 төөнөгүчтөрдү колдонуп жатабыз (бул менин айлануучу коддогучту колдонгонумдун себеби, анткени ал тактада 3 төөнөгүчтү гана талап кылат)
Топурактын нымдуулук сенсору:
- VCC 5v чейин (+ нан бөлүгүндө)
- GND to gnd (-нан бөлүгүндө)
- D0 санарип пинге 0
- A0 аналогдук пинге A0
DHT22:
- VCC 5v чейин (+ нан бөлүгүндө)
- GND to gnd (-нан бөлүгүндө)
- Чыгуучу пин 12 -пинге туташтырылган
Диодду туташтыруу:
- диоддун бир бөлүгү кирет - нандын бир бөлүгү
- Экинчи бөлүгү 220 омдук резистор аркылуу өтөт, андан кийин 10 (көк диод) же 11 (кызыл диод) пинге туташат.
3 -кадам: Код жазуу
Мен кодду бир нече бөлүктө түшүндүрүүгө аракет кылам. Ошондой эле толук код жазылат, андыктан сиз аны көчүрүп, керек болсо аны өзгөртө аласыз. Ошондой эле бул коддо сенсордук иштөөнүн бир нече ыкмалары жазылган, бирок бул жолу негизги басым Arduino менен жаңы келгендерге түшүнүктүү боло турган менюну түзүүгө бурулду. Бул жолу мен эч кандай үзгүлтүктөрдү колдонбойм, бирок кийинки долбоорлорумда жасайм, андыктан бул код үзгүлтүккө учураганда алда канча жакшыра турганын унутпаңыз.
- Коддун биринчи бөлүгү бул долбоор үчүн колдонулган бардык китепканаларды камтыйт. Мен колдонуп жатам деп айткан бөлүктөрдүн баарына кийинки китепканалар керек экенин эстен чыгарбаңыз: Wire, LiquidCrystal_I2C, Keypad жана DHT. Китепканалардын бардыгын Arduino IDEден тапса болот, эгер сиз эскиз бөлүгүнө, андан кийин китепканаларга кирсеңиз. Эсиңизде болсун, эгер сиз ротациялоочу сыяктуу нерсени колдонсоңуз, анда баскычтоптун ордуна жаңы китепканаларды алышыңыз керек болот, бул rotary.h жана баскыч. Эгерде сиз DHT11 сенсорун колдонсоңуз, китепкана дагы эле DHT болуп саналат.
- Коддун экинчи бөлүгүндө бардык колдонулган бөлүктөр аныкталат. Биринчи кезекте LCD. Андан кийин DHT сенсору бар, ал сенсордун түрү бар объектке окшош, ошондой эле туташтырылган пин. Топурактын нымдуулук сенсору жана диоддору үчүнчүсү.
- Мен баскычтопту дагы бир аз сүрөттөп берем. Мен айткандай, менин айлануучу кодерим бузулган, ошондуктан мен аны колдонууну чечтим. Бул долбоор үчүн төрт гана баскычка ээ болуу жетиштүү, ал тургай үчөө жакшы. Ошентип, мен бир эле вариант үчүн баскычтоптун төрт баскычын колдонуп жатам. Эгер сизде дагы бир нерсе болсо, кээ бир баскычтарды колдонсоңуз болот, эгер сизде идея болсо. Бул бөлүктө саптарды жана мамычаларды аныктоо керек. Андан кийин hexaKeys бул долбоор үчүн колдонулган варианттарды билдирет. Менин долбоорумда B (артка), U (өйдө), D (төмөн) жана А (кабыл алуу) бар. Сиз ар бир баскычты башка нерсеге жасай аласыз. Бир баскыч арткы жарыкты күйгүзө алат, бирөө өчүрө алат. Андыктан аны менен дагы бир аз ойноңуз
- Бул бөлүктө глобалдык өзгөрмөлөр коддо колдонулат. Бол өзгөрмөлөрү экранды өзгөртүү үчүн колдонулат. Кош келиңиз өзгөрмөсү arduino i күйгүзүлгөндө гана бир нече секундга туура келет, андан кийин ал калган убакытка чейин жалган болуп калат. Негизги басым mainScreen өзгөрмөсүнө багытталган. Бул өзгөрмө сизди менюдан коддун башка вариантына жетектөө үчүн колдонулат. Эгерде бул өзгөрмө жалган болсо, анда бул колдонуучу бул долбоордун төрт вариантынын бирин колдонууну чечкенин билдирет.
- Бул жерде бул коддо колдонулган бардык ыкмалар жазылган. Мен бул бөлүктө жазылган бардык ыкмаларды түшүндүрүүгө аракет кылам
- жараксыз startScreen (); // долбоорду жана arduino баштоо ыкмасы
- int choiceNumber (int тандоо); // бул сиздин долбоордун тандоолорун өзгөртөт. Сан 1ден 4кө чейин барат
- mainScreenP жараксыз (int тандоосу); // түзмөктүн төрт варианты жазылат
- bool mainScreenCS (bool mainScreen); // бул mainScreen'ди жалганга өзгөртөт
- bool mainScreenBack (bool mainScreen); // бул mainScreenди чындыкка өзгөртөт
- боштук tempCelsius (); // C DHT сенсор вариантында окуу температурасы
- жараксыз tempFarenheit (); // F DHT сенсор вариантында окуу температурасы
- void printHumidity (); // нымдуулук DHT сенсорунун параметрин окуу
- жараксыз readSensorData (); // туташкан сенсорлор боюнча маалыматтарды окуу
- String getTemperatureC ();
- String getTemperatureF ();
- String getHumidity ();
- void tuproqMoisture (); // бул башка сенсор жана диоддор үчүн
- жараксыз printSensorSoilMoisture (); // топурактын нымдуу бөлүгүн LCDге басып чыгаруу
- void diodeLights (int мааниси); // диоддорду күйгүзүү жана өчүрүү
- жараксыз printValue (int мааниси);
6. Arduino үчүн орнотуу - бул LCD жана DHT сенсорун, ошондой эле диоддорду орноткон бөлүк
7. Негизги бөлүгү - жогоруда жазылган бардык жазуу ыкмалары колдонулган бөлүк.
Бул долбоордун толук коду бул кадамдын тиркемесинде болот. Пиндер схемага окшоп туташпай калышы мүмкүн экенин эстен чыгарбаңыз, диоддор өзгөрдү деп ойлойм.
4 -кадам: Ардуинону колдонуу
Бул, балким, эң күлкүлүү бөлүгү. Жок дегенде, бардык коддоо жазылгандан кийин күлкүлүү. Бул бөлүктө сиз долбоордун кантип иштээрин көрө аласыз. 4 вариант бар.
- Окуу температурасы Цельсий боюнча
- Фаренгейтте окуу температурасы
- Нымдуулукту окуу
- Диоддорду күйгүзүү жана топурактын ным сенсорунун баалуулуктарын окуу.
Сиз мүмкүн болгон варианттардын бирин тандап алсаңыз болот, дагы бир нерсени көргүңүз келсе, артка кайтып, кайра тандасаңыз болот. Жөнөкөй жана колдонууга оңой.
Эгерде башка суроо болсо, анда сиз мага суроо берсеңиз болот. Рахмат, менин долбоорумду караганыңыз үчүн. Бардык урматтоо менен. Себастьян
Сунушталууда:
NodeMCU Lua арзан 6 $ Board MicroPython температурасы жана нымдуулугу менен, Wifi жана мобилдик статистика: 4 кадам
NodeMCU Lua Арзан 6 $ Board MicroPython Температурасы жана Нымдуулугу менен, Wifi жана Мобилдик Статистика менен: Бул негизи булут аба ырайы станциясы, сиз телефонуңуздагы маалыматтарды текшере аласыз же кээ бир телефонду түз дисплей катары колдоно аласыз NodeMCU түзмөгү менен сиз сыртта температура жана нымдуулук маалыматын жаза аласыз. , бөлмөдө, күнөсканада, лабораторияда, муздатуу бөлмөсүндө же башка жерлерде толук
LoRa менен күнөскананы автоматташтыруу! (1 -бөлүк) -- Сенсорлор (Температура, Нымдуулук, Топурактын Нымдуулугу): 5 кадам
LoRa менен күнөскананы автоматташтыруу! (1 -бөлүк) || Сенсорлор (Температура, Нымдуулук, Топурактын Нымдуулугу): Бул долбоордо мен сизге күнөскананы кантип автоматташтырганымды көрсөтөм. Бул мен силерге күнөскананы кантип курганымды жана электр энергиясын жана автоматиканы кантип электр менен камсыз кылганымды көрсөтөм дегенди билдирет. Ошондой эле мен сизге L колдонуучу Arduino тактасын кантип программалоону көрсөтөм
Суунун эскертүүсү бар топурактын нымдуулугу сенсору: 4 кадам
Топурактын нымдуулугу сенсору Сугаруу эскертүүсү менен: Биз WEMOS D1 мини жана сыйымдуу топурактын нымдуулугу сенсорунун негизинде топурактын нымдуулугун өлчөөчү түзүлүштү түзүп жатабыз. жана биз эскертүү бере алабыз
LORA Температура жана Топурактын Нымдуулугу Сенсору: 6 кадам
LORA Температура жана Топурактын Нымдуулугу Сенсору: Өзүмдүн күнөсканамды даярдоодо күнөскананын айлана -чөйрөсүн көзөмөлдөө үчүн сенсороддорду жасап жатам. Бул сенсорду сыртта да колдонсоңуз болот. Теплицанын ичиндеги же сыртындагы температураны жердин температурасы менен бирге колдонуу
Arduino топурактын нымдуулугу долбоору: 4 кадам
Arduino топурак нымдуулук долбоору: Саламатсыздарбы балдар, бүгүн мен силерге инструктивдүү биринчи долбоорумду сунуштайм. Бул Arduino менен бир гана сенсор менен топурактын нымдуулугун өлчөө жөнүндө. Бул долбоорду жасоо абдан оңой жана Arduino платформасы менен иштөөнү каалагандардын баары