İçindekiler:

Sensör Füzyonu Kullanan Ev Yapımı Güvenlik Sistemi: 5 Adım
Sensör Füzyonu Kullanan Ev Yapımı Güvenlik Sistemi: 5 Adım

Video: Sensör Füzyonu Kullanan Ev Yapımı Güvenlik Sistemi: 5 Adım

Video: Sensör Füzyonu Kullanan Ev Yapımı Güvenlik Sistemi: 5 Adım
Video: Ünal turan Azad yılmaz Karşıma çıkın dedi 2024, Temmuz
Anonim
Sensor Fusion Kullanan Ev Yapımı Güvenlik Sistemi
Sensor Fusion Kullanan Ev Yapımı Güvenlik Sistemi

Bu projenin arkasındaki fikir, birisi onu geçtiğinde sizi uyarmak için kullanılabilecek ucuz ve yapımı kolay bir güvenlik sensörü oluşturmaktır. Asıl amaç, biri merdivenlerden yukarı çıktığında beni bilgilendirebilecek bir şey yaratmaktı ama ben bunu ön kapı için bir güvenlik sensörü olarak da kullanıyorum. Bu talimatta sağlanan yazılım, macOS ile uyumludur. Windows ile çalışması için küçük değişiklikler yapılması gerekecek. Bu komut dosyalarının herhangi birinin tam kaynak kodu için bu GitHub deposuna bakın.

Gereçler:

  1. Arduino Nano*
  2. Ultrasonik HC-SR04 Sensör
  3. Bluetooth HC-05 Modülü
  4. OMRON Dokunsal Anahtar
  5. 10k Direnç
  6. Breadboard Tel Kiti
  7. ekmek tahtası
  8. Taşınabilir şarj aleti

* Nano yerine uno veya mega da kullanılabilir.

Adım 1: Devre Kurulumu

Devre Kurulumu
Devre Kurulumu

Yukarıda gösterildiği gibi devre şemasını takip edin. Arduino taslağını nano'ya yüklediğinizde, kabloları nano üzerindeki RX ve TX pinlerinden çıkardığınızdan emin olun. Bu pinlerin bluetooth modülüne bağlanması durumunda Arduino'ya yükleme yapmanın hatalara yol açabileceği bulundu. Önce taslağı yükleyin ve ardından bu pinleri bluetooth modülüne bağlayın.

Ana bileşenler

  1. Arduino Nano - Mikrodenetleyici
  2. HC-SR04 - Ultrasonik Sensör
  3. HC-05 Modülü - Bluetooth Modülü
  4. OMRON Anahtarı - Sensörü Açmak/Kapatmak için Kullanılan Düğme

Adım 2: Yazılım Kurulumu: Arduino

Yazılım Kurulumu: Arduino
Yazılım Kurulumu: Arduino
  1. Yazılım Serilerini Arduino Kitaplığınıza İndirin
  2. Arduino'nuza uygun bağlantı noktasını ve kartı seçtiğinizden emin olun.
  3. Sağlanan bilgi dosyasını indirin ve Arduino'daki RX/TX pinlerinin bluetooth modülüyle bağlantısının kesildiğinden emin olduktan sonra çizimi yükleyin.

3. Adım: Yazılım Kurulumu: Python

Yazılım Kurulumu: Python
Yazılım Kurulumu: Python

Dizüstü bilgisayarınızda başarılı bir şekilde sizi uyarmak için bir python betiği çalıştırmanız gerekecek. Python'u ve gerekli kitaplıkları indirme konusunda yardım için lütfen TalalKhalil'in bu yararlı Instructable'ına bakın.

Sağlanan readValuesV2.py betiği, bluetooth modülü tarafından gönderilen değerleri okur, birinin sensörü geçip geçmediğini belirler ve dizüstü bilgisayarınızda bir uyarı oluşturur. Ayrıca, komut dosyası bir zaman damgasıyla başladığından beri okuduğu tüm ölçümlerle bu dizinde bir klasör oluşturur ve saklar.

Yapmak:

  1. Python'u ve tüm bağımlılıkları indirin. (pip kurulumunu kullandım)
  2. Dizüstü bilgisayarınızda bluetooth'u açtığınızdan ve HC-06 adlı bir cihaza bağladığınızdan emin olun. Sistem ayarlarınızın bluetooth bölümünde diğer cihazlar listesinin altında listelenmiş olarak bulmalısınız. Modülün şifresi '1234'tür.
  3. Mesafe_duvarı adlı değişken, sensörün ne zaman kapanacağını belirleyen değişkendir. Bu yüzden sensörün konumuna bağlı olarak cm olarak gösterilen bu değeri ortamınıza göre değiştirdiğinizden emin olun.
  4. Bluetooth modülündeki RX/TX pinini bağlayın ve şimdi readValuesV2 betiğini çalıştırın. Oluşturduğu dosyayı doğru bir şekilde adlandırabilmesi için sizden bir kayıt numarası isteyecektir.

Çok fazla hata ayıklama yapmanız gerekebilir, bu nedenle daha fazla yardım için bu Talimatın son bölümüne bakın.

4. Adım: Muhtemel Hata Ayıklama Sorunları

Arduino

1) avrdude: stk500_getsync(): senkronize değil: resp=0x0: Bu genellikle bir Arduino'ya çizim yüklemeye çalışırken olur.

  • Doğru COM bağlantı noktasının ve kartın seçildiğinden emin olun
  • Şu anda 'ATmega328P' kullanıyorsanız, 'ATmega328P (Eski Önyükleyici)'yi deneyin.
  • Arduino üzerindeki RX/TX pininin bağlantısının kesildiğinden emin olun.

2) Meşgul Uyum Hatası

Doğru COM bağlantı noktasının seçildiğinden emin olun. Krokiyi Arduino'ya yüklemeye çalıştığınız için python betiğinin çalışmadığından emin olun

piton

1) [Errno 16] Kaynak meşgul: '/dev/tty. HC-06-DevB': Bu, dizüstü bilgisayarınızı bluetooth modülüne bağlamadığınızda olur

Bunu çözmek için HC modülünü dizüstü bilgisayarınıza doğru şekilde bağladığınızdan emin olmanız gerekir. Ayrıca bu modülün bağlı kaldığından emin olmalısınız, betiği çalıştırmayı bitirdikten sonra bağlantısı kesilecektir

2) ValueError: Bluetooth modülü bağlı değil

Bluetooth modülü ile Seri Port Bağlantısı düzgün bağlanmadıysa, bu manuel olarak atılan bir hatadır

3) Python Paket Bağımlılıkları Hatası

Python için gerekli paketleri indirmek için pip kurulumunu kullandım. Bu uçta ortaya çıkan herhangi bir hata için yığın taşmasına bakın

4) İşletim Sisteminden Kaynaklanan Hatalar

Kullanılan işletim sistemi Windows ise bazı hataların ortaya çıkmasını bekliyorum. Sorunlu olabilecek bazı alanlar, dizüstü bilgisayarınızdaki veri kayıt ve bildirim sisteminin loglanmasıdır

5) serial.serialutil. SerialException: cihaz okumaya hazır olduğunu bildiriyor ancak veri döndürmedi

Bu bazen güç kaynağı kapatıldığında olur. Bu, anahtarı kullanarak cihazı kapattığımda başıma geldi

Donanım

1) Bağlantıların karışmaması için anahtarın devre tahtasındaki hat ayırıcı arasında düzgün bir şekilde ayarlandığından emin olun.

Adım 5: Tamamlanmış Cihazın Demosunu Çıkarma

Tamamlanmış Cihazın Demosunu Çıkarma
Tamamlanmış Cihazın Demosunu Çıkarma
Tamamlanmış Cihazın Demosunu Çıkarma
Tamamlanmış Cihazın Demosunu Çıkarma
Tamamlanmış Cihazın Demosunu Çıkarma
Tamamlanmış Cihazın Demosunu Çıkarma

Lütfen gömülü bağlantıyı veya şu YouTube bağlantısını kullanarak cihazı çalışırken görmek için videoyu kontrol etmekten çekinmeyin: https://www.youtube.com/embed/Ab1wKr2ORbM. Genel olarak, bu şimdi düzenli olarak kullandığım bir şey ve güç kaynağını çok hızlı tüketmediğini veya eski dizüstü bilgisayarımı işlem gücü açısından strese sokmadığını gördüm. Herhangi bir sorununuz varsa, bu proje için ilgili GitHub deposunda bir sorun gönderisi oluşturmaktan çekinmeyin!

Önerilen: