Mündəricat:

Tweerstationneke A.k.a. Holland Hava İstasyonu: 4 addım
Tweerstationneke A.k.a. Holland Hava İstasyonu: 4 addım

Video: Tweerstationneke A.k.a. Holland Hava İstasyonu: 4 addım

Video: Tweerstationneke A.k.a. Holland Hava İstasyonu: 4 addım
Video: Консультант от бога Tg: cadrolikk 2024, Iyul
Anonim
Tweerstationneke A.k.a. Hollandiya Hava İstasyonu
Tweerstationneke A.k.a. Hollandiya Hava İstasyonu

Atam həmişə ən son xəbərlər və ən son hava məlumatları ilə maraqlanır. 76 yaşına çatanda məni mükəmməl bir doğum günü hədiyyəsinə gətirdi: Cüzi bir şey söyləməyən kiçik bir hava stansiyası, bütün günü sakitcə bir küncdə oturur və son proqnozların xülasəsini verir.

İki Holland veb saytı ətrafında hazırlanmışdır. Yəqin ki, bu mövzunun komik yerli başlığında görə bilərsiniz! Biri hər 10 dəqiqədə bir şəhər başına yerli proqnozu json formatında verir. Digəri, hər zaman bilmək lazım olan düz mətn formatında, önümüzdəki iki saat üçün yağış proqnozunu verir. Əminəm ki, Hollandiyada yaşamırsınızsa, bu mövzunu hər hansı digər xidmətə asanlıqla uyğunlaşdıra bilərsiniz.

Təchizat

  • Bir ESP8266 lövhəsi; Wemos D1 mini istifadə etməyi təklif edin
  • 128*160 nöqtəli 1.8 düymlük TFT ekran; 16 bit rəng
  • Bir neçə kabel
  • Proqram olduğu kimi və ya özünüz yaratmaq üçün başlamaq
  • Hamısını bir araya gətirmək üçün gözəl bir qutu. Standartdan istifadə edin və ya əlavə edilmiş dizaynla özünüzü çap edin

Addım 1: Prototip hazırlayın

Prototip hazırlayın
Prototip hazırlayın

Bağlayıcı ekran və nəzarətçi

Kiçik bir düz kabeldən istifadə edin və lövhəni və TFT ekranını birlikdə lehimləyin. Parçaları düzgün bağlamaq üçün siyahıdan istifadə edin

TFT EKRAN ------------------ WEMOS

LED ------------------------------- D8 SCK ---------------- --------------- D5SDA ------------------------------- D7A0- -------------------------------- D3RESET ----------------- ----------- D2CS ---------------------------------- D4GND --- ---------------------------- GNDVCC --------------------- ---------- 3V3

Alternativ olaraq, LED -i D8 pin yerinə 3v3 -ə qoya bilərsiniz. Gecə saat 23: 00 -da yatmaq və yenidən saat 07: 00 -da yenidən oyanmaq üçün D8 pinindən istifadə etdim. Bu vaxtdan sonra hava bülletenini oxuduğu ilk an təsirli olacaq, çünki saatı yoxlamaq üçün başlığı oxuyur. Bu cihazda real vaxt saatı yoxdur.

Bütün bunlar işləyirsə, usb kabelinizi Wemos -a qoşun və proqramı yükləyin. Hər şey kömək edərsə, qutu qurmağa başlaya bilərsiniz.

Addım 2: Proqram Dizaynı

Proqram Dizaynı
Proqram Dizaynı

Bu hava cihazı haqqında fikirlərim harada

  • Başqa bir wifi mühitinə asanlıqla uyğunlaşır
  • Hava proqnozunu və yağış proqnozunu göstərin
  • Düymələr yoxdur
  • Səs -küy yoxdur, sadə səs -küy yoxdur

Bunu nəzərə alaraq məlum bir Wifi şəbəkəsini kəşf edə bilməyəndə WifiManager kodu ilə başlayan bir proqram yaratdım. Öz şəbəkəsini yaradır və adını ekranda göstərir. Bu, Wifi parametrlərini öz ev şəbəkənizə təyin etmək şansı verir.

Bu quruluşdan sonra hər 20 saniyədə bir hava proqnozunu və yağış yağıntılarını növbə ilə göstərir. Nədənsə növbəti proqnozu oxumaq mümkün deyilsə, ekranın sağ tərəfində kiçik bir səhv nömrəsi görünəcək; və əvvəlki şəkil göstəriləcək. Növbəti işdə məlumatı əldə etmək üçün yeni bir cəhd edilir.

Hava məlumatları saytdan json üslubunda bir mesajla alınır. İçindəki məlumatlar çevrilir və qlobal dəyişənlərdə saxlanılır. Bu şəkildə, məlumatın göstərilməsini əldə etməyi ayıra bilərik. 10 dəqiqədə bir dəfə havanı daha sürətli almaq üçün heç bir səbəb yoxdur.

Yağış çöküntüsünü əldə etmək daha da asandır. Yağış miqdarı 0..255 olaraq gözlənilən düz mətn formatında təqdim olunur; şaquli çubuq; hər sətirdə bir vaxt. Növbəti 2 saat ərzində hər 5 dəqiqədə bir. Yağış dəyəri, kiçik dəyərlərin fərqi daha böyük dəyərlər kimi göstərmək üçün daha çox yer verdiyi ağıllı bir şəkildə verilir. İstifadə olunan düstur aşağıdakı kimidir:

mmhour = yuvarlaq (pow (10, (yağış dəyəri - 109) / 32) * 10) / 10;

Diqqət yetirin ki, "10 -u 10 -a bölün" nöqtənin arxasında 1 ondalık olduğundan əmin olmaq üçün hiylədir. Qarşıdakı 2 saatda gözlənilən maksimum yağış miqdarına görə qrafik üçün 3 tərəzi istifadə olunur;

  1. Maksimum 5 mm/saat gözlənilir
  2. Maksimum 20 mm/saat gözlənilir
  3. Maksimum proqnozdakı ən yüksək dəyərdən götürülür

Burada Hollandiyada bütün zamanların ən yüksək dəyəri 80 mm/saat civarındadır; buna görə də bu miqyas mükəmməl olacaq. Başqa ölkələr üçün bunu dəyişdirmək daha doğru olar.

Addım 3: Proqram Kodu

Proqram kodu
Proqram kodu

Redaktor parametrləri

Bu hava cihazı üçün proqram Arduino proqramlaşdırma mühitində yaradılmışdır. Rahatlığınız üçün burada əlavə olaraq tapa bilərsiniz. Olduğu kimi istifadə edin; və ya ehtiyaclarınıza uyğun olaraq dəyişdirin. TFT ekranında göstərilə bilən bütün mətnlər proqramın üstündə TƏSRİF olunur; yəni istəsən onu asanlıqla öz dilinə dəyişə bilərsən. Wemos D1 mini istifadə etdim, amma oxşar lövhələr də işləyəcək.

Arduino mühitində aşağıdakı parametrlərdən istifadə etdim;

  • Lövhə: LOLIN (WEMOS) D1 RA & Mini
  • Yükləmə Sürəti: 115200
  • CPU tezliyi: 80 MHz
  • Flash Ölçüsü: 4M (SPIFFS yoxdur) V2 Aşağı Yaddaş Əlil

Proqram sayğacları loopu () daha asan və daha oxunaqlı etmək üçün istifadə olunur. Məlumatın göstərilməsi məlumatın yüklənməsindən ayrıdır. Bu şəkildə bütün proqramı dəyişdirmədən digər ekran ölçülərini və s. İstifadə edə bilərik.

. İno faylını istifadə edin və arduino redaktoruna yükləyin. Lövhənizi redaktorda qurun. Lazım olan C tipli PROGMEM seriallarının proqrama daxil olmasını təmin edən başlıq faylını əlavə edin.

SD kart

Qeyd edək ki, mövcud 1.8 düymlük displeylərin çoxunda ekranın arxasında SD kart yuvası var. Bu, böyük şəkilləri kartda saxlamağa kömək edən gözəl bir xüsusiyyətdir. Mikro nəzarətçilərin çoxunun yaddaşında çox yer yoxdur ki, bu da kömək edir.

SD kartı ekranla işlətmək üçün çox vaxt sərf etsəm də, işlək vəziyyətə düşə bilmədim. Ekrandan istifadə edə bilərdim; SD kartdan bir fayl uğurla alın, amma bundan sonra artıq TFT ekranına çata bilmədim. Kitabxanaların dəyişdirilməsi, kitabxanaların sırasının dəyişdirilməsi və digər imkanları istisna etmək üçün proqramı ən kiçik orqana "soyunmaq" mənə kömək etmədi.

Məyusluğumu artırmaq üçün; İnternetdə oxşar işlər görən, müsbət nəticə verən insanların nümunələri çoxdur, hmmm. TFT ekranımda bir hardware problemi ola bilərmi? Yoxsa ağlıma gəlməyən bir şey? Növbəti cəhd üçün hər hansı bir təklif açıqdır. Bir neçə axşam sərf etdikdən sonra; Bu yoldan ayrılmaq qərarına gəldim. Şəkillər yalnız 50x50 piksel olduğundan (16 bit rəngdə hər biri 5000 bayta çatır) ESP bunu PROGMEM -də asanlıqla saxlaya bilir. Yəni istifadə etdiyim hiylə budur.

Bu seçim daha bir problemlə nəticələndi. Məndə olan BMP şəklini oxunaqlı bir formata necə almaq olar. Bir az araşdırdıqdan sonra bu tapmacanı əvvəllər həll edən Henning Karlsen -dən sayt tapdım.-p.webp

Addım 4: Qutu yaradın

Qutu yaradın
Qutu yaradın
Qutu yaradın
Qutu yaradın
Qutu yaradın
Qutu yaradın

Bu ehtiyacım olan ilk qutu deyil. Təchizatçılardan bir çox standart qutu almaq olar. Kiçik bir mişar, bıçaq, qazma və s. İstifadə edərək qutuda ekran üçün bir çuxur yaratmaq asandır. Ancaq heç vaxt dəqiq bir dikdörtgen düzəltməyi bacarmadım. Yəqin ki, kifayət qədər bacarıq və/və ya səbr yoxdur;-)

Çözüm: Şanslı idim. Texniki əşyalarla işləmək mövzusunda supermenə bənzəyən bir kollecim var. Bura 3D dizayn və çap da daxildir. Buna görə də boş vaxtının çoxunu TFT ekranını və mikro nəzarətçini ölçmək və ətrafında bir qutu yaratmaq qərarına gəldi. Hər şey gözəl uyğun gəlir, şəkillərə baxın. Hətta ekran üçün bağlayıcılar, USB konnektoru üçün bir çuxur və mikro nəzarətçini düzəltmək üçün bir yer var.

Bu super iş üçün Arcan'a təşəkkür edirəm !!! Daha da yaxşısı, hər kəsin işinə giriş verməsi üçün çox mehriban idi, buna görə də sənədlərini linkdən yükləyib öz 3D printeriniz üçün istifadə etsəniz, məzmunlu eyni qutu yarada bilərsiniz.

Tövsiyə: