Satura rādītājs:

Arduino DHT22 sensora un augsnes mitruma projekts ar izvēlni: 4 soļi
Arduino DHT22 sensora un augsnes mitruma projekts ar izvēlni: 4 soļi

Video: Arduino DHT22 sensora un augsnes mitruma projekts ar izvēlni: 4 soļi

Video: Arduino DHT22 sensora un augsnes mitruma projekts ar izvēlni: 4 soļi
Video: 7 in 1 Sensor 5V RS485 Interfacing With Arduino 2024, Novembris
Anonim
Arduino DHT22 sensora un augsnes mitruma projekts ar izvēlni
Arduino DHT22 sensora un augsnes mitruma projekts ar izvēlni

Sveiki puiši, šodien es jums prezentēju savu otro projektu par pamācībām. Šis projekts piedāvā mana pirmā projekta maisījumu, kurā es izmantoju augsnes mitruma sensoru un DHT22 sensoru, ko izmanto temperatūras un mitruma mērīšanai. Šo projektu ir viegli izveidot, un cilvēkiem, kuri izmanto Arduino, būs interesanti to darīt. Atšķirība starp šo projektu un pirmo ir tā, ka šajā projektā lietotājam būs izvēlne, kurā viņš varēs izvēlēties to, ko viņš šobrīd vēlas redzēt. Būs četras iespējas. Tāpēc paņemiet komplektu un sāciet veidot šo projektu, ko var izmantot jebkurā mājā.

1. darbība: visu detaļu iegūšana

Visu detaļu iegūšana
Visu detaļu iegūšana
Visu detaļu iegūšana
Visu detaļu iegūšana
Visu detaļu iegūšana
Visu detaļu iegūšana

Šis projekts izmanto maz daļu. Šīs detaļas ir ļoti lētas, tāpēc neuztraucieties par cenu. Dažas šajā projektā izmantotās detaļas var mainīt, tāpēc projekta izgatavošana var būt lētāka. Jūs esat atkarīgs no tā, kuras ieteicamās daļas jūs izmantosit, un padarīsit šo projektu vēl labāku. Šajā projektā izmantotās detaļas:

  1. Arduino uno rev3 (varat izmantot arī citu Arduino)
  2. Maizes dēlis
  3. LCD 1602 zaļš displejs ar I2C (varat izmantot arī displeju ar I2C, bet, lai to savienotu, būs vajadzīgas vairāk tapas)
  4. 16 taustiņu tastatūra (maināma)
  5. FC-28-d Augsnes higrometra noteikšanas modulis + augsnes mitruma sensors
  6. DHT22 temperatūras un mitruma sensors (varat izmantot DHT11, kas ir lētāks)
  7. Sarkana LED diode
  8. Zila LED diode
  9. 2 rezistori 220 omi (izmanto diodēm)
  10. 4k7 rezistors, ko shematiski izmanto DHT22
  11. Arduino akumulatora savienotājs
  12. Daži savienojuma kabeļi, lai savienotu visas detaļas

Viena lieta, kas man jums jāsaka, pirms sākat veidot šo projektu, ir tā, ka tastatūra nav nepieciešama. Šoreiz es izmantoju tastatūru, jo mans rotācijas kodētājs bija salauzts. Es domāju, ka šis projekts būtu ideāls, ja tam būtu rotējošais kodētājs, jo tas izmantotu mazākas tapas vai arī varētu izmantot 3 pogas.

2. darbība: visu detaļu savienošana kopā

Visu detaļu savienošana kopā
Visu detaļu savienošana kopā

Šajā solī jūs varat redzēt shematisko, ko es izveidoju ar fritēšanu. Es pierakstīšu karstu, lai savienotu katru šī projekta galveno daļu.

Kā redzat, maizes dēļa barošanai mēs izmantojam 5V un GND no arduino.

LCD:

  • VCC līdz 5v (+ daļa uz maizes dēļa)
  • GND līdz gnd (- daļa uz maizes dēļa)
  • SDA uz analogo tapu A4
  • SCL uz analogo tapu A5

Tastatūra ar 16 pogām:

Tastatūras savienošanai mēs izmantojam tapas 9, 8, 7, 6, 5, 4, 3, 2 (tas ir iemesls, kāpēc es izmantotu rotējošo kodētāju, jo uz tāfeles būtu vajadzīgas tikai 3 tapas)

Augsnes mitruma sensors:

  • VCC līdz 5v (+ daļa uz maizes dēļa)
  • GND līdz gnd (-daļa uz maizes dēļa)
  • D0 līdz ciparu tapai 0
  • A0 līdz analogajai tapai A0

DHT22:

  • VCC līdz 5v (+ daļa uz maizes dēļa)
  • GND līdz gnd (-daļa uz maizes dēļa)
  • Izejas tapa ir pievienota 12. tapai

Diodes savienojums:

  • viena daļa diodes nonāk - daļa no maizes dēļa
  • otrā daļa iet caur 220 omu rezistoru un pēc tam tiek pievienota kontaktam 10 (zilā diode) vai 11 (sarkanā diode)

3. darbība: koda rakstīšana

Es mēģināšu izskaidrot kodu dažās daļās. Tiks arī uzrakstīts pilns kods, lai jūs varētu to kopēt un arī mainīt, ja redzat vajadzību. Arī šajā kodā ir uzrakstītas dažas sensoru darba metodes, taču šoreiz galvenā uzmanība tika pievērsta ēdienkartes izveidei, kas būs viegli saprotama Arduino lietotājiem. Šoreiz es neizmantoju nekādus pārtraukumus, bet savos nākamajos projektos es to darīšu, tāpēc paturiet prātā, ka šis kods var būt daudz labāks ar pārtraukumiem.

  1. Pirmā koda daļa ietver visas šim projektam izmantotās bibliotēkas. Paturiet prātā, ka visām daļām, kuras es teicu, ka izmantoju, jums ir nepieciešamas nākamās bibliotēkas: Wire, LiquidCrystal_I2C, tastatūra un DHT. Visas bibliotēkas var atrast Arduino IDE, ja dodaties uz skiču daļu un pēc tam iekļaujat bibliotēkas. Ņemiet vērā arī to, ka, ja izmantojat kaut ko līdzīgu rotējošam kodētājam, iespējams, ka tastatūras vietā jums būs jāiegūst jaunas bibliotēkas, kas, iespējams, būtu rotējošas.h un pogas. Ja izmantojat DHT11 sensoru, bibliotēka joprojām ir DHT.
  2. Koda otrajā daļā tiks norādītas visas lietotās daļas. Pirmkārt, tas ir LCD. Pēc tam ir DHT sensors, kas ir līdzīgs objekts ar dht tipa sensoru, kā arī piesprausta tapa. Augsnes mitruma sensors un diodes ir trešais.
  3. Es mazliet sīkāk aprakstīšu tastatūru. Kā es teicu, mans rotācijas kodētājs bija salauzts, tāpēc es nolēmu to izmantot. Šim projektam pietiek tikai ar četrām pogām, pat trīs tam ir piemērotas. Tāpēc es izmantoju četras tastatūras pogas tikai vienai opcijai. Ja vēlaties kaut ko citu, varat izmantot dažas pogas, ja jums ir ideja. Šajā daļā ir jādefinē rindas un kolonnas. Pēc tam hexaKeys parādīs jums šajā projektā izmantotās iespējas. Manā projektā ir B (atpakaļ), U (uz augšu), D (uz leju) un A (pieņemt). Jūs varat likt katrai pogai darīt kaut ko citu. Viena poga varētu ieslēgt fona apgaismojumu, viena - izslēgt. Tāpēc jūtieties brīvi spēlēt ar to vēl
  4. Šajā daļā ir kodā izmantotie globālie mainīgie. Bool mainīgie tiek izmantoti ekrāna maiņai. Sveiciena mainīgais ir spēkā tikai dažas sekundes tikai tad, kad ir ieslēgts arduino i; pēc tam tas būs nepatiess visu pārējo laiku. Galvenā uzmanība tiek pievērsta mainScreen mainīgajam. Šis mainīgais tiek izmantots, lai virzītu jūs no izvēlnes uz jebkuru citu koda opciju. Ja šis mainīgais ir nepatiess, tas nozīmē, ka lietotājs nolēma izmantot vienu no četrām šī projekta iespējām.
  5. Šeit ir uzrakstītas visas šajā kodā izmantotās metodes. Es mēģināšu izskaidrot visas rakstītās metodes šajā daļā
  • void startScreen (); // metode projekta uzsākšanai un arduino
  • int choiceNumber (int izvēle); // tas maina jūsu projekta iespēju izvēli. Skaitlis ir no 1 līdz 4
  • void mainScreenP (int izvēle); // tiks uzrakstītas četras izgatavotās ierīces iespējas
  • bool mainScreenCS (bool mainScreen); // tas maina mainScreen uz nepatiesu
  • bool mainScreenBack (bool mainScreen); // tas maina mainScreen uz true
  • void tempCelsius (); // temperatūras nolasīšana C DHT sensora opcijā
  • void tempFarenheit (); // temperatūras nolasīšana F DHT sensora opcijā
  • void printHumidity (); // mitruma DHT sensora lasīšanas iespēja
  • void readSensorData (); // datu nolasīšana pievienotajos sensoros
  • String getTemperatureC ();
  • String getTemperatureF ();
  • String getHumidity ();
  • tukša augsneMitrums (); // tas ir citam sensoram un diodēm
  • void printSensorSoilMoisture (); // augsnes mitruma daļas drukāšana uz LCD
  • void diodeLights (int vērtība); // diodes ieslēgšana un izslēgšana
  • void printValue (int vērtība);

6. Arduino iestatīšana ir daļa no vietas, kur iestatāt LCD un DHT sensoru, kā arī diodes

7. Galvenā daļa ir daļa, kurā tiek izmantotas visas iepriekš minētās rakstiskās metodes.

Pilns šī projekta kods būs šī soļa pielikumā. Paturiet prātā, ka pastāv iespēja, ka tapas, iespējams, nav savienotas kā shēmā, es domāju, ka diodes ir mainītas.

4. solis: Arduino izmantošana

Izmantojot savu Arduino
Izmantojot savu Arduino
Izmantojot savu Arduino
Izmantojot savu Arduino
Izmantojot savu Arduino
Izmantojot savu Arduino
Izmantojot savu Arduino
Izmantojot savu Arduino

Šī, iespējams, ir smieklīgākā daļa. Vismaz smieklīgāk ir pēc visas uzrakstītās kodēšanas. Šajā daļā jūs varat redzēt projekta darbības attēlus. Ir 4 iespējas.

  1. Lasīšanas temperatūra pēc Celsija
  2. Lasīšanas temperatūra pēc Fārenheita
  3. Mitruma lasīšana
  4. Ieslēdzot diodes un nolasot augsnes mitruma sensora vērtības.

Jūs varat izvēlēties jebkuru no iespējamām iespējām, kā arī atgriezties un izvēlēties vēlreiz, ja vēlaties redzēt kaut ko citu. Vienkārša un viegli lietojama.

Ja ir kāds cits jautājums, varat man uzdot. Paldies, puiši, ka apskatījāt manu projektu. Ar visu cieņu. Sebastians

Ieteicams: