Sisukord:

Arduino DHT22 anduri ja mulla niiskuse projekt menüüga: 4 sammu
Arduino DHT22 anduri ja mulla niiskuse projekt menüüga: 4 sammu

Video: Arduino DHT22 anduri ja mulla niiskuse projekt menüüga: 4 sammu

Video: Arduino DHT22 anduri ja mulla niiskuse projekt menüüga: 4 sammu
Video: BME280 Sensor Test with Arduino: pressure, humidity and temperature for the New Chronograph Project 2024, Juuli
Anonim
Arduino DHT22 anduri ja mulla niiskuse projekt menüüga
Arduino DHT22 anduri ja mulla niiskuse projekt menüüga

Tere poisid Täna esitlen teile oma teist juhenditavate projektide projekti. See projekt esitab segu minu esimesest projektist, milles kasutasin pinnase niiskuse andurit ja DHT22 andurit, mida kasutatakse temperatuuri ja niiskuse mõõtmiseks. Seda projekti on lihtne teha ja Arduinot kasutavad inimesed tunnevad, et seda on vaikne teha. Erinevus selle projekti ja esimese vahel on see, et selle projekti kasutajal on menüü, kus ta saab valida, mida ta parasjagu näha soovib. Valikuid on neli. Nii et haarake komplekt ja hakake seda projekti tegema, mida saab kasutada igas kodus.

Samm: kõigi osade hankimine

Kõikide osade saamine
Kõikide osade saamine
Kõikide osade saamine
Kõikide osade saamine
Kõikide osade saamine
Kõikide osade saamine

See projekt kasutab vähe osi. Need osad on väga odavad, nii et ärge muretsege hinna pärast. Mõnda selles projektis kasutatud osa saab muuta, nii et projekti saab odavamalt valmistada. Teie otsustada, milliseid soovitatud osi kavatsete kasutada, ja muuta see projekt veelgi paremaks. Selles projektis kasutatud osad:

  1. Arduino uno rev3 (saate kasutada ka teisi Arduino)
  2. Leivalaud
  3. Roheline LCD 1602 ekraan koos I2C -ga (saate kasutada ka ekraani koos I2C -ga, kuid selle ühendamiseks vajate rohkem tihvte)
  4. 16 nupuga klahvistik (vahetatav)
  5. FC-28-d Mullahügromeetri tuvastamise moodul + mulla niiskuseandur
  6. DHT22 temperatuuri ja niiskuse andur (saate kasutada DHT11, mis on odavam)
  7. Punane LED diood
  8. Sinine LED diood
  9. 2 takisti 220 oomi (kasutatakse dioodide jaoks)
  10. 4k7 takisti, mida kasutatakse skemaatiliselt DHT22 jaoks
  11. Arduino aku pistik
  12. Kõigi osade ühendamiseks on paar hüppajakaablit

Üks asi, mida pean teile enne selle projekti ehitamist rääkima, on see, et klahvistik pole vajalik. Kasutasin seekord klahvistikku, kuna minu pöördkooder oli katki. Ma arvan, et see projekt oleks ideaalne, kui sellel oleks pöörlev kodeerija, kuna see kasutaks väiksemaid tihvte või saaks kasutada 3 nuppu.

Samm: ühendage kõik osad kokku

Kõikide osade ühendamine
Kõikide osade ühendamine

Selles etapis näete skemaatikat, mille tegin fritiseerimisega. Kirjutan kuumalt üles, et ühendada selle projekti kõik olulised osad.

Nagu näete, kasutame leivalaua toiteks arduino 5V ja GND.

LCD:

  • VCC kuni 5v (+ osa leivaplaadil)
  • GND kuni gnd (- osa leivaplaadil)
  • SDA analoogpistikule A4
  • SCL analoogpistikule A5

Klaviatuur 16 nupuga:

Klaviatuuri ühendamiseks kasutame tihvte 9, 8, 7, 6, 5, 4, 3, 2 (see on põhjus, miks ma kasutaksin pöördkodeerijat, sest tahvlil kuluks ainult 3 tihvti)

Pinnase niiskuse andur:

  • VCC kuni 5v (+ osa leivaplaadil)
  • GND kuni gnd (-leib leival)
  • D0 kuni digitaalne tihvt 0
  • A0 kuni analoogpistik A0

DHT22:

  • VCC kuni 5v (+ osa leivaplaadil)
  • GND kuni gnd (-leib leival)
  • Väljundtihvt on ühendatud tihvtiga 12

Dioodi ühendamine:

  • üks osa dioodist läheb sisse - osa leivaplaadist
  • teine osa läbib 220 oomi takisti ja seejärel ühendatakse tihvtiga 10 (sinine diood) või 11 (punane diood)

Samm: koodi kirjutamine

Püüan koodi selgitada mitmes osas. Samuti kirjutatakse täielik kood, nii et saate seda kopeerida ja vajadusel ka muuta. Ka selles koodis on kirjutatud vähe meetodeid anduritööks, kuid seekord oli põhirõhk menüü koostamisel, mis on Arduinoga uutele inimestele hõlpsasti arusaadav. Seekord ma ei kasuta katkestusi, kuid oma järgmistes projektides ma seda kasutan, seega pidage meeles, et see kood võib katkestustega palju paremaks muutuda.

  1. Koodi esimene osa sisaldab kõiki selle projekti jaoks kasutatud teeke. Pidage meeles, et kõigi osade jaoks, mida ma kasutasin, vajate järgmisi teeke: Wire, LiquidCrystal_I2C, klaviatuur ja DHT. Kõik teegid leiate Arduino IDE -st, kui lähete visandiosasse ja seejärel kaasate teekidesse. Samuti pidage meeles, et kui kasutate midagi pöörlevat kodeerijat, peate tõenäoliselt klaviatuuri asemel hankima uued teegid, mis oleksid tõenäoliselt rotary.h ja button. Kui kasutate DHT11 andurit, on raamatukogu endiselt DHT.
  2. Koodi teises osas määratletakse kõik kasutatud osad. Esiteks on LCD. Pärast seda on DHT -andur, mis kujutab endast sarnast objekti dht -tüüpi anduriga, ja ka ühendatav tihvt. Pinnase niiskuse andur ja dioodid on kolmandad.
  3. Kirjeldan klahvistikku veidi lähemalt. Nagu ma ütlesin, oli minu pöördkooder katki, siis otsustasin seda kasutada. Selle projekti jaoks piisab ainult neljast nupust, isegi kolm on selle jaoks hea. Nii et ma kasutan klaviatuuril nelja nupu jaoks ainult ühte võimalust. Mõne nupu abil saate soovi korral midagi muud kasutada, kui teil on idee. Selles osas peate määratlema read ja veerud. Pärast seda esitab hexaKeys teile selle projekti jaoks kasutatavad valikud. Minu projektis on B (tagasi), U (üles), D (alla) ja A (nõustu). Saate teha iga nupu, et teha midagi muud. Üks nupp võib taustvalgustuse sisse lülitada, teine saab selle välja lülitada. Nii et mängige sellega julgelt veel
  4. Selles osas on koodis kasutatavad globaalsed muutujad. Booli muutujaid kasutatakse ekraani vahetamiseks. Tervitusmuutuja kehtib mõne sekundi jooksul ainult arduino i sisselülitamisel, pärast seda on see ülejäänud aja vale. Põhirõhk on mainScreeni muutujal. Seda muutujat kasutatakse selleks, et suunata teid menüüst mis tahes muu koodi valiku juurde. Kui see muutuja on vale, tähendab see, et kasutaja otsustas kasutada ühte selle projekti neljast valikust.
  5. Siia on kirjutatud kõik selles koodis kasutatud meetodid. Püüan selles osas selgitada kõiki kirjalikke meetodeid
  • tühine startScreen (); // meetod projekti ja arduino käivitamiseks
  • int choiceNumber (int valik); // see muudab teie projekti valikuvõimalusi. Number läheb vahemikku 1 kuni 4
  • void mainScreenP (int valik); // seal kirjutatakse neli seadme valikut
  • bool mainScreenCS (bool mainScreen); // see muudab mainScreen väärtuseks false
  • bool mainScreenBack (bool mainScreen); // see muudab mainScreeni tõeseks
  • tühine tempCelsius (); // temperatuuri lugemine C DHT anduri valikus
  • tühine tempFarenheit (); // temperatuuri lugemine F DHT anduri valikus
  • void printHumidity (); // niiskuse DHT -anduri lugemise võimalus
  • tühine readSensorData (); // andmete lugemine ühendatud anduritel
  • String getTemperatureC ();
  • String getTemperatureF ();
  • String getHumidity ();
  • tühi pinnasNiiskus (); // see on teise anduri ja dioodide jaoks
  • tühine printSensorSoilMoisture (); // mulla niiskuse osa printimine LCD -le
  • void dioodeLights (int väärtus); // dioodide sisse- ja väljalülitamine
  • void printValue (int väärtus);

6. Arduino seadistamine on osa, kus seadistate LCD- ja DHT -andurid ning ka dioodid

7. Põhiosa on see osa, kus kasutatakse kõiki ülaltoodud kirjalikke meetodeid.

Selle projekti täielik kood on selle sammu manuses. Pidage meeles, et on võimalik, et tihvtid pole võib -olla ühendatud nagu skeemil, ma arvan, et dioode vahetatakse.

Samm: oma Arduino kasutamine

Arduino kasutamine
Arduino kasutamine
Arduino kasutamine
Arduino kasutamine
Arduino kasutamine
Arduino kasutamine
Arduino kasutamine
Arduino kasutamine

See on ilmselt kõige naljakam osa. Vähemalt on see naljakam pärast kogu kirjutatud kodeerimist. Selles osas näete pilte projekti toimimisest. Valikuid on 4.

  1. Lugemistemperatuur Celsiuse järgi
  2. Lugemistemperatuur Fahrenheiti järgi
  3. Niiskuse lugemine
  4. Dioodide sisselülitamine ja mulla niiskusanduri väärtuste lugemine.

Saate valida mis tahes võimaliku valiku, samuti saate tagasi minna ja uuesti valida, kui soovite näha midagi muud. Lihtne ja lihtne kasutada.

Kui teil on veel mõni küsimus, võite minult küsida. Tänan teid, et vaatate minu projekti. Kogu lugupidamisega. Sebastian

Soovitan: