Mündəricat:

Zibil sistemi: 7 addım
Zibil sistemi: 7 addım

Video: Zibil sistemi: 7 addım

Video: Zibil sistemi: 7 addım
Video: Özgüvəni artırmaq üçün 7 addım - Uşaq psixologiyası 2024, Noyabr
Anonim
Zibil sistemi
Zibil sistemi

Bir məhəllənin zibil doldurulmasını və ya ətrafdakı hər zibildəki bir sensoru izləmək üçün bir yol tapmağa çalışdıq ki, zibil atılmasını daha səmərəli edək. Düşünürdük ki, hər iki həftədə bir yük maşını toplama üçün gəlirsə, ya mənim, ya da qonşumun bir az da çölə atılması ilə nəticələnsə. Məhəllənin yarısının tam zibil qutuları göndərmədiyi bir yük maşını göndərmək səmərəsiz olmazmı? Qonşumuzun zibilinin mənimlə dolduğu halda, zibilinin boş olacağını və əksinə zibilini doldurduğunu görmək mümkün olsaydı çox yaxşı olardı. Bu layihəni həll etmək üçün ultrasəs sensoru HC-SR04 və moruq pi ilə birlikdə istifadə etməyə qərar verdik.

Təchizat

Ultrasonik sensor (HC-SR04)

Raspberry Pi (Pi 4 Model B istifadə etdik)

Çörək lövhəsi

Keçid kabelləri

Bir neçə rezistor (3 x 1k ohm)

Addım 1: HC-SR04-ə qoşulma

HC-SR04 qoşulur
HC-SR04 qoşulur

Raspberry Pi istifadə etdiyimiz üçün Pi -nin GPIO sancaqlarına daxil olan gərginliyi tənzimləmək üçün yalnız 3.3v -ə icazə verdiyi üçün bir gərginlik bölücü istifadə etməliyik. HC-SR04 5V istifadə edir, ancaq Pi-yə bağlayarkən 3.3V-ə endirilməlidir. Müvafiq olaraq 5V və torpaq pinlərini bağlayın və proqramınıza uyğun olaraq hörmətli sancaqlara yankı və tetik pinlərini bağlayın. Proqramımızda sırasıyla echo və trigger üçün 23 və 24 pin istifadə etdik.

Addım 2: Mosquitto və Paho MQTT

Ultrasonik sensorun Pi ilə işləməsini təmin etmək üçün Python-da proqramlaşdırmağa başlamazdan əvvəl, Node-RED proqramlaşdırma proqramımızla ultrasəs sensorunun əlaqə qurması üçün bu tətbiqləri quraşdırmalıyıq. Mosquitto, Pi -də istifadə edə biləcəyiniz bir MQTT brokeridir, Paho MQTT isə MQTT brokeri ilə əlaqə qurmaq üçün Pythonda kod yazmağa imkan verən kitabxanadır. Bunların hər ikisini qurmaq üçün bu əmrləri Pi terminalınıza yazardınız

sudo apt yeniləmə

sudo apt install -y mosquitto mosquitto -müştərilər

sudo apt-get python3-pip quraşdırın

sudo pip3 paho-mqtt quraşdırın

Addım 3: Ultrasonik Sensor üçün Python Proqramı

Sensordan gələn məlumatları oxumaq və eyni zamanda MQTT brokerində yayımlamaq üçün istifadə etdiyim proqramdır.

Addım 4: Node-QIRMIZI

Qırmızı Qırmızı
Qırmızı Qırmızı
Qırmızı Qırmızı
Qırmızı Qırmızı
Qırmızı Qırmızı
Qırmızı Qırmızı
Qırmızı Qırmızı
Qırmızı Qırmızı

Bəzi qovşaqlar proqramda əvvəlcədən quraşdırılmadığından paletlərdən quraşdırmanız lazım ola bilər. Quraşdırmanız lazım olanlar node-red-tablosuna və node-red-node-sqlite-dir.

Proqramlaşdırma proqramımızdan və sensordan istifadə etməyə başladığımız yer budur. Ehtiyac duyacağınız ilk qovşaq MQTT-in Node-dur və bu proqrama məlumat göndərmək üçün proqramı yuxarıdan işlədən sensorumuzdan istifadə etməyə imkan verir. İstifadə etdiyimiz aralıq nodu sahib olduğumuz dəyərləri çevirir (yəni. 5 sm proqram doludur, buna görə 100%çeviririk). Aralıq qovşağının ardınca 2 funksiya qovşağımız var, biri mesajı tablosumuza, digəri isə zibilin dolu olduğunu əyani şəkildə göstərmək üçün. Funksiya qovşaqlarının proqramı əlavə olunur.

Mümkünsə, bu axın bir çox ultrasəs sensoru üçün istifadə edilə bilər. Layihəmiz üçün daha çox sensora əl ata bilmədiyimiz üçün simulyasiya məlumatları etməli olduq. Bunu etmə üsulumuz çox oxşardır, ancaq istifadəçinin hər bir zibilin içərisinə zibilin 1-10 faizini təsadüfi olaraq əlavə edə biləcəyi düymələrimiz var. Biri zibil əlavə etmək üçün, digəri isə təmizləmək üçün 2 düymədən istifadə etdik. Göstərici, mesajlar və göstərici hələ də zibil saymaq və saxlamaq üçün kod eyni olsa da bir az fərqlidir.

Addım 5: Məlumatların Qeydiyyatı

Məlumatların Qeydiyyatı
Məlumatların Qeydiyyatı
Məlumatların Qeydiyyatı
Məlumatların Qeydiyyatı
Məlumatların Qeydiyyatı
Məlumatların Qeydiyyatı

Yük maşını zibilləri boşaltmağa gəldikdə zibillərin nə qədər dolu olduğunu qeyd etmək yaxşı bir fikir olacağına qərar verdik. Sqlite qovşağının köməyi ilə Pi -də saxlayan məlumatları oxuya və yaza bilərik. Daha əvvəl dediyim kimi bu qovşaq qurmalısınız.

Məlumat yaratmaq və qeyd etmək üçün addımlar aşağıdakı kimidir:

1. Verilənlər bazasını yaradın

2. Məlumatları qeyd edin

3. Tablosumuzda göstərmək üçün məlumatları çəkin

4. Məlumatları silin və silin

SQL -in işləmə üsulu, TABLO YARATMA, QIRAŞDIRMA, SEÇMƏ və SİLDİR mövzusunu icra etməlisiniz. Zaman damgası qovşaqlarından istifadə edərək, bu funksiyaların hər birini yerinə yetirən (yaratmaq, daxil etmək, seçmək və silmək) sqlite qovşağına mövzuları icra edə bilərik. Verilənlər bazasını yalnız bir dəfə yaratmalıyıq və bitdikdən sonra məlumatları daxil edə bilərik. Verilənlər bazası yaradıldıqdan sonra məlumatları daxil edə bilərik və yük maşını gələndə yenidən daxil olmaq üçün istifadəçi girişindən istifadə etdik. Yük maşınının gəlməsinə icazə verilməyənə qədər məlumatları daxil edə bilməyəcəyiniz üçün 80% tutumlu 5 zibil (dolu hesab olunur) etdik. 500 aralığını yenidən 0-100%ölçmək üçün aralıq düyünü yenidən istifadə etdik. İstəyiriksə, bütün məlumatları verilənlər bazasından silmək seçimimiz var. İstifadəçi interfeysi cədvəli, tablonuzu tablosumuzda gözəl bir şəkildə görməyimizə imkan verən bir qovşaqdır.

Addım 6: Layout

Bütün bunlar bitdikdən sonra Node-RED köməyi ilə istədiyiniz bir düzeni yarada bilərsiniz. Yan nişanda onları istədiyiniz kimi yerləşdirə biləcəksiniz və daha çox fərdiləşdirmə seçiminiz var. Bütün proqramımın axını da əlavə olunur.

Addım 7: Nəticə

Bu layihəni tamamladıqdan sonra, proqramın daha da inkişaf etdiriləcəyini görə biləcəyimiz sahələr var. Gündəliyi avtomatik olaraq düzəltmək üçün bir yol tapmadım, çünki bunu edə biləcəyimiz yeganə yol, aralıqda giriş etmək idi və zibil maşını bir dəfə gəlsəydi təkrar nömrələrə ehtiyacımız olmayacaqdı. Düşünürəm ki, bu, qismən funksional qovşaqlara və proqramlaşdırmaya daha çox etibar etdiyimiz üçün bu proqramlaşdırma ilə daha rahat olduğumuza görə qərar verdiyimizdən irəli gəlir. Bitirdikdən sonra araşdırdıqdan sonra, hər şey üçün hazırlanmış qovşaqların olduğu və keçid və rbe qovşaqlarının funksiyasını daha əvvəl tapsaydıq, həyatı çox asanlaşdıra biləcəyi aydın idi. İşə yaramadığımız ultrasəs sensorlar üçün hazırlanmış bir düyün də var idi. MQTT və ya Python proqramına ehtiyac olmayacağı üçün işləri asanlaşdırardı, çünki bu yalnız tətik və əks -sancaqlar olan bir qovşaqdır. Yuxarıda gördüyünüz kimi Python proqramını hazırlayaraq bunun üzərində işləməyə qərar verdik. Node-RED-ə dalmaq istəyən hər kəs üçün böyük bir ipucu, hər bir axının işlədiyini və istədiyinizi/ehtiyacınızı çıxardığını anlamaq üçün bir çox ayıklama qovşağından istifadə etməyinizdir.

Tövsiyə: