Mündəricat:

Postino: Poçtalyon bir şey çatdırdı ?: 6 addım (şəkillərlə)
Postino: Poçtalyon bir şey çatdırdı ?: 6 addım (şəkillərlə)

Video: Postino: Poçtalyon bir şey çatdırdı ?: 6 addım (şəkillərlə)

Video: Postino: Poçtalyon bir şey çatdırdı ?: 6 addım (şəkillərlə)
Video: Vintage Saat Restorasyonu: 1940 Optima Kol Saatinin Yeniden Canlandırılması 2024, Dekabr
Anonim
Postino: Poçtalyon bir şey çatdırdı?
Postino: Poçtalyon bir şey çatdırdı?

Mənim fikrim deyil: bir gün bir dostum poçt qutusuna hər hansı bir poçtun daxil olub olmadığını uzaqdan yoxlamaq üçün bir yol istədi. Poçt qutusu qapısına gedən yolda deyil, tənbəl bir uşaq olduğu üçün bir texnologiya cihazının poçt qutusuna daxil olan hər hansı bir məktubdan xəbərdar edə biləcəyini düşünürdü. Bazara baxdım və ehtiyaclarına uyğun heç bir hazır cihaz tapa bilmədim, buna görə özümə bir problem yaratdım: niyə dizayn edib tikməyim?

Məhdudiyyətlər belə idi:

  • batareya dəyişikliyi arasında ağlabatan bir ömrü olan;
  • WiFi rabitəsi;
  • gündə bir dəfə poçt olub olmadığını yoxlayın;

Əsas sual budur: hansı növ sensorlar mənim tələblərimə uyğun ola bilər? Yaxınlıq sensoru işləyə bilmədi, çünki yoxlama real vaxtda deyil, gündə bir dəfə edilməli idi; bir çəki sensoru da yoxdur, çünki bu, mürəkkəblik və həssaslıq problemləri əlavə edərdi (bir kağız vərəqi çox yüngül ola bilər). Seçimim Uçuş vaxtı (mikro lazer) sensoruna düşdü. Poçt qutusu ölçüsü üçün kalibr edildikdən sonra ortada yatan hər hansı bir şey sensoru işə salacaqdı! 3 məhdudiyyəti nəzərə alaraq ESP8266 (proqramı işlədən və WiFi ilə əlaqələndirən), ölçmə üçün VL6180 Uçuş Vaxtı sensoru və DS3231 Real Zaman Saatı ilə bütün sxemləri gündə bir dəfə işə salmaq qərarına gəldim. Postino dünyaya gəldi!

Addım 1: hissələr və komponentlər

  • ESP8266-01 (və ya ESP-12E NodeMCU)
  • VL6108 Uçuş vaxtı sensoru
  • DS3231 Real vaxt saatı
  • IRLZ44 N kanallı MosFET
  • BC547 Transistor
  • Rezistorlar
  • CR123 Batareya

Addım 2: Sensor

Sensor
Sensor

Sistemin ürəyi VL6180 sensordur. Bu, hədəfin əks olunmasından asılı olmayaraq mütləq məsafənin ölçülməsinə imkan verən əsas texnologiyadır. VL6180X, cisimdən əks olunan işığın miqdarını (rəng və səthdən əhəmiyyətli dərəcədə təsirlənir) ölçməklə məsafəni qiymətləndirmək əvəzinə, işığın ən yaxın obyektə gedib sensora əks olunması üçün lazım olan vaxtı dəqiq ölçür (Vaxt -Uçuş). İQ yayıcısı, diapazon sensoru və ətraf işıq sensörünü üçü bir arada istifadəyə hazır yenidən doldurula bilən paketdə birləşdirən VL6180X inteqrasiyası asandır və son məhsul istehsalçısını uzun və bahalı optik və mexaniki dizayn optimallaşdırmalarından xilas edir.

Modul aşağı gücdə işləmək üçün hazırlanmışdır. Göyərtəsində 2,7 V -dən 5,5 V -a qədər bir giriş gərginliyi aralığında işləməyə imkan verən gərginlik tənzimləyiciləri olan Pololu qırılma lövhəsindən istifadə etdim.

Sensor, fərqli həssaslıqları olan maksimum ölçü aralığını 20 ilə 60 sm arasında təyin edən 3 etibarlı miqyaslama faktoruna imkan verir. Bir sıra ölçeklendirici faktoru konfiqurasiya edərək, sensorun potensial maksimum diapazonu daha aşağı qətnamə hesabına artırıla bilər. Ölçmə faktorunu 2 -yə təyin etmək, 2 mm qətnamə ilə 40 sm -ə qədər aralığa, 3 -lük ölçmə faktoru isə 3 mm -lik qətnamə ilə 60 sm -ə qədər aralığa malikdir. Poçt qutunuzun ölçüləri ilə 3 tərəzi sınamalısınız. Mənimki 25 sm (H) olduğu üçün miqyas faktoru = 1 istifadə etdim.

Addım 3: Real vaxt saatının fərdiləşdirilməsi

RTC üçün bir EEPROM (məqsədim üçün yararsızdır) və bir sikkə ölçüsündə bir batareya olan bir DS3231 qırılma lövhəsindən istifadə etdim. RTC -ni əsas cihaz batareyası (3v CR123) ilə gücləndirmək qərarına gəldikdə, sikkə batareyasını çıxardım; enerjiyə qənaət etmək üçün EEPROM -u (sancaqlarını diqqətlə kəsərək) və təyyarədəki ledini də sildim.

Sikkə batareyası mənim üçün faydalı olmadı, çünki real vaxt tarixi/saat/dəqiqə/saniyə saxlamağa ehtiyacım yox idi, ancaq RTC yalnız 24 saat saymalı və sonra cihazı işə salmaq üçün həyəcanı işə salmalı idi.

Addım 4: Gəmidə Digər Müxtəlif

Gəmidə Digər Müxtəlif
Gəmidə Digər Müxtəlif
Gəmidə Digər Müxtəlif
Gəmidə Digər Müxtəlif

Cihazın açılması RTC siqnalının işə salındığı bir tranzistor və MosFET dövrəsi ilə həyata keçirilir. Siqnal yenidən qurulduqdan sonra, dövrə cihazın gücünü başqa 24 saatlıq dövrədə kəsir. Siqnal əldə edildikdə, DS3231 bir pimi yüksəkdən aşağıya dəyişir: normal şəraitdə tranzistor doymuşdur və MosFET qapısını yerə bağlayır. Siqnal tranzistorun bazasını yerə qoyduqdan sonra açılır və MosFET -in dövrəni bağlamasına və qalan komponentlərə güc verməsinə imkan verir.

Əlavə olaraq, "test-1M" tullanan əlavə etdim. Bu keçidin məqsədi - aktivləşdirildikdə - yerləşdirmə testlərini yerinə yetirmək üçün dövrəni gündə bir dəfə dəqiqədən bir dəfə dəyişdirməkdir. Aralığı bir gündən bir dəqiqəyə dəyişmək üçün əvvəlcə "Test-C" tullananını təxminən 15 saniyə bağlamalı, saat zəngli saatın aktivləşmə müddətini keçməli və cihazı işə salmalısınız. Testlər edildikdə, atlayıcıları açın və cihazı sıfırlayın (dövr gücü).

Addım 5: Şematik

Sxematik
Sxematik

Addım 6: Proqram və Məntiq

Testlər zamanı (praktiki səbəblərdən) bir NodeMCU nəzarətçisindən istifadə etdim, buna görə də proqram, CHIP variale -ni "NodeMCU" və ya "esp8266" olaraq təyin etməklə bu işin öhdəsindən gəlir.

Eskiz, cihazın ilk iş zamanı etibarlı bir WiFi AP -yə qoşulmasına imkan vermək üçün WiFiManager kitabxanasını tətbiq edir. Belə bir vəziyyətdə cihaz AP rejiminə keçir və ona qoşulmaq və qoşulmaq üçün düzgün WiFi şəbəkəsini seçmək imkanı verir. Bundan sonra, şəbəkə konfiqurasiyası sonrakı dövrlər üçün EPROM -da saxlanılır.

REST_MSG dəyişənində, sensor poçt qutusunda bir obyekt tapanda göndəriləcək http mesajı var. Mənim vəziyyətimdə, domestik bir REST serverinə bir mesaj göndərir, ancaq istədiyiniz kimi dəyişə bilərsiniz: Telegram BOT mesajı, IFTTT WebHook hadisəsi və s.

Eskizin qalan hissəsi hamısı setup () funksiyasındadır, çünki döngəyə heç vaxt çatılmır. Bir neçə kitabxana üçün lazım olan konfiqurasiyalardan sonra, proqram saatı 00:00:01 və həyəcanı gündə bir dəfə (və ya "test-1M" tullanan işə salındıqda dəqiqədə bir dəfə) təyin edir. Sonra ölçü götürür, bildiriş göndərir (poçt qutusunda hər hansı bir obyekt tapılarsa) və siqnal sancağını sıfırlayaraq cihazı söndürür. Dövrün sonunda yalnız RTC 24 saat ərzində sayılır. Test-1M atlayıcısı, GPIO-3 olaraq istifadə olunan ESP8266-nın RX pininə qoşulur: setMode (PIN, FUNCTION_3). Buna görə ESP8266 işləyərkən Serial monitordan istifadə edə bilməzsiniz: "eskizdəki bütün seriyalı çaplara icazə verən" #define DEBUG "xətti yalnız bir ESP8266 yerinə NodeMCU quraşdırıldıqda istifadə olunur.

ESP8266, Wire kitabxanasında işə salınmış GPIO-0 və GPIO-2 pinləri vasitəsilə RTC və sensor ilə I2C əlaqəsini idarə edir.

Tam kodu bu linkdən yükləyə bilərsiniz.

Köməkçi Texniki Müsabiqə
Köməkçi Texniki Müsabiqə
Köməkçi Texniki Müsabiqə
Köməkçi Texniki Müsabiqə

Köməkçi Texniki Müsabiqədə 2 -ci yeri tutdu

Tövsiyə: