Mündəricat:
2025 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2025-01-13 06:56
Bu layihənin arxasındakı fikir, kimsə onu keçdiyi zaman sizi xəbərdar etmək üçün istifadə edilə bilən ucuz və asan bir təhlükəsizlik sensoru yaratmaqdır. Orijinal məqsəd, kimsə pilləkənlərdən yuxarı qalxanda mənə xəbər verə biləcək bir şey yaratmaq idi, amma mən də onu ön qapı üçün təhlükəsizlik sensoru kimi istifadə edirdim. Bu təlimatda təqdim olunan proqram təminatı macOS ilə uyğun gəlir. Windows ilə işləməsi üçün bir az dəyişiklik edilməlidir. Bu skriptlərdən hər hansı biri üçün tam mənbə kodu üçün bu GitHub deposuna baxın.
Təchizat:
- Arduino Nano*
- Ultrasonik HC-SR04 Sensoru
- Bluetooth HC-05 Modulu
- OMRON toxunma açarı
- 10k rezistor
- Çörək taxtası tel dəsti
- Çörək lövhəsi
- Güc Bankı
*Uno və ya mega da nanonun yerinə istifadə edilə bilər.
Addım 1: Dövrə qurulması
Yuxarıda göstərildiyi kimi sxem sxeminə əməl edin. Arduino eskizini nanoya yükləyərkən, nano üzərindəki RX və TX pinlərindən olan telləri ayırdığınızdan əmin olun. Bu pinlərin bluetooth moduluna bağlı olması halında Arduino'ya yükləmənin səhvlərə yol aça biləcəyi müəyyən edilmişdir. Əvvəlcə eskizi yükləyin və sonra bu pinləri bluetooth moduluna bağlayın.
Əsas komponentlər
- Arduino Nano - Mikro nəzarətçi
- HC -SR04 - Ultrasonik Sensor
- HC -05 Modulu - Bluetooth Modulu
- OMRON Switch - Sensoru açmaq/söndürmək üçün istifadə olunan düymə
Addım 2: Proqram Quraşdırma: Arduino
- Proqram Serialını Arduino Kitabxananıza yükləyin
- Arduino ilə uyğun portu və lövhəni seçdiyinizə əmin olun
- Verilən məlumat faylını yükləyin və Arduino üzərindəki RX/TX pinlərinin bluetooth modulundan ayrıldığından əmin olduqdan sonra eskizi yükləyin.
Addım 3: Proqram Quraşdırması: Python
Laptopunuzda uğurla xəbərdarlıq etmək üçün bir python skriptini işə salmalısınız. Python və lazımi kitabxanaların yüklənməsi ilə bağlı kömək üçün TalalKhalil -in bu faydalı Təlimatına müraciət edin.
Təqdim olunan readValuesV2.py skript, bluetooth modulu tərəfindən göndərilən dəyərləri oxuyur, kiminsə sensoru keçdiyini və dizüstü kompüterinizdə bir xəbərdarlıq yaratdığını ifadə edir. Ssenari vaxt möhürü ilə başladığından bəri oxuduğu bütün ölçüləri ilə bu qovluqda bir qovluq yaradır və saxlayır.
Etmək:
- Python və bütün asılılıqları yükləyin. (Pip quraşdırmasından istifadə etdim)
- Laptopunuzda bluetooth yandırdığınızdan və HC-06 adlı bir cihaza qoşduğunuzdan əmin olun. Sistem parametrlərinizin bluetooth hissəsindəki digər cihazlar siyahısının altında tapılmalıdır. Modul üçün şifrə '1234' dir.
- Sensorun nə vaxt sönəcəyini təyin edən məsafə_duvarlı dəyişəndir. Sensor yerindən asılı olaraq, cms ilə göstərilən bu dəyəri ətrafınıza uyğun olaraq dəyişdirdiyinizə əmin olun.
- Bluetooth modulundakı RX/TX pinini qoşun və indi readValuesV2 skriptini işə salın. Yaratdığı faylı düzgün adlandırmaq üçün sizdən bir qeyd nömrəsi istəyəcək.
Çox ehtimal ki, bir çox ayıklama etməli ola bilərsiniz, buna görə də kömək üçün bu Təlimatın son hissəsinə baxın.
Addım 4: Ehtimal olunan Hata Ayıklama Problemləri
Arduino
1) avrdude: stk500_getsync (): senkronize deyil: resp = 0x0: Bu, tez -tez bir Arduinoya eskiz yükləmək istəyərkən olur.
- Doğru COM portunun və lövhəsinin seçildiyindən əmin olun
- Hal -hazırda 'ATmega328P' istifadə edirsinizsə 'ATmega328P (Köhnə Bootloader)' cəhd edin
- Arduino üzərindəki RX/TX pininin ayrıldığından əmin olun
2) Məşğul Comport Error
Doğru COM portunun seçildiyindən əmin olun. Eskizi Arduinoya yükləməyə çalışdığınız üçün python skriptinin işləmədiyinə əmin olun
Python
1) [Errno 16] Resurs məşğul: '/dev/tty. HC-06-DevB': Bu, dizüstü kompüterinizi bluetooth moduluna bağlamadığınız zaman olur.
Bunu həll etmək üçün HC modulunu dizüstü kompüterinizə düzgün bağladığınızdan əmin olmalısınız. Bu modulun bağlı qalmasını təmin etməlisiniz, skriptin işini bitirdikdən sonra əlaqəsi kəsiləcək
2) ValueError: Bluetooth modulu bağlı deyil
Bluetooth modulu ilə Serial Port Bağlantısı düzgün bağlanmadıqda bu, əllə atılan bir səhvdir
3) Python Paketlərindən Asılılıq Xətası
Python üçün lazım olan paketləri yükləmək üçün pip install istifadə etdim. Bu ucunda açılan hər hansı bir səhv üçün yığın daşmasına baxın
4) OS səbəbiylə səhvlər
İstifadə olunan OS Windows olsa, bəzi səhvlərin açılacağını gözləyirəm. Çətin ola biləcək bəzi sahələr, dizüstü kompüterinizdə məlumatların qeyd edilməsi və bildiriş sisteminin qeyd edilməsidir
5) serial.serialutil. SerialException: cihaz oxumağa hazır olduğunu bildirir, lakin heç bir məlumat qaytarmır
Bu bəzən enerji təchizatı söndürüldükdə olur. Açarı istifadə edərək cihazı söndürdüyüm zaman ağlıma gəldi
Avadanlıq
1) Bağlantıların qarışmaması üçün keçidin çörək lövhəsindəki xətt ayırıcı arasında düzgün bir şəkildə hərəkət etdiyinə əmin olun.
Addım 5: Tamamlanmış Cihazın Demo Edilməsi
Zəhmət olmasa, quraşdırılmış bağlantıdan və ya bu YouTube bağlantısından istifadə edərək cihazı işlədiyini görmək üçün videoya baxın: https://www.youtube.com/embed/Ab1wKr2ORbM. Ümumiyyətlə, bu, indi müntəzəm olaraq istifadə etdiyim və enerji təchizatını çox tez boşaltmadığını və ya işləmə gücü baxımından köhnə noutbukumu gərginləşdirmədiyini gördüm. Hər hansı bir probleminiz varsa, bu layihə ilə əlaqəli GitHub repo -da bir problem yazmaqdan çekinmeyin!