İçindekiler:

Akıllı Kilit Kutusu: 7 Adım
Akıllı Kilit Kutusu: 7 Adım

Video: Akıllı Kilit Kutusu: 7 Adım

Video: Akıllı Kilit Kutusu: 7 Adım
Video: Ofisin kapısına akıllı anahtar taktık! - Yale Linus Smart Lock kurulum ve inceleme! 2024, Kasım
Anonim
Akıllı Kilit Kutusu
Akıllı Kilit Kutusu

Bu talimatta size akıllı bir kilit kutusunun nasıl yapıldığını göstereceğim.

Kilit kutusu bir Arduino (UNO) tarafından desteklenmektedir ve farklı sensörlerden gelen verileri takip ederken erişimi kontrol etmek için RFID ve bir servo motor kullanır. Veri geçmişi bir MYSQL veritabanında tutulacaktır. Veriler, tarafından barındırılan bir web sitesinde gösterilecektir. ahududu Pi.

Adım 1: Proje için Parça ve Malzeme Listesi

Bilgisayar/mikrodenetleyici:

  • Arduino UNO'su
  • RaspBerry Pi 4 Model B

Parçalar

  • LM35 sıcaklık sensörü
  • GL5537 LDR sensörü
  • VMA405 veya RC522 etiketli RFID sensör okuyucu
  • MG 996R Servo motor
  • DuPont Erkek-Dişi atlama telleri
  • Breadboard teller
  • Kırmızı LED
  • Yeşil LED
  • Aktif zil 5V
  • 1k Ω(ohm) direnç
  • 2 x 330 Ω(ohm) direnç

Konut

Kutu herhangi bir malzemeden yapılabilir. Benimki kartondan yapılmış

Ekstra

Servo motor için ahşap bir bağlantı yaptım (isteğe bağlı)

Yazılım

Arduino IDE, Görsel stüdyo kodu - SSH'li Raspberry Pi, MYSQL tezgahı

Fiyat tahmini için BOM dosyasına göz atabilirsiniz.

Adım 2: Breadboard Devresi

Breadboard Devresi
Breadboard Devresi
Breadboard Devresi
Breadboard Devresi
Breadboard Devresi
Breadboard Devresi

RFID

  • Arduino'nun Vcc 3.3. V'si
  • RST Dijital 9 pimli
  • Arduino'nun Gnd Gnd'si
  • MISO Dijital 12 pimli
  • MOSI Dijital 11 pin
  • SCK Dijital 13 pin
  • NSS/SDA Dijital 10 pin

servomotor

  • Breadboard üzerinde 5V (Kırmızı) (+)
  • Breadboard üzerinde Gnd (Kahverengi) Gnd
  • PWM (Turuncu) Dijital 3 pin

LM35

  • Breadboard üzerinde Vin(+) (+)
  • Breadboard üzerinde Gnd Gnd
  • Vout Analog 1 pin

LDR

  • Breadboard üzerinde Vin(+) (+)
  • 1K ohm dirençli breadboard üzerinde Gnd Gnd
  • Vout Analog 0 pin

Led (Yeşil)

  • 330 ohm dirençli Vin(+) Dijital 4 pin
  • Breadboard üzerinde Gnd Gnd

Led (Kırmızı)

  • 330 ohm dirençli Vin(+) Dijital 5 pin
  • Breadboard üzerinde Gnd Gnd

Aktif zil

  • Breadboard üzerinde Vin(+) (+)
  • Breadboard üzerinde Gnd Gnd

Arduino'dan breadboard'a

  • Breadboard üzerinde Arduino 5V(+) (+)
  • Breadboard üzerinde Arduino Gnd Gnd

Ahududu Pi'den Arduino'ya

USB ile bağlanacak

Adım 3: Arduino

Arduino
Arduino

Elektroniklerin kabloları yukarıdaki resme benzer görünmelidir.

Donanımı programlamak için önce Arduino'yu bilgisayara bağlayın. Ana kod aşağıda indirilebilir ancak henüz kullanmayın, önce aşağıdaki adımları izleyin.

Kütüphaneler

RFID sensörü ile çalışmak için SPI ve MFRC 522 kütüphanesinden faydalanacağız. RFID ile çalışma

RFID kitaplığını buradan miguelbalboa'nın Github'ından indirin

Zip dosyasını paketinden çıkarın.

Arduino IDE'de eskiz> kitaplığı dahil et'e gidin ve az önce indirdiğiniz zip dosyasını seçin

Zip dosyasını yükledikten sonra, taslak> kitaplığı dahil et> kitaplıkları yönet'e gidin. Kitaplık yöneticisinde "MFRC522"yi arayın. Kütüphanenin kurulu olduğu söylenmelidir.

RFID verilerinin taranması

file>examples>MFR522>dumpinfo'ya gidin ve kodu IDE'nize yükleyin/başlatın. Kodun bir MFR522.h ve SPI.h kitaplığı içerdiğini göreceksiniz. Her ikisi de RFID için gereklidir.

Şimdi seri monitörü açın (araçlar>seri monitör) ve tüm veriler gösterilene kadar rozetinizi ve kartınızı tarayın.

UID'yi yazdığınızdan emin olun çünkü buna ihtiyacınız olacak.

Artık ana kodu indirebilirsiniz (Arduino_code_lockbox)Ana kodda, kendi UID etiket kodunuzu koddakiyle değiştirin.

Arduino IDE'de kodu çalıştırdıktan/yükledikten sonra, rfid taramasını test edin. Çalışırsa, Arduino USB'yi bilgisayardan ayırabilir ve Raspberry Pi'ye bağlayabilirsiniz.

Adım 4: Ahududu Pi

Ahududu Pi
Ahududu Pi

Python'da Arduino'dan veri oku

Arduino'nun Raspberry Pi. Open app.py'ye bağlı olduğundan emin olun ve dosyayı çalıştırın. Sensörleriniz tarafından Arduino'dan alınan verileri göreceksiniz.

Verileri okumak için kodun seri kısmına ihtiyacınız olacak (resme bakın).

MYSQL Veritabanı Sensörlerinizin ölçülen değerlerini tutmak için bir veritabanı oluşturun. Bu proje için sıcaklık, LDR ve RFID için tablolar yapacağım.

Arka Uç Python

Python yolları ekleyin ve buna göre MYSQL veritabanınıza ayarlayın. Sensör verilerinizin değerlerini kendi veritabanınıza gönderin.

Adım 5: Web sitesi

Düzen

Webrar.rar'daki dosyaları kullanabilir veya html, css ile kendi web sitenizi oluşturabilirsiniz.

Veritabanından verileri göster

Veritabanındaki verileri web sitenize almak ve göstermek için javascript kullanın

Verilerin grafiğini oluşturmak için Chart.js kütüphanesi kullanılacaktır.

Adım 6: Konut

Konut
Konut

Dış

Gövdenin dışı için farklı parçaları birbirine bantladım. Üst kısım L şeklinde kesilmiş, böylece L'nin tabanı (resimde sağ taraf) daha sağlam olacak.

RFID sensörü için kutuya bir delik açmak isteğe bağlıdır. Çok kalın değilse kartonu taramak mümkün olmalıdır.

Servomotor dışarıdan bantlanacaktır. Ahududuyu kutunun içine nasıl yerleştirdiğinize bağlı olarak USB veya ethernet kablosu gibi kablo bağlantıları için küçük delikler açmanız gerekecektir.

İç mekan

İç mekan için bir katman yaptım, böylece her iki cihazı da ayırabilirim ve daha düzenli. Ahududu Pi kutunun altında olacak ve devre tahtası ile Arduino üst katmanda olacak.

Önerilen: