Turinys:

„Arduino DHT22“jutiklio ir dirvožemio drėgmės projektas su meniu: 4 žingsniai
„Arduino DHT22“jutiklio ir dirvožemio drėgmės projektas su meniu: 4 žingsniai

Video: „Arduino DHT22“jutiklio ir dirvožemio drėgmės projektas su meniu: 4 žingsniai

Video: „Arduino DHT22“jutiklio ir dirvožemio drėgmės projektas su meniu: 4 žingsniai
Video: Dirvožemio drėgmės jutiklis su Arduino 2024, Lapkritis
Anonim
„Arduino DHT22“jutiklio ir dirvožemio drėgmės projektas su meniu
„Arduino DHT22“jutiklio ir dirvožemio drėgmės projektas su meniu

Sveiki, vaikinai Šiandien aš jums pristatau savo antrąjį projektą apie instrukcijas. Šis projektas pristato mano pirmojo projekto, kuriame naudoju dirvožemio drėgmės jutiklį ir DHT22 jutiklį, kuris naudojamas temperatūrai ir drėgmei matuoti, mišinį. Šį projektą lengva padaryti, o žmonės, kurie naudoja „Arduino“, jausis ramiai ir įdomiai. Skirtumas tarp šio projekto ir pirmojo yra tas, kad šiame projekte vartotojas turės meniu, kuriame jis gali pasirinkti tai, ką nori matyti šiuo metu. Bus keturi variantai. Taigi, pasiimkite komplektą ir pradėkite kurti šį projektą, kurį galima naudoti bet kuriuose namuose.

1 žingsnis: visų dalių gavimas

Visų dalių gavimas
Visų dalių gavimas
Visų dalių gavimas
Visų dalių gavimas
Visų dalių gavimas
Visų dalių gavimas

Šis projektas naudoja nedaug dalių. Šios dalys yra labai pigios, todėl nesijaudinkite dėl kainos. Kai kurios šiame projekte naudojamos dalys gali būti pakeistos, todėl projektas gali būti pigesnis. Nuo jūsų priklauso, kokias rekomenduojamas dalis ketinate naudoti ir dar labiau patobulinsite šį projektą. Šiame projekte naudojamos dalys:

  1. „Arduino uno rev3“(taip pat galite naudoti kitus „Arduino“)
  2. Bandomoji Lenta
  3. Žalias LCD 1602 ekranas su I2C (taip pat galite naudoti ekraną su dideliu I2C, bet norint jį prijungti reikės daugiau kaiščių)
  4. 16 mygtukų klaviatūra (keičiama)
  5. FC-28-d Dirvožemio higrometro aptikimo modulis + dirvožemio drėgmės jutiklis
  6. DHT22 temperatūros ir drėgmės jutiklis (galite naudoti DHT11, kuris yra pigesnis)
  7. Raudonas LED diodas
  8. Mėlynas LED diodas
  9. 2 rezistoriai 220 omų (naudojami diodams)
  10. 4k7 rezistorius, naudojamas DHT22 schemoje
  11. „Arduino“akumuliatoriaus jungtis
  12. Keletas jungiamųjų kabelių, jungiančių visas dalis

Vienas dalykas, kurį turiu jums pasakyti prieš pradedant kurti šį projektą, yra tai, kad klaviatūra nėra būtina. Šį kartą naudojau klaviatūrą, nes sukamasis kodavimo įrenginys buvo sugedęs. Manau, kad šis projektas būtų tobulas, jei jis turėtų sukamąjį kodavimo įrenginį, nes jame būtų naudojami mažesni kaiščiai arba 3 mygtukai.

2 žingsnis: visų dalių sujungimas

Visų dalių sujungimas
Visų dalių sujungimas

Šiame žingsnyje galite pamatyti schemą, kurią padariau su fritingu. Aš parašysiu karštai, kad sujungčiau kiekvieną pagrindinę šio projekto dalį.

Kaip matote, mes naudojame 5V ir GND iš arduino, kad maitintume duonos lentą.

LCD:

  • VCC iki 5v (+ dalis ant duonos lentos)
  • GND į gnd (- dalis ant duonos lentos)
  • SDA į analoginį kaištį A4
  • SCL į analoginį kaištį A5

Klaviatūra su 16 mygtukų:

Klaviatūrai prijungti naudojame 9, 8, 7, 6, 5, 4, 3, 2 kaiščius (tai yra priežastis, kodėl norėčiau naudoti sukamąjį kodavimo įrenginį, nes ant lentos užtektų tik 3 kaiščių)

Dirvožemio drėgmės jutiklis:

  • VCC iki 5v (+ dalis ant duonos lentos)
  • GND į gnd (dalis ant duonos lentos)
  • D0 - skaitmeninis kaištis 0
  • A0 į analoginį kaištį A0

DHT22:

  • VCC iki 5v (+ dalis ant duonos lentos)
  • GND į gnd (dalis ant duonos lentos)
  • Išėjimo kaištis prijungtas prie 12 kaiščio

Diodų prijungimas:

  • įeina viena diodo dalis - dalis lentos
  • antroji dalis eina per 220 omų rezistorių ir po to prijungiama prie kaiščio 10 (mėlynas diodas) arba 11 (raudonas diodas)

3 žingsnis: kodo rašymas

Pabandysiu paaiškinti kodą keliomis dalimis. Taip pat bus parašytas visas kodas, kad galėtumėte jį nukopijuoti ir, jei matote, pakeisti. Taip pat šiame kodekse yra parašyta keletas jutiklių darbo metodų, tačiau šį kartą pagrindinis dėmesys buvo skiriamas meniu, kurį bus lengva suprasti žmonėms, naujiems naudojant „Arduino“, sukūrimui. Šį kartą aš nenaudoju jokių pertraukimų, bet kituose projektuose aš tai padarysiu, todėl atminkite, kad šis kodas gali būti daug geresnis su pertraukomis.

  1. Pirmoje kodo dalyje yra visos šiam projektui naudojamos bibliotekos. Atminkite, kad visoms dalims, kurias sakiau, kad naudojuosi, jums reikia kitų bibliotekų: „Wire“, „LiquidCrystal_I2C“, „Keypad“ir DHT. Visas bibliotekas galite rasti „Arduino IDE“, jei einate į eskizų dalį ir įtraukiate bibliotekas. Taip pat atminkite, kad jei naudojate kažką panašaus į sukamąjį kodavimo įrenginį, greičiausiai turėsite gauti naujas bibliotekas, o ne klaviatūrą, kuri greičiausiai būtų rotacinis.h ir mygtukas. Jei naudojate DHT11 jutiklį, biblioteka vis dar yra DHT.
  2. Antroje kodo dalyje bus nurodytos visos naudojamos dalys. Visų pirma yra LCD. Po to yra DHT jutiklis, kuris yra panašus į objektą su dht tipo jutikliu, taip pat kaištis, kuris yra prijungtas. Dirvos drėgmės jutiklis ir diodai yra trečias.
  3. Šiek tiek plačiau aprašysiu klaviatūrą. Kaip sakiau, mano sukamasis kodavimo įrenginys buvo sugedęs, todėl nusprendžiau jį naudoti. Šiam projektui pakanka turėti tik keturis mygtukus, net trys jam tinka. Taigi aš naudoju keturis klaviatūros mygtukus tik vienai parinkčiai. Jei norite ką nors kita, galite naudoti kai kuriuos mygtukus, jei turite idėją. Šioje dalyje turite apibrėžti eilutes ir stulpelius. Po to „hexaKeys“parodys jums šio projekto parinktis. Mano projekte yra B (atgal), U (aukštyn), D (žemyn) ir A (priimti). Galite priversti kiekvieną mygtuką daryti ką nors kita. Vienas mygtukas gali įjungti foninį apšvietimą, kitas - išjungti. Taigi drąsiai žaiskite su juo dar
  4. Šioje dalyje yra globalūs kintamieji, naudojami kode. „Bool“kintamieji naudojami keičiant ekraną. Sveikinimo kintamasis yra teisingas kelias sekundes tik tada, kai įjungtas arduino i, o po to likusį laiką jis bus klaidingas. Pagrindinis dėmesys skiriamas mainScreen kintamajam. Šis kintamasis naudojamas nukreipti jus iš meniu į bet kurią kitą kodo parinktį. Jei šis kintamasis yra klaidingas, tai reiškia, kad vartotojas nusprendė naudoti vieną iš keturių šio projekto parinkčių.
  5. Čia parašyti visi šiame kodekse naudojami metodai. Pabandysiu paaiškinti visus rašytinius metodus šioje dalyje
  • void startScreen (); // projekto ir arduino pradžios metodas
  • int choiceNumber (int pasirinkimas); // tai keičia jūsų pasirinktą projekto variantų pasirinkimą. Skaičius svyruoja nuo 1 iki 4
  • void mainScreenP (int pasirinkimas); // bus parašytos keturios įrenginio parinktys
  • bool mainScreenCS (bool mainScreen); // tai keičia pagrindinį ekraną į klaidingą
  • bool mainScreenBack (bool mainScreen); // tai keičia pagrindinį ekraną į teisingą
  • void tempCelsius (); // temperatūros skaitymas C DHT jutiklio parinktyje
  • void tempFarenheit (); // temperatūros skaitymas F DHT jutiklio parinktyje
  • void printHumidity (); // drėgmės DHT jutiklio parinkties skaitymas
  • void readSensorData (); // duomenų skaitymas prijungtuose jutikliuose
  • Styga getTemperatureC ();
  • Styga getTemperatureF ();
  • Styga getHumidity ();
  • tuščia žemėMoisture (); // tai kitam jutikliui ir diodams
  • void printSensorSoilMoisture (); // dirvos drėgmės dalies spausdinimas ant LCD
  • void diodeLights (int vertė); // diodų įjungimas ir išjungimas
  • void printValue (int vertė);

6. „Arduino“sąranka yra dalis, kurioje nustatote LCD ir DHT jutiklį, taip pat diodus

7. Pagrindinė dalis yra ta dalis, kurioje naudojami visi aukščiau aprašyti metodai.

Visas šio projekto kodas bus pridėtas prie šio žingsnio. Turėkite omenyje, kad yra tikimybė, kad kaiščiai galbūt nėra prijungti kaip schemoje, manau, kad diodai yra pakeisti.

4 žingsnis: „Arduino“naudojimas

Naudojant „Arduino“
Naudojant „Arduino“
Naudojant „Arduino“
Naudojant „Arduino“
Naudojant „Arduino“
Naudojant „Arduino“
Naudojant „Arduino“
Naudojant „Arduino“

Tai turbūt juokingiausia dalis. Bent jau juokingiau po viso parašyto kodavimo. Šioje dalyje galite pamatyti projekto veikimo nuotraukas. Yra 4 variantai.

  1. Skaitymo temperatūra Celsijaus laipsniais
  2. Skaitymo temperatūra Farenheitu
  3. Drėgmės skaitymas
  4. Įjunkite diodus ir nuskaitykite dirvožemio drėgmės jutiklio vertes.

Galite pasirinkti bet kurią iš galimų parinkčių, taip pat galite grįžti atgal ir vėl pasirinkti, jei norite pamatyti ką nors kita. Paprasta ir paprasta naudoti.

Jei turite kokių nors kitų klausimų, galite manęs paklausti. Ačiū, vaikinai, kad žiūrite į mano projektą. Su visa pagarba. Sebastianas

Rekomenduojamas: