Mündəricat:

Arduino Offline Hava İstasyonu: 18 addım (şəkillərlə)
Arduino Offline Hava İstasyonu: 18 addım (şəkillərlə)

Video: Arduino Offline Hava İstasyonu: 18 addım (şəkillərlə)

Video: Arduino Offline Hava İstasyonu: 18 addım (şəkillərlə)
Video: Arduino Hava Kalitesi Ölçüm Projesi | MQ-135 Sensörü Kullanımı | (Kod+Şema) 2024, Iyul
Anonim
Offline Hava İstasyonu Arduino
Offline Hava İstasyonu Arduino
Offline Hava İstasyonu Arduino
Offline Hava İstasyonu Arduino
Offline Hava İstasyonu Arduino
Offline Hava İstasyonu Arduino
Offline Hava İstasyonu Arduino
Offline Hava İstasyonu Arduino

Xülasə

Bir neçə dəfə termometr alanda gördüm ki, dəyərlərdə demək olar ki, həmişə fərq var. Mənim vəzifəm körpənin otağının içərisindəki temperatur və rütubətə riayət etmək idi. Həm də ən çox termometrdə 2-3 metr aralığında olan dəyərlərin oxunması problemi var idi və istiliyin dəyərini görmək üçün ayağa qalxmağım lazım idi, ən çox termometrdə olan problem işıq idi. Digər problem, enerjiyə qənaət etmək üçün arxa işığı olmadığı üçün temperaturun dəyərini görə bilmədim. Enerjiyə qənaət etmək istəmirəm, əgər əsas enerji xətti bağlanarsa bu cihazın işləməsi üçün sadəcə bir neçə saatlıq enerji yığımına ehtiyacım var.

Beləliklə bir fikirlə gəldim:

- İstilik dəyərini dəyişdirmək üçün bir termometr yaratmaq.

- Arxa işıq və rənglərlə ola bilər.

Beləliklə, layihəyə 1 ildən əvvəl başladım. Proqram hissəsinin tamamlanması bir neçə ay çəkdi. Proqramın bir neçə versiyasını yaratdım və son 2 həftə ərzində layihəni tamamladım.

Cihaz proqram məlumatları

Arduino kodu və kitabxanalar:

Kod da Kod addımına yüklənir.

https://github.com/stlevkov/KT2_144

https://github.com/stlevkov/Arduino-Libraries

Cihaz Xüsusiyyətləri

  • Önyükləmə Səhifəsi - son firmware yükləməsinin Tarixi və Saatını göstərir.
  • Ana Səhifə - qoşulduqda Saat, Tarix, Batareya Nişanı, Temperatur Nişanı, Temperatur Dəyəri, Rütubət Dəyəri, Tmax, Tmin, Mövsümlər, Bayramlar, USB Göstəricisini göstərir.
  • Menyu Səhifəsi - Temp, Clock, Battery, About, Back menyuları ilə
  • Temp Səhifəsi - DHT Sensorunu kalibr etməyə imkan verir
  • Saat Səhifəsi - Saat və Tarixi redaktə etməyə imkan verir
  • Batareya Səhifəsi - Batareya məlumatlarını, % faizini, mV gərginliyini, Şarj vəziyyətini göstərir
  • Səhifə haqqında - müəllif üçün məlumat göstərilir
  • Menyudan çıxmaq üçün geri funksiyası
  • Şəffaf panellər
  • RTC uzun ömür
  • Lityum batareya - ~ 9 saata qədər (450mAh)
  • Aşağı Batareya göstəricisi - işarəni qırmızı rəngdə göstərir ~ qalan 5 dəq.
  • Fərqli rənglər - Aşağı, Orta, Yüksək temperatur
  • Bayram və Mövsüm mesajları
  • Proqramlaşdırıla bilən yuva - arxa tərəfdə
  • İstifadəçi İnterfeysi - Rotary Encoder istifadə olunur

Lövhənin arxa tərəfi örtülməyəcək, çünki körpə tərəfindən lövhəni görmək və ona toxunmaq istəyirəm, cihaz açılmır. Lövhənin arxa tərəfi üçün bir növ örtük yarada bilərsiniz.

Addım 1: Cihazı eskiz edin, Başlanğıc Fikrini çəkin

Cihazı eskiz edin, Başlanğıc Fikrini çəkin
Cihazı eskiz edin, Başlanğıc Fikrini çəkin
Cihazı eskiz edin, Başlanğıc Fikrini çəkin
Cihazı eskiz edin, Başlanğıc Fikrini çəkin
Cihazı eskiz edin, Başlanğıc Fikrini çəkin
Cihazı eskiz edin, Başlanğıc Fikrini çəkin

Nə olacağınıza qərar verin - neçə səhifə, menyu, menyuları və səhifələri necə dəyişdirəcəyinizə.

Başqa fikirləriniz varsa, arduino kodu ilə dəyişə bilərsiniz.

Hansı forma istədiyinizə və nəyin asan edilə biləcəyinə qərar verin. Əvvəlcə 3D çapı seçirəm, amma bundan sonra sadə materialdan istifadə etməyə qərar verdim.

Fikir yuxarıda və aşağıda şəffaf divarlara sahib olmaqdır, həm də daha gözəl bir qutu yarada bilərsiniz.

Beləliklə, qutunun əsas hissələri:

  1. Ön - Ekran və Rotary Encoder ilə
  2. Sağda - RTC modulu ilə
  3. Sol - DHT Modulu ilə
  4. Arxa - lövhənin əks tərəfi ilə
  5. Üst - 3.7V Batareya və ON/OFF sürüşmə açarı ilə şəffafdır
  6. Alt - Şəffaf

Addım 2: Doğru komponentləri seçin

  1. TP4056 Mikro USB Şarj Cihazı 5V 1A 18650 Lityum Batareya Şarj Kartı - Ebay
  2. 1.44 "128x128 SPI Tam Rəngli 65K TFT LCD Ekran Modulu ST7735 - Ebay
  3. Arduino üçün KY -040 Rotary Encoder Modulu - Ebay
  4. DHT22 AM2302 Rəqəmsal Temperatur və Nəmlik Sensoru - Ebay
  5. Kiçik RTC I2C Modulları 24C32 Yaddaş DS1307 Real Zaman Saatı RTC Modul Kartı - Ebay
  6. Pro Micro Controller Board ATmega328P 16MHz Arduino Pro Mini Modulu - Ebay
  7. 3.7V 450mAh Lipo Batareya - Ebay
  8. 6 Pins 2 Vəzifə DPDT On/On Mini Slayd Açarında - Ebay
  9. CR2032 CR 2032 3V Düyməli Hüceyrəli Sikkə Batareyası - Ebay

  10. 10x22cm Lehim Prototipi Mis PCB Kartı Tək tərəfli Universal - Ebay
  11. Kişi və Qadın 40pin 2.54mm Başlıq Soketi Tək Sıralı Şerit - Ebay

Addım 3: Kabel Şeması hazırlayın

Kabel diaqramını hazırlayın
Kabel diaqramını hazırlayın

Diaqram oxşar sensorların əlaqəsini göstərir, amma ekran demək olar ki, eynidir.

Düzgün pin istifadəsi üçün Kod addımındakı Arduino koduna baxın.

Pinout haqqında daha ətraflı məlumat üçün fritzing faylını yükləyin. Modulların dəqiq sancaqlarını görmək üçün diaqramdakı nöqtələri sürüşdürün.

Addım 4: Başlamadan əvvəl Əlavə Məlumat - Güc istehlakı

Başlamazdan əvvəl əlavə məlumat - enerji istehlakı
Başlamazdan əvvəl əlavə məlumat - enerji istehlakı

Layihə 450 mAh batareya istifadə edir, ancaq daha çox istifadə edə bilərsiniz. Xüsusi saatlar üçün doğru batareyanı seçmək və hesablamaq üçün enerji istehlakına bir göz atın. 450 mAh istifadə edərkən cihaz təxminən işləyə bilər. 9 saat.

Boş vəziyyətdə cihaz təxminən 0.102A ilə işləyir - Burada enerji qənaət optimallaşdırması aparılmır

Düymə basıldıqda yüksək cərəyan tətbiq olunur və 0.177A civarındadır.

Addım 5: Ekranı bağlayın

Ekranı qoşun
Ekranı qoşun
Ekranı qoşun
Ekranı qoşun

Ekranda əlaqə üçün SPI istifadə olunur.

Bu sürücü ST7735 üçün adafruit kitabxanası var.

Addım 6: RTC Modulunu qoşun

RTC Modulunu qoşun
RTC Modulunu qoşun

CR2032 Batareyasından istifadə etmək üçün PCB Modifikasiyası yaradın.

  • D1 çıxarın
  • R4 çıxarın
  • R5 çıxarın
  • R6 çıxarın
  • Qısa R6

Bu dəyişiklik haqqında daha çox məlumatı burada tapa bilərsiniz.

Addım 7: Ekran, RTC, Batareya, Rotary Encoder ilə Ön Divarı yapışdırın

Ön Divarı Ekran, RTC, Batareya, Rotary Encoder ilə bağlayın
Ön Divarı Ekran, RTC, Batareya, Rotary Encoder ilə bağlayın
Ön Divarı Ekran, RTC, Batareya, Rotary Encoder ilə bağlayın
Ön Divarı Ekran, RTC, Batareya, Rotary Encoder ilə bağlayın
Ön Divarı Ekran, RTC, Batareya, Rotary Encoder ilə bağlayın
Ön Divarı Ekran, RTC, Batareya, Rotary Encoder ilə bağlayın

Cihazı yükləmək istəyirsinizsə, Kod addımından kodu yükləyin və yeni hissələri dəyişdirərkən və əlavə edərkən digər addımları izləyin.

Addım 8: Şəffaf Divarlar Hazırlayın

Şəffaf Divarlar hazırlayın
Şəffaf Divarlar hazırlayın

3 mm pleksi istifadə edirəm. Bənzər bir şəffaf materialdan istifadə edə bilərsiniz. Alt tərəf üçün yalnız birini istifadə edirəm.

Addım 9: Sağ Divar yaradın

Sağ Divar Yarat
Sağ Divar Yarat
Sağ Divar Yarat
Sağ Divar Yarat

Sağ tərəfdəki divarı düzəldin. Delik üçün CR2032 ölçüsündən istifadə edin.

Addım 10: Sol Yan Divar yaradın

Sol Yan Divar Yarat
Sol Yan Divar Yarat
Sol Yan Divar Yarat
Sol Yan Divar Yarat
Sol Yan Divar Yarat
Sol Yan Divar Yarat

Sol tərəfdəki divarı düzəldin. Delik üçün DHT Modulunun ölçüsündən istifadə edin.

Addım 11: Universal Lövhə və Rails ilə Soket yaradın, RTC, Encoder, Display və Display qoşun

Universal Lövhə və Rails ilə Soketi yaradın, RTC, Encoder, Display və Display bağlayın
Universal Lövhə və Rails ilə Soketi yaradın, RTC, Encoder, Display və Display bağlayın
Universal Lövhə və Rails ilə Soketi yaradın, RTC, Encoder, Display və Display bağlayın
Universal Lövhə və Rails ilə Soketi yaradın, RTC, Encoder, Display və Display bağlayın
Universal Lövhə və Rails ilə Soketi yaradın, RTC, Encoder, Display və Display bağlayın
Universal Lövhə və Rails ilə Soketi yaradın, RTC, Encoder, Display və Display bağlayın

Tel sxeminə uyğun olaraq bütün sancaqları bağlayın və lehimləyin. Arduino Mini proqramlaşdırmaq üçün boş eskiz quraşdırılmış Arduino UNO -dan istifadə edə bilərsiniz. Lazım olan sancaqlar:

  • VCC 5V
  • GND
  • RX
  • TX
  • SIFIRLAYIN

Eskizini hissələrlə tamamlamadan əvvəl yükləsəniz, bu addımlarda 3.7V batareyasını çıxarmağı unutmayın.

Addım 12: Davam etmədən əvvəl onu yandırın

Image
Image

Bu nöqtədə cihazı işə sala və bütün funksiyalardan istifadə edə biləcəksiniz.

1.1 versiyasındakı proqramın nə olduğunu görmək üçün Video önizləməsindən istifadə edin. Ən son yeniləməni görmək üçün xülasə addımında github bağlantısı da var.

Üst qapağı bağlamadan əvvəl digər addımlara davam etmədən əvvəl cihazı açın, normal işlədiyinə əmin olun.

Addım 13: TP4056 və Batareyanı əlavə edin, Sürüşdürmə düyməsini lehimləyin, Pin 5 -ə Şarj Teli əlavə edin, Arxa Proqramlaşdırıla bilən Soketi Lehimləyin

TP4056 və Batareyanı əlavə edin, Sürüşmə Şalterini Lehimləyin, Pin 5 -ə Şarj Teli əlavə edin, Arxa Proqramlaşdırıla bilən Soketi Lehimləyin
TP4056 və Batareyanı əlavə edin, Sürüşmə Şalterini Lehimləyin, Pin 5 -ə Şarj Teli əlavə edin, Arxa Proqramlaşdırıla bilən Soketi Lehimləyin
TP4056 və Batareyanı əlavə edin, Sürüşmə keçidini lehimləyin, Pin 5 -ə Şarj Teli əlavə edin, Arxa Proqramlaşdırıla bilən Soketə Lehimləyin
TP4056 və Batareyanı əlavə edin, Sürüşmə keçidini lehimləyin, Pin 5 -ə Şarj Teli əlavə edin, Arxa Proqramlaşdırıla bilən Soketə Lehimləyin
TP4056 və Batareyanı əlavə edin, Sürüşmə keçidini lehimləyin, Pin 5 -ə Şarj Teli əlavə edin, Arxa Proqramlaşdırıla bilən Soketə Lehimləyin
TP4056 və Batareyanı əlavə edin, Sürüşmə keçidini lehimləyin, Pin 5 -ə Şarj Teli əlavə edin, Arxa Proqramlaşdırıla bilən Soketə Lehimləyin

Hər bir lehimdən sonra sistemi sınayın, davam etməzdən əvvəl hissələrin yaxşı işlədiyinə əmin olun.

Addım 14: Üst Qapağı yaradın

Üst Qapağı yaradın
Üst Qapağı yaradın
Üst Qapağı yaradın
Üst Qapağı yaradın
Üst Qapağı yaradın
Üst Qapağı yaradın

Güc bankı qutusundan 0,5 mm pleksi təbəqə istifadə edirəm.

Addım 15: Kod

Tercihlərinizi təyin etmək üçün init bölməsindəki parametrlərdən istifadə edin.

Tətil üçün bolqar dilindən istifadə edirəm. Ölkənizdəki tətillərdən istifadə edərək serialı düzəldə bilərsiniz.

Cihaz 4 mövsümü göstərir, onları yerləşdiyiniz yerə uyğun kodda düzəldin.

Sensorlarınız fərqlidirsə, sancaqlar təriflərini izləyin və kodda düzəldin. Kodu daha yaxşı başa düşmək üçün demək olar ki, bütün sətirləri şərhlərdə buraxmışam.

Test edilmiş platformalar:

  • Arduino UNO
  • Arduino Pro Mini

Ehtiyac duyduğunuz kitabxanaları depodan götürün, eskizdə təyin olunanlardan istifadə edin.

Addım 16: Son Toxunuşlardan əvvəl Cihazı Test Edin

Cihazı son toxunuşlardan əvvəl sınayın
Cihazı son toxunuşlardan əvvəl sınayın
Cihazı son toxunuşlardan əvvəl sınayın
Cihazı son toxunuşlardan əvvəl sınayın
Cihazı son toxunuşlardan əvvəl sınayın
Cihazı son toxunuşlardan əvvəl sınayın

Cihaz mükəmməldir, mənimki -4*C kalibrlidir, onu kalibr etmək üçün Toshiba kondisionerimi, 2 sadə divarlı termometrini və iki rəqəmsal termometrini istifadə etdim. Sensorunuz fərqli dəyərləri ölçürsə, indi onu dəyişə bilərsiniz.

Addım 17: Arayüz Önizləməsi

İnterfeys Önizləmə
İnterfeys Önizləmə
İnterfeys Önizləmə
İnterfeys Önizləmə
İnterfeys Önizləmə
İnterfeys Önizləmə

Etimadnamənizi göstərmək üçün kodun başlanğıc hissəsindəki Firmware məlumatlarını redaktə etməyi və ya olduğu kimi buraxmağı unutmayın.

Tövsiyə: