Sadržaj:
2025 Autor: John Day | [email protected]. Zadnja promjena: 2025-01-13 06:57
U ovom uputstvu ću vam pokazati kako napraviti pametnu kutiju za zaključavanje.
Okvir za zaključavanje pokreće Arduino (UNO), a koristi RFID i servo motor za kontrolu pristupa uz praćenje dolaznih podataka s različitih senzora. Povijest podataka čuvat će se u bazi podataka MYSQL. Podaci će biti prikazani na web stranici koju hostira malina Pi.
Korak 1: Popis dijelova i materijala za projekt
Računalo/mikrokontroler:
- Arduino UNO
- RaspBerry Pi 4 Model B
Dijelovi
- LM35 osjetnik temperature
- GL5537 LDR senzor
- VMA405 ili RC522 čitač RFID senzora s oznakom
- Servo motor MG 996R
- DuPont žice kratkospojnika muško-žensko
- Žice za pločice
- Crvena LED
- Zelena LED dioda
- Aktivni zujalica 5V
- 1k Ω (ohm) otpornik
- 2 x 330 Ω (ohm) otpornika
Kućište
Kutija se može napraviti od bilo kojeg materijala. Moj je od kartona
Ekstra
Napravio sam drveni nastavak za servomotor (opcionalno)
Softver
Arduino IDE, Visual studio code - Raspberry Pi sa SSH, MYSQL radnim stolom
Za procjenu cijene možete provjeriti datoteku BOM.
Korak 2: Krug ploče
RFID
- Vcc 3.3. V iz Arduina
- RST digitalni 9 pinski
- Gnd Gnd iz Arduina
- MISO Digital 12 -pinski
- MOSI Digital 11 pinski
- SCK Digital 13 pinski
- NSS/SDA Digitalni 10 pinski
Servomotor
- 5V (crveno) (+) na ploči
- Gnd (smeđa) Gnd na ploči
- PWM (narančasta) Digitalna 3 -polna
LM35
- Vin (+) (+) na ploči
- Gnd Gnd na ploči
- Vout Analogni 1 pinski
LDR
- Vin (+) (+) na ploči
- Gnd Gnd na ploči s otpornikom od 1K ohma
- Vout Analog 0 pina
Led (zelena)
- Vin (+) Digitalni 4 -polni sa 330 ohmskim otpornikom
- Gnd Gnd na ploči
Led (crveno)
- Vin (+) Digitalni 5 pinski sa 330 ohmskim otpornikom
- Gnd Gnd na ploči
Aktivni zujalica
- Vin (+) (+) na ploči
- Gnd Gnd na ploči
Arduino na ploču
- Arduino 5V (+) (+) na ploči
- Arduino Gnd Gnd na ploči
Raspberry Pi u Arduino
Bit će spojen putem USB -a
Korak 3: Arduino
Ožičenje elektronike trebalo bi izgledati slično gornjoj slici.
Prvo povežite Arduino s računalom za programiranje hardvera. Glavni kôd moći ćete preuzeti ispod, ali ga još nemojte koristiti, prvo slijedite donje korake.
Knjižnice
Za rad s RFID senzorom koristit ćemo biblioteku SPI i MFRC 522. Rad s RFID -om
RFID knjižnicu preuzmite ovdje s Github -a miguelbalboa
Raspakirajte zip datoteku.
U Arduino IDE idite na skicu> uključi biblioteku i odaberite zip datoteku koju ste upravo preuzeli
Nakon što ste učitali zip datoteku, idite na skicu> uključi biblioteku> upravljajte knjižnicama. U upravitelju knjižnice potražite "MFRC522". Trebalo bi reći da je knjižnica instalirana.
Skeniranje RFID podataka
Idite na datoteku> primjeri> MFR522> dumpinfo i prenesite/pokrenite kôd u svom IDE -u. Vidjet ćete da kôd uključuje biblioteku MFR522.h i SPI.h. Oboje je potrebno za RFID.
Sada otvorite serijski monitor (alati> serijski monitor) i skenirajte svoju značku i karticu dok se ne prikažu svi podaci.
Upišite UID jer će vam trebati.
Sada možete preuzeti glavni kod (Arduino_code_lockbox) U glavnom kodu zamijenite svoj vlastiti kod UID oznake s onim iz koda.
Nakon pokretanja/učitavanja koda u Arduino IDE -u, testirajte rfid skeniranje. Ako radi, možete isključiti Arduino USB iz računala i povezati ga s Raspberry Pi.
Korak 4: Raspberry Pi
Čitajte podatke s Arduina u Pythonu
Provjerite je li Arduino povezan s Raspberry Pi. Open app.py i pokrenite datoteku. Vidjet ćete podatke koje su vaši senzori primili s Arduina.
Za čitanje podataka trebat će vam serijski dio koda (vidi sliku).
MYSQL baza podatakaNapravite bazu podataka koja će sadržavati izmjerene vrijednosti vaših senzora. Za ovaj projekt napravit ću tablice za temperaturu, LDR i RFID.
Pozadinski Python
Dodajte rute pythona i prema tome se prilagodite svojoj bazi podataka MYSQL. Pošaljite vrijednosti svojih senzora u vlastitu bazu podataka.
Korak 5: Web stranica
Raspored
Možete koristiti datoteke s webrar.rar Ili možete stvoriti vlastitu web stranicu s html, css.
Prikaži podatke iz baze podataka
Koristite javascript da biste dobili podatke iz baze podataka i prikazali ih na svojoj web stranici
Biblioteka Chart.js će se koristiti za grafičko prikazivanje podataka.
Korak 6: Stanovanje
Vanjski
Za vanjsku stranu kućišta zalijepio sam različite dijelove. Gornji dio je izrezan u obliku slova L pa će baza L (desna strana na slici) biti čvršća.
Za RFID senzor, izrezivanje rupe u kutiji nije obavezno. Trebalo bi biti moguće skenirati kroz karton ako nije predebeo.
Servomotor će biti zalijepljen izvana. Ovisno o tome kako postavite malinu unutar kutije, morat ćete napraviti male rupe za kabelske veze poput USB ili Ethernet kabela.
Interijer
Za interijer sam napravio sloj tako da mogu odvojiti oba uređaja i to je organiziranije. Raspberry Pi bit će na dnu boksa, a Arduino s matičnom pločom bit će na gornjem sloju.