Mündəricat:
2025 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2025-01-13 06:56
Bu təlimatda sizə ağıllı bir kilid qutusunun necə hazırlanacağını göstərəcəyəm.
Kilid qutusu bir Arduino (UNO) tərəfindən təchiz edilmişdir və RFID və servo mühərrikdən istifadə edərək müxtəlif sensorlardan daxil olan məlumatları izləyərkən girişləri idarə edir. Məlumat tarixi MYSQL verilənlər bazasında saxlanılacaq. moruq Pi.
Addım 1: Layihə üçün hissələr və material siyahısı
Kompüter/mikro nəzarətçi:
- Arduino UNO
- RaspBerry Pi 4 Model B
Hissələri
- LM35 temperatur sensoru
- GL5537 LDR sensoru
- Etiketli VMA405 və ya RC522 RFID sensor oxuyucusu
- MG 996R Servo motor
- DuPont Kişi-Qadın tullanan telləri
- Çörək taxtası telləri
- Qırmızı LED
- Yaşıl LED
- Aktiv səs siqnalı 5V
- 1k Ω (ohm) müqavimət
- 2 x 330 Ω (ohm) rezistorlar
Mənzil
Qutu hər hansı bir materialdan hazırlana bilər. Mənimki kartondan hazırlanıb
Əlavə
Servo motor üçün taxta bir əlavə etdim (isteğe bağlı)
Proqram təminatı
Arduino IDE, Visual studiya kodu - SSH ilə Raspberry Pi, MYSQL iş masası
Qiymətin qiymətləndirilməsi üçün BOM sənədinə baxa bilərsiniz.
Addım 2: Breadboard Circuit
RFID
- Arduino Vcc 3.3. V
- RST Digital 9 pin
- Arduino Gnd Gnd
- MISO Digital 12 pin
- MOSI Digital 11 pin
- SCK Digital 13 pin
- NSS/SDA Digital 10 pin
Servomotor
- Çörək taxtasında 5V (Qırmızı) (+)
- Çörək taxtasında Gnd (Qəhvəyi) Gnd
- PWM (Narıncı) Rəqəmsal 3 pin
LM35
- Vin (+) (+) çörək taxtasında
- Çörək taxtasında Gnd Gnd
- Vout Analog 1 pin
LDR
- Vin (+) (+) çörək taxtasında
- 1K ohm rezistorlu çörək taxtasında Gnd Gnd
- Vout Analog 0 pin
Led (Yaşıl)
- Vin (+) 330 ohm rezistorlu rəqəmsal 4 pin
- Çörək taxtasında Gnd Gnd
Led (Qırmızı)
- Vin (+) 330 ohm rezistorlu rəqəmsal 5 pin
- Çörək taxtasında Gnd Gnd
Aktiv səs siqnalı
- Vin (+) (+) çörək taxtasında
- Çörək taxtasında Gnd Gnd
Arduino çörək taxtasına
- Çörək taxtasında Arduino 5V (+) (+)
- Çörək taxtasında Arduino Gnd Gnd
Raspberry Pi - Arduino
USB ilə bağlanacaq
Addım 3: Arduino
Elektronikanın naqilləri yuxarıdakı şəklə bənzəməlidir.
Əvvəlcə Arduino -nu kompüterə qoşun və proqram təminatını proqramlaşdırın. Əsas kod aşağıda yüklənə bilər, lakin hələ də istifadə etməyin, əvvəlcə aşağıdakı addımları izləyin.
Kitabxanalar
RFID sensoru ilə işləmək üçün SPI və MFRC 522 kitabxanasından istifadə edəcəyik.
Miguelbalboa Github -dan RFID kitabxanasını buradan yükləyin
Zip faylını açın.
Arduino IDE -də eskiz> kitabxanaya daxil olun və yeni yüklədiyiniz zip faylını seçin
Zip faylını yüklədikdən sonra, eskiz> kitabxana daxil et> kitabxanaları idarə edin. Kitabxana menecerində "MFRC522" axtarın. Kitabxananın quraşdırıldığını söyləmək lazımdır.
RFID məlumatlarının taranması
Fayl> nümunələr> MFR522> dumpinfo -ya gedin və kodu IDE -yə yükləyin/başladın. Kodun MFR522.h və SPI.h kitabxanası olduğunu görəcəksiniz. Hər ikisi də RFID üçün lazımdır.
İndi serial monitoru (alətlər> serialmonitor) açın və bütün məlumatlar görünənə qədər nişan və kartınızı tarayın.
UID yazdığınızdan əmin olun, çünki ehtiyacınız olacaq.
İndi əsas kodu yükləyə bilərsiniz (Arduino_code_lockbox) Əsas kodda öz UID etiket kodunuzu koddakı kodla əvəz edin.
Arduino IDE -də kodu işə saldıqdan/yüklədikdən sonra rfid taramasını yoxlayın. Əgər işləyirsə, Arduino USB -ni kompüterdən ayırıb Raspberry Pi ilə bağlaya bilərsiniz.
Addım 4: Raspberry Pi
Pythonda Arduinodan məlumatları oxuyun
Arduinonun Raspberry Pi. Open app.py -yə qoşulduğundan əmin olun və faylı işə salın. Sensorlarınızın Arduinodan əldə etdiyi məlumatları görəcəksiniz.
Verilənləri oxumaq üçün kodun seriya hissəsinə ehtiyacınız olacaq (şəkilə bax).
MYSQL Veritabanı Sensorlarınızın ölçülmüş dəyərlərini saxlamaq üçün bir verilənlər bazası yaradın. Bu layihə üçün temperatur, LDR və RFID üçün cədvəllər hazırlayacağam.
Python arxa planı
Python marşrutları əlavə edin və buna uyğun olaraq MYSQL verilənlər bazanıza uyğunlaşdırın. Sensor məlumatlarınızın dəyərlərini öz verilənlər bazanıza göndərin.
Addım 5: Veb sayt
Layout
Faylları webrar.rarOr -dan istifadə edə bilərsiniz və ya html, css ilə öz veb saytınızı yarada bilərsiniz.
Verilənlər bazasından məlumatları göstərin
Verilənlər bazasındakı məlumatları veb saytınıza almaq və göstərmək üçün javascriptdən istifadə edin
Məlumatları qrafikləşdirmək üçün Chart.js kitabxanasından istifadə olunacaq.
Addım 6: Mənzil
Xarici
Korpusun xarici hissəsi üçün müxtəlif hissələri bir-birinə yapışdırdım. Üst hissəsi L şəklində kəsilmişdir, beləliklə L-nin əsası (şəklin sağ tərəfi) daha möhkəm olacaqdır.
RFID sensoru üçün qutuya bir çuxur kəsmək isteğe bağlıdır. Karton çox qalın deyilsə, taramaq mümkün olmalıdır.
Ahududu qutunun içərisinə necə yerləşdirməyinizdən asılı olaraq, servomotor kənarda bantlanacaq, USB və ya Ethernet kabeli kimi kabel əlaqələri üçün kiçik deşiklər etməlisiniz.
Daxili
İnteryer üçün bir təbəqə düzəltdim ki, hər iki cihazı ayıra bilək və daha mütəşəkkil olsun. Raspberry Pi qutunun altındakı və çörək taxtası olan Arduino üst təbəqədə olacaq.