Daftar Isi:
- Langkah 1: Bagian
- Langkah 2: Prosedur
- Langkah 3: Pemrograman
- Langkah 4: Pemecahan Masalah dan Modifikasi
- Langkah 5: Perangkat Keras
Video: Detektor Suasana Hati Anjing (Raspberry Pi): 5 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:57
Instruksi ini dirancang untuk mengambil suara yang dibuat anjing dan menentukan apakah mereka harus didekati atau tidak dengan LED indikator. Sebagian besar pemilik anjing mengenal hewan peliharaan mereka dan dapat membaca sinyal yang mereka berikan sehingga Instruksi ini sebagian besar ditujukan kepada orang asing yang mungkin melakukan kontak dengan anjing Anda.
Langkah 1: Bagian
Anda akan perlu:
- Raspberry Pi
- LED Merah/Hijau (X2)
- Memantau
- Keyboard/mouse dengan USB
- Dongle WiFi
- Mikrofon USB Eksternal
- Resistor 330 ohm (X2)
Bagian Opsional
- Catu Daya Raspberry Pi Eksternal
- Kerah Anjing
Langkah 2: Prosedur
Langkah pertama untuk memulai proyek ini adalah mengamati perilaku dan pola yang terkait dengan anjing Anda. Anda dapat mengklik DI SINI untuk panduan sederhana tentang apa yang harus Anda cari. Dalam kasus saya, anjing saya melolong setiap kali dia bersemangat atau senang melihat seseorang dan menggonggong sebentar-sebentar ketika gugup atau kesal. Dalam beberapa langkah berikutnya saya akan menjelaskan cara memodifikasi program saya untuk mengakomodasi perilaku anjing Anda.
Langkah 3: Pemrograman
Di bawah ini adalah program Python yang saya gunakan untuk anjing saya. Pada langkah selanjutnya saya akan menjelaskan cara memodifikasi program untuk perilaku anjing Anda. Jangan menjalankan program dulu karena tidak akan bekerja sampai Anda melakukan langkah berikutnya.
#!/usr/bin/pythonimport pyaudio import sys import thread from time import sleep from array import array import RPi. GPIO as GPIO
kulit kayu = 0
howl=False hold=0 barkLength=5 delay=0 wait = 2 flag = 0 red = 7 green=5 exitFlag = False
def toggleLightRed(c):
GPIO.setmode(GPIO. BOARD) GPIO.setup(red, GPIO. OUT) GPIO.output(c, True) sleep(10) GPIO.output(c, False) print("Red toggled")
def toggleLightGreen(c):
GPIO.setmode(GPIO. BOARD) GPIO.setup(hijau, GPIO. OUT) GPIO.output(c, True) sleep(10) GPIO.output(c, False) print("Green toggled")
def utama():
global bark global howl global hold global barkLength global delay global flag global red global green
potongan = 8192
FORMAT = pyaudio.paInt16 CHANNEL = 1 RATE = 44100 threshold = 3000 max_value = 0 p = pyaudio. PyAudio() stream = p.open(format=FORMAT, channels=CHANNELS, rate=RATE, input=True, output=True, frames_per_buffer=chunk) GPIO.setmode(GPIO. BOARD) GPIO.setup(red, GPIO. OUT) GPIO.setup(green, GPIO. OUT) try: print "Detection initialized" while True: try: data = stream.read(chunk) kecuali IOError sebagai ex: if ex[1] != pyaudio.paInputOverflowed: raise data = '\x00' * chunk as_ints = array('h', data) max_value = max(as_ints) while max_value>threshold: delay= 0 hold=hold+1 try: data = stream.read(chunk) kecuali IOError as ex: if ex[1] != pyaudio.paInputOverflowed: raise data = '\x00' * chunk as_ints = array('h', data) max_value = max(as_ints) if hold>=barkLength: howl=True print "HOWL DETECTED" toggleLightGreen(hijau) GPIO.cleanup() elif hold>0 and hold
jika _name_ == '_main_':
utama()
Langkah 4: Pemecahan Masalah dan Modifikasi
Mempersiapkan
Sebelum menjalankan program, Anda perlu mengetikkan yang berikut ini ke Terminal untuk menginstal PyAudio:
sudo apt-get intall python-pyaudio
Setelah ini, Anda dapat menguji-jalankan program untuk memastikannya berfungsi dengan baik.
Penyelesaian masalah
Anda mungkin mengalami kesalahan berikut:
IOError: [Masukan Kesalahan meluap] -9981
Untuk memperbaikinya, cukup tambahkan nomor yang ditetapkan ke potongan variabel hingga kesalahan tidak lagi muncul.
Memodifikasi
Variabel barkLength menentukan berapa kali program berputar sebelum suara tidak lagi dilihat sebagai gonggongan, tetapi sebagai lolongan. Jika anjing Anda melolong tetapi hanya sebentar, Anda harus mengurangi jumlah ini.
Variabel merah dan hijau mengacu pada port output yang akan digunakan untuk indikator LED. Ini dapat diubah agar sesuai dengan kebutuhan Anda.
Meskipun saya tidak menggunakan penundaan variabel secara aktif dalam program saya, dapat diamati untuk menunjukkan frekuensi menggonggong atau melolong.
Variabel terus mengacu pada berapa kali program loop di mana tingkat kebisingan di atas ambang batas dan digunakan untuk menentukan apakah lolongan sedang berlangsung. Variabel ini tidak boleh dimodifikasi dengan cara apa pun karena lolongan terdeteksi melalui manipulasi variabel barkLength.
Variabel ambang batas dapat diturunkan jika gonggongan tidak terlalu keras atau dinaikkan jika ada kebisingan latar belakang yang dapat disalahartikan sebagai kebisingan yang berasal dari anjing.
Langkah 5: Perangkat Keras
Pada titik inilah Anda harus memiliki program yang berfungsi penuh yang menampilkan ke layar apa yang akan dilakukan perangkat keras. Poin dalam proyek ini adalah di mana Anda harus memutuskan apakah ini akan menjadi mikrofon stasioner yang dipasang di satu tempat (mis. tempat di rumah yang biasanya sering dikunjungi anjing atau bersentuhan dengan pengunjung) atau jika proyek akan diminimalkan dan dilekatkan pada kalung anjing untuk memberikan umpan balik langsung kepada orang yang berinteraksi dengan anjing tersebut.
Perlengkapan tulis
Hal termudah untuk dilakukan adalah meninggalkan semuanya di papan tempat memotong roti karena tidak akan ada gerakan yang dapat melepaskan kabel. Hubungkan katoda LED Merah ke pin Ground pada Raspberry Pi dan Anoda baik melalui resistor 330 ohm atau langsung ke pin 7 Raspberry Pi. Lakukan hal yang sama dengan LED Hijau tetapi hubungkan Anoda ke pin 5. Jalankan program dan Anda akan memiliki proyek yang selesai setelah Anda memodifikasi kode sesuai kebutuhan Anda.
Non-Stasioner
Saya akan merekomendasikan menyelesaikan versi stasioner terlebih dahulu hanya untuk memastikan bahwa semuanya berfungsi dan kemudian melanjutkan dari sana dengan menyolder semuanya bersama-sama sehingga tidak ada kabel yang terlepas dari gerakan anjing.
Pasang LED ke kerah sehingga keduanya berada dalam posisi yang nyaman dan dapat dilihat oleh seseorang saat mereka mendekat.
Selanjutnya sambungkan catu daya eksternal Anda seperti yang terlihat DI SINI ke raspberry pi dan kencangkan ke kerah dengan cara yang nyaman bagi anjing.
Setelah semuanya diamankan di tempatnya, lanjutkan dan jalankan program, pasang kerah ke anjing, dan selesai!
Direkomendasikan:
Lampu Suasana Hati LED $1 Dengan ATtiny13 dan WS2812: 7 Langkah
Lampu Mood LED $1 Dengan ATtiny13 dan WS2812: Ini adalah lampu mood murah dengan empat mode.1. Percikan pelangi. Sebuah percikan cahaya bergerak ke atas dari waktu ke waktu dan secara bertahap berubah warna.2. Cahaya pelangi. Cahaya stabil yang secara bertahap berubah warna.3. Simulasi api lilin.4. Mati. Anda boleh
Lampu Suasana Hati (DIY): 3 Langkah
Lampu Suasana Hati (DIY): Lámpara yang dapat diprogram sesuai dengan keinginan Anda untuk sala pase de un ambiente normal a un ambiente que llame la atención. Esta lámpara cuenta con dos modos, controlados tan solo con un botón! Un modo manual en el que podrás decidir que warna se asienta más
Lampu Suasana Hati Diego Castillo 20764: 4 Langkah
Lampu Suasana Hati Diego Castillo 20764: "Lampu Suasana Hati" La lampara de sentimientos es capas de funcionar en 2 modos: Manual y Automático.En modo Manual los colores podrán ser regulados a través de 3 potensi dan modo Automático lo que determinara el color de tu lampara, será
Lampu Suasana Hati 20387: 3 Langkah
Lampu Suasana Hati 20387: Este proyecto konsisten untuk membangun kembali laut capaz de tener principalmente dos modos de funcionamiento utilizando un módulo de leds RGB. El modo automático tomará informasi del medio ambiente por medio de dos sensores analógico
Lampu Suasana Hati - Diego Bandi: 5 Langkah
Mood Lamp - Diego Bandi: Una Mood Lamp la cual contiene un funcionamiento automático, el cual funciona mediante las correlaciones de temperaturea y humedad. Ademas de otro funcionamiento manual por el cual los tres colores (RGB) son controlados a traves de 3 pontenciometros