Mundarija:
2025 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2025-01-13 06:58
Bu yo'riqnomada men sizga aqlli qulf qutisini qanday yasashni ko'rsataman.
Qulf qutisi Arduino (UNO) tomonidan quvvatlanadi va RFID va servo dvigateldan foydalanib, har xil sensorlardan kiruvchi ma'lumotlarni kuzatib boradi va ma'lumotlar tarixi MYSQL ma'lumotlar bazasida saqlanadi. malina Pi.
1 -qadam: Loyihaning qismlari va materiallari ro'yxati
Kompyuter/mikrokontroller:
- Arduino UNO
- RaspBerry Pi 4 modeli B
Qismlar
- LM35 harorat sensori
- GL5537 LDR sensori
- VMA405 yoki RC522 tegli RFID sensorli o'quvchi
- MG 996R Servo dvigateli
- DuPont Erkak-Ayol jumper simlari
- Non paneli simlari
- Qizil LED
- Yashil LED
- Faol ovozli signal 5V
- 1k Ω (ohm) qarshilik
- 2 x 330 Ω (ohm) qarshilik
Uy -joy
Quti har qanday materialdan tayyorlanishi mumkin. Meniki kartondan qilingan
Qo'shimcha
Men servomotor uchun yog'och biriktirma qildim (ixtiyoriy)
Dasturiy ta'minot
Arduino IDE, Visual studiya kodi - Raspberry Pi, SSH, MYSQL ishchi dastgohi
Narxni aniqlash uchun siz BOM faylini tekshirishingiz mumkin.
2 -qadam: Breadboard sxemasi
RFID
- Arduino Vcc 3.3. V
- RST raqamli 9 pinli
- Gnd Gnd Arduino
- MISO Digital 12 pinli
- MOSI Digital 11 pinli
- SCK Digital 13 pinli
- NSS/SDA raqamli 10 pinli
Servo motor
- Non panelida 5V (qizil) (+)
- Gnd (jigarrang) Gnd non taxtasida
- PWM (to'q sariq) raqamli 3 pinli
LM35
- Vin taxtasida (+) (+)
- Gnd Gnd non taxtasida
- Vout analog 1 pin
LDR
- Vin taxtasida (+) (+)
- Gnd Gnd 1K ohmli rezistorli non panelida
- Analog 0 pinli ovoz
Led (yashil)
- Vin (+) 330 ohmli rezistorli 4 pinli raqamli
- Gnd Gnd non taxtasida
Led (qizil)
- Vin (+) 330 ohmli rezistorli 5 pinli raqamli
- Gnd Gnd non taxtasida
Faol signal
- Vin taxtasida (+) (+)
- Gnd Gnd non taxtasida
Arduino non paneli
- Non panelidagi Arduino 5V (+) (+)
- Non panelida Arduino Gnd Gnd
Raspberry Pi dan Arduino
USB orqali ulanadi
3 -qadam: Arduino
Elektrotexnikaning simlari yuqoridagi rasmga o'xshash bo'lishi kerak.
Dastlabki qurilmani dasturlash uchun Arduino -ni kompyuterga ulang. Asosiy kodni quyida yuklab olish mumkin, lekin hozircha ishlatmang, avval quyidagi amallarni bajaring.
Kutubxonalar
Biz RFID sensori bilan ishlash uchun SPI va MFRC 522 kutubxonasidan foydalanamiz.
RFID kutubxonasini miguelbalboa Github -dan yuklab oling
Zip faylini oching.
Arduino IDE -da eskiz> kutubxonaga o'ting va siz yuklagan zip faylini tanlang
Zip faylini yuklaganingizdan so'ng, eskiz> kutubxonani qo'shish> kutubxonalarni boshqarish -ga o'ting. Kutubxona menejerida "MFRC522" ni qidiring. Aytish kerakki, kutubxona o'rnatilgan.
RFID ma'lumotlarini skanerlash
Fayl> misollar> MFR522> dumpinfo -ga o'ting va IDE -ga kodni yuklang/ishga tushiring. Siz kodda MFR522.h va SPI.h kutubxonasi borligini ko'rasiz. Ikkalasi ham RFID uchun kerak.
Endi ketma -ket monitorni (asboblar> serialmonitor) oching va barcha ma'lumotlar ko'rsatilmaguncha nishon va kartani skanerlang.
UID -ni yozganingizga ishonch hosil qiling, chunki sizga kerak bo'ladi.
Endi siz asosiy kodni yuklab olishingiz mumkin (Arduino_code_lockbox) Asosiy kodda o'zingizning UID teg kodingizni koddan boshqasiga almashtiring.
Arduino IDE -da kodni ishga tushirgandan/yuklaganingizdan so'ng, rfid skanerini sinab ko'ring. Agar u ishlayotgan bo'lsa, Arduino USB -ni kompyuterdan uzib, Raspberry Pi -ga ulashingiz mumkin.
4 -qadam: Raspberry Pi
Python -da Arduino -dan ma'lumotlarni o'qing
Arduino Raspberry Pi. Open app.py -ga ulanganligiga ishonch hosil qiling va faylni ishga tushiring. Sensoringiz Arduino -dan olgan ma'lumotlarni ko'rasiz.
Ma'lumotni o'qish uchun sizga kodning ketma -ket qismi kerak bo'ladi (rasmga qarang).
MYSQL ma'lumotlar bazasi Sensorlarning o'lchangan qiymatlarini saqlash uchun ma'lumotlar bazasini yarating, bu loyiha uchun men harorat, LDR va RFID uchun jadvallar tuzaman.
Orqa Python
Python marshrutlarini qo'shing va MYSQL ma'lumotlar bazangizga moslashtiring, sensorlar ma'lumotlarining qiymatlarini o'z ma'lumotlar bazangizga yuboring.
5 -qadam: veb -sayt
Joylashtirish
Siz fayllarni webrar.rarOr -dan foydalanishingiz mumkin yoki html, css yordamida o'z veb -saytingizni yaratishingiz mumkin.
Ma'lumotlar bazasidan ma'lumotlarni ko'rsatish
Ma'lumotlar bazasidan ma'lumotlarni olish va ko'rsatish uchun javascriptdan foydalaning
Chart.js kutubxonasi ma'lumotlarni grafik qilish uchun ishlatiladi.
6 -qadam: uy -joy
Tashqi
Uyning tashqi ko'rinishi uchun men turli qismlarni yopishtirdim, yuqori qismi L shaklida kesilgan, shuning uchun L ning asosi (rasmning o'ng tomoni) yanada mustahkam bo'ladi.
RFID sensori uchun qutidagi teshikni kesish ixtiyoriydir. Agar karton juda qalin bo'lmasa, uni skanerlash imkoniyati bo'lishi kerak.
Quvvat ichidagi malinaning joylashishiga qarab, USB yoki chekilgan kabel kabeliga ulanish uchun kichik teshiklar qilish kerak bo'ladi.
Ichki makon
Ichki makon uchun men har ikkala qurilmani bir -biridan ajratish uchun qatlam yaratdim va u yanada tartibli. Raspberry Pi qutining pastki qismida, non paneli bo'lgan Arduino esa yuqori qavatda bo'ladi.