Mündəricat:

Menyu ilə Arduino DHT22 Sensor və Torpaq Nəmliyi Layihəsi: 4 Addım
Menyu ilə Arduino DHT22 Sensor və Torpaq Nəmliyi Layihəsi: 4 Addım

Video: Menyu ilə Arduino DHT22 Sensor və Torpaq Nəmliyi Layihəsi: 4 Addım

Video: Menyu ilə Arduino DHT22 Sensor və Torpaq Nəmliyi Layihəsi: 4 Addım
Video: Arduino Tutorial 28 - DHT11 Temperature Sensor with LCD | SunFounder's ESP32 IoT Learnig kit 2024, Noyabr
Anonim
Menyu ilə Arduino DHT22 Sensor və Torpaq Nəmliyi Layihəsi
Menyu ilə Arduino DHT22 Sensor və Torpaq Nəmliyi Layihəsi

Salam uşaqlar Bu gün sizə göstərişli mövzularda ikinci layihəmi təqdim edirəm. Bu layihə, temperatur və rütubətin ölçülməsi üçün istifadə olunan Torpaq Nəmliyi sensoru və DHT22 sensoru istifadə etdiyim ilk layihəmin qarışığını təqdim edir. Bu layihəni hazırlamaq asandır və Arduino istifadə edən insanlar bunu etməyi maraqlı hiss edəcəklər. Bu layihə ilə birincisi arasındakı fərq, bu layihədə istifadəçinin hazırda görmək istədiyini seçə biləcəyi bir menyuya sahib olmasıdır. Dörd seçim olacaq. Beləliklə, dəstinizi götürün və hər evdə istifadə oluna biləcək bu layihəni etməyə başlayın.

Addım 1: Bütün hissələrin alınması

Bütün hissələrin alınması
Bütün hissələrin alınması
Bütün hissələrin alınması
Bütün hissələrin alınması
Bütün hissələrin alınması
Bütün hissələrin alınması

Bu layihə az hissədən istifadə edir. Bu hissələri əldə etmək çox ucuzdur, buna görə qiymətdən narahat olmayın. Bu layihədə istifadə olunan bəzi hissələr dəyişdirilə bilər, buna görə də layihənin istehsalı daha ucuz ola bilər. Tövsiyə olunan hissələrdən istifadə edərək bu layihəni daha da yaxşılaşdırmaq sizin ixtiyarınızdadır. Bu layihədə istifadə olunan hissələr:

  1. Arduino uno rev3 (Digər Arduinodan da istifadə edə bilərsiniz)
  2. Çörək lövhəsi
  3. I2C ilə LCD 1602 yaşıl ekran (həmçinin I2C ilə ekran istifadə edə bilərsiniz, ancaq onu bağlamaq üçün daha çox sancağa ehtiyacınız olacaq)
  4. 16 düyməli klaviatura (dəyişdirilə bilər)
  5. FC-28-d Torpaq higrometrinin aşkar edilməsi modulu + torpaq nəm sensoru
  6. DHT22 temperatur və rütubət sensoru (Daha ucuz olan DHT11 istifadə edə bilərsiniz)
  7. Qırmızı LED diod
  8. Mavi LED diod
  9. 2 rezistor 220 ohm (diodlar üçün istifadə olunur)
  10. Şematik olaraq DHT22 üçün istifadə olunan 4k7 rezistor
  11. Arduino batareya konnektoru
  12. Bütün hissələri birləşdirmək üçün bir neçə keçid kabeli

Bu layihəni qurmağa başlamazdan əvvəl sizə söyləməyim lazım olan bir şey klaviaturanın lazımsız olmasıdır. Bu dəfə klaviatura istifadə etdim, çünki fırlanan kodlayıcım pozulmuşdu. Düşünürəm ki, daha az sancaqlar istifadə edəcəyi üçün fırlanan bir kodlayıcısı varsa və ya 3 düymədən istifadə edə bilsə bu layihə mükəmməl olardı.

Addım 2: Bütün hissələri bir -birinə bağlayın

Bütün hissələri bir -birinə bağlamaq
Bütün hissələri bir -birinə bağlamaq

Bu addımda fritzing ilə hazırladığım sxemə baxa bilərsiniz. Bu layihənin hər bir əsas hissəsini birləşdirmək üçün isti yazacağam.

Gördüyünüz kimi, çörək taxtasını gücləndirmək üçün arduinodan 5V və GND istifadə edirik.

LCD:

  • VCC -dən 5v -ə qədər (+ hissə çörək taxtasında)
  • GND to gnd (- çörək lövhəsində hissə)
  • SDA -dan analoq pin A4 -ə
  • A5 analog pininə SCL

16 düyməli klaviatura:

Klaviaturanı bağlamaq üçün 9, 8, 7, 6, 5, 4, 3, 2 sancaqlar istifadə edirik (bu, fırlanan kodlayıcıdan istifadə etməyimin səbəbidir, çünki lövhədə yalnız 3 sancaq lazım idi)

Torpaq Nəm Sensoru:

  • VCC -dən 5v -ə qədər (+ hissə çörək taxtasında)
  • GND to gnd (-çörək lövhəsində hissə)
  • D0 rəqəmsal pin 0
  • A0 - analog pin A0

DHT22:

  • VCC -dən 5v -ə qədər (+ hissə çörək taxtasında)
  • GND to gnd (-çörək lövhəsində hissə)
  • Çıxış pimi 12 pininə bağlıdır

Diod bağlantısı:

  • diodun bir hissəsi çörək taxtasının bir hissəsinə daxil olur
  • İkinci hissə 220 ohm müqavimətdən keçir və bundan sonra pin 10 -a (mavi diod) və ya 11 -ə (qırmızı diod) qoşulun.

Addım 3: Kod yazın

Kodu bir neçə hissədə izah etməyə çalışacağam. Tam bir kod yazılacaq, buna görə kopyalaya və hər hansı bir ehtiyac görsəniz dəyişdirə bilərsiniz. Həm də bu kodda sensor işi üçün bir neçə üsul yazılmışdır, lakin bu dəfə əsas diqqət Arduino ilə yeni tanış olanlar üçün başa düşülməsi asan olan menyu yaratmağa yönəldi. Bu dəfə heç bir fasilə istifadə etmirəm, amma növbəti layihələrimdə istifadə edəcəyəm, unutmayın ki, bu kod fasilələrlə daha yaxşı ola bilər.

  1. Kodun birinci hissəsi bu layihə üçün istifadə olunan bütün kitabxanaları əhatə edir. Unutmayın ki, istifadə etdiyimi dediyim bütün hissələr üçün növbəti kitabxanalara ehtiyacınız var: Tel, LiquidCrystal_I2C, Klaviatura və DHT. Eskiz hissəsinə və sonra kitabxanalara daxil olsanız, bütün kitabxanaları Arduino IDE -də tapa bilərsiniz. Həm də unutmayın ki, fırlanan kodlayıcı kimi bir şey istifadə edirsinizsə, ehtimal ki, klaviatura yerinə yeni kitabxanalar əldə etməli olacaqsınız, bu da yəqin ki, rotary.h və düymə olacaq. DHT11 sensorundan istifadə etsəniz, kitabxana hələ də DHT olaraq qalır.
  2. Kodun ikinci hissəsində bütün istifadə olunan hissələrin tərifi olacaq. Hər şeydən əvvəl LCD. Bundan sonra, dht tipli bir obyekt kimi təmsil olunan DHT sensoru və eyni zamanda bağlanan bir pin var. Torpaq nəm sensoru və diodlar üçüncüsüdür.
  3. Klaviaturanı bir az daha təsvir edəcəyəm. Dediyim kimi fırlanan kodlayıcım pozuldu, buna görə də istifadə etməyə qərar verdim. Bu layihə üçün yalnız dörd düymənin olması kifayətdir, hətta üçü də bunun üçün yaxşıdır. Beləliklə, yalnız bir seçim üçün klaviaturada dörd düymədən istifadə edirəm. Fikriniz varsa başqa bir şey istəsəniz bəzi düymələrdən istifadə edə bilərsiniz. Bu hissədə satır və sütun təyin etməlisiniz. Bundan sonra hexaKeys sizə bu layihə üçün istifadə olunan variantları təqdim edəcək. Layihəmdə B (geri), U (yuxarı), D (aşağı) və A (qəbul) var. Hər düyməni başqa bir şey etməyə məcbur edə bilərsiniz. Bir düymə arxa işığı yandıra bilər, biri söndürə bilər. Buna görə də bir az da onunla oynamaqdan çekinmeyin
  4. Bu hissədə kodda istifadə olunan qlobal dəyişənlər var. Bool dəyişənləri ekran dəyişdirmək üçün istifadə edir. Xoş gəldiyiniz dəyişən yalnız arduino yandırıldıqda bir neçə saniyə ərzində doğrudur, bundan sonra qalan müddət ərzində yalan olacaq. Əsas diqqət mainScreen dəyişəninə yönəlib. Bu dəyişən, sizi menyudan kodun digər seçiminə yönləndirmək üçün istifadə olunur. Bu dəyişən səhvdirsə, bu, istifadəçinin bu layihənin dörd variantından birini istifadə etmək qərarına gəldiyini bildirir.
  5. Bu kodda istifadə olunan bütün üsulların yazıldığı yer budur. Bu hissədə bütün yazılı üsulları izah etməyə çalışacağam
  • void startScreen (); // layihəyə və arduino -ya başlamaq üsulu
  • int choiceNumber (int seçimi); // bu, layihənin seçim seçiminizi dəyişir. Sayı 1 -dən 4 -ə qədərdir
  • void mainScreenP (int seçimi); // cihazın dörd variantı yazılacaq
  • bool mainScreenCS (bool mainScreen); // bu mainScreen -i yalana dəyişir
  • bool mainScreenBack (bool mainScreen); // bu mainScreen -i doğru olaraq dəyişir
  • boş tempCelsius (); // C DHT sensor seçimində oxu temperaturu
  • boş tempFarenheit (); // F DHT sensor seçimində oxu temperaturu
  • void printHumidity (); // rütubət DHT sensoru seçimi
  • etibarsız readSensorData (); // bağlı sensorlar haqqında məlumatların oxunması
  • GetTemperatureC () sətri;
  • GetTemperatureF () sətri;
  • String getHumidity ();
  • boş torpaqMəm (); // bu başqa bir sensor və diodlar üçündür
  • void printSensorSoilMoisture (); // torpağın nəm hissəsini lcd -də çap
  • void diodeLights (int dəyəri); // diodların açılması və söndürülməsi
  • void printValue (int dəyəri);

6. Arduino üçün quraşdırma, LCD və DHT sensoru və diodları qurduğunuz hissədir

7. Əsas hissə yuxarıdakı bütün yazılı metodların istifadə olunduğu hissədir.

Bu layihənin tam kodu bu addıma əlavə olunacaq. İğnelerin sxematik şəkildə olduğu kimi bağlanmaması ehtimalı olduğunu unutmayın, diodların dəyişdirildiyini düşünürəm.

Addım 4: Arduino istifadə edin

Arduino istifadə edin
Arduino istifadə edin
Arduino istifadə edin
Arduino istifadə edin
Arduino istifadə edin
Arduino istifadə edin
Arduino istifadə edin
Arduino istifadə edin

Bu bəlkə də ən gülməli hissəsidir. Yazılan bütün kodlaşdırmalardan sonra heç olmasa daha gülməlidir. Bu hissədə layihənin necə işlədiyinə dair şəkilləri görə bilərsiniz. 4 variant var.

  1. Selsi oxu temperaturu
  2. Fahrenheit -də oxu temperaturu
  3. Rütubət oxumaq
  4. Diodların açılması və torpaq nəm sensörünün dəyərlərinin oxunması.

Mümkün olan variantlardan birini seçə bilərsiniz, başqa bir şey görmək istəyirsinizsə geri qayıda və yenidən seçə bilərsiniz. Sadə və istifadəsi asandır.

Başqa bir sualınız varsa, məndən soruşa bilərsiniz. Layihəmə baxdığınız üçün təşəkkürlər. Hörmətlə. Sebastyan

Tövsiyə: