Sadržaj:
- Korak 1: Dijelovi
- Korak 2: Postupak
- Korak 3: Programiranje
- Korak 4: Rješavanje problema i izmjena
- Korak 5: Hardver
Video: Detektor raspoloženja pasa (Raspberry Pi): 5 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:36
Ovaj Instructable dizajniran je tako da uzme zvukove koje pas ispušta i odredi trebaju li im se približiti ili ne pomoću LED indikatora. Većina vlasnika pasa poznaje svoje ljubimce i može pročitati signale koje odašilje, pa je ovaj Instruktor uglavnom usmjeren prema strancima koji mogu doći u kontakt s vašim psom.
Korak 1: Dijelovi
Trebat će vam:
- Malina Pi
- Crvene/zelene LED diode (X2)
- Monitor
- Tipkovnica/miš s USB -om
- WiFi ključ
- Vanjski USB mikrofon
- Otpornik 330 ohma (X2)
Opcijski dijelovi
- Vanjsko napajanje Raspberry Pi
- Pseća ogrlica
Korak 2: Postupak
Prvi korak za početak ovog projekta je promatranje ponašanja i obrazaca povezanih s vašim psom. Ovdje možete kliknuti OVDJE za jednostavan vodič o tome što biste trebali tražiti. U mom slučaju, moj pas zavija kad god je uzbuđen ili sretan što vidi nekoga i isprekidano laje kad je nervozan ili pogoršan. U sljedećih nekoliko koraka objasnit ću kako izmijeniti svoj program kako bi se prilagodio ponašanju vašeg psa.
Korak 3: Programiranje
Ispod je Python program koji sam koristio za svog psa. U sljedećem koraku objasnit ću kako izmijeniti program za ponašanje vašeg psa. Nemojte još pokretati program jer neće raditi dok ne napravite sljedeći korak.
#!/usr/bin/pythonimport pyaudio import sys import thread from time import import sleep from array import array import RPi. GPIO kao GPIO
kora = 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 (crveno, GPIO. OUT) GPIO.output (c, True) spavanje (10) GPIO.output (c, False) ispis ("Crveno preklopljeno")
def toggleLightGreen (c):
GPIO.setmode (GPIO. BOARD) GPIO.setup (zeleno, GPIO. OUT) GPIO.output (c, True) spavanje (10) GPIO.output (c, False) ispis ("Zeleno preklopljeno")
def main ():
global bark global howl global hold global barkLength global delay global flag global red global green
komad = 8192
FORMAT = pyaudio.paInt16 KANALI = 1 RATE = 44100 prag = 3000 max_value = 0 p = pyaudio. PyAudio () stream = p.open (format = FORMAT, kanali = KANALI, brzina = RATE, ulaz = Istina, izlaz = Istina, frame_per_buffer = chunk) GPIO.setmode (GPIO. BOARD) GPIO.setup (crveno, GPIO. OUT) GPIO.setup (zeleno, GPIO. OUT) try: print "Otkrivanje je inicijalizirano" dok je True: try: data = stream.read (komad) osim IOError kao ex: if ex [1]! = pyaudio.paInputOverflowed: raise data = '\ x00' * chunk as_ints = array ('h', data) max_value = max (as_ints) dok max_value> prag: delay = 0 hold = hold+1 try: data = stream.read (chunk) osim IOError kao npr: 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 (zeleno) GPIO.cleanup () elif hold> 0 and hold
ako je _naziv_ == '_glavni_':
glavni()
Korak 4: Rješavanje problema i izmjena
Postaviti
Prije pokretanja programa morat ćete unijeti sljedeće u terminal kako biste instalirali PyAudio:
sudo apt-get intall python-pyaudio
Nakon toga možete testirati program da biste se uvjerili da radi ispravno.
Rješavanje problema
Možda ćete doživjeti sljedeću pogrešku:
IOError: [Errno Input overflow] -9981
Da biste to riješili, jednostavno povećavajte broj dodijeljen promjenjivom komadu dok se pogreška više ne pojavi.
Modificiranje
Promjenjiva barkLength određuje koliko se puta program petlja prije nego što se šum više ne vidi kao lavež, već kao urlik. Ako vaši psi zavijaju, ali to čine samo nakratko, tada biste trebali smanjiti ovaj broj.
Varijable crvena i zelena odnose se na izlazne portove koji će se koristiti za LED indikatore. Mogu se promijeniti prema vašim potrebama.
Iako u svom programu ne koristim aktivno varijablu kašnjenja, može se primijetiti da ukazuje na učestalost lajanja ili zavijanja.
Varijabla hold se odnosi na to koliko se puta program petlja gdje je razina buke iznad praga i koristi se za utvrđivanje je li zavijanje. Ova se varijabla ne smije ni na koji način mijenjati jer se urlici otkrivaju manipulacijom varijable barkLength.
Varijabla praga može se smanjiti ako kora nije jako glasna ili podignuta ako postoji pozadinska buka koja bi se mogla pogrešno protumačiti kao buka koja dolazi od psa.
Korak 5: Hardver
U ovom trenutku trebali biste imati potpuno funkcionalan program koji prikazuje na ekranu što će hardver raditi. Na ovom mjestu u projektu trebate odlučiti hoće li to biti stacionarni mikrofon koji je postavljen na jednom mjestu (npr. Mjesto u kući gdje pas obično posjećuje ili dolazi u kontakt s posjetiteljima) ili će projekt biti minimiziran i pričvršćeni za ogrlicu psa kako bi pružili trenutnu povratnu informaciju osobi koja komunicira s psom.
Stacionarno
Najlakše je učiniti sve ostaviti na ploči jer neće doći do pokreta koji bi mogao odvojiti žice. Spojite katode crvenih LED dioda na uzemljeni pin na Raspberry Pi i anode bilo kroz otpornik od 330 ohma ili ravno u pin 7 Raspberry Pi. Učinite isto sa zelenim LED diodama, ali spojite anode na pin 5. Pokrenite program i trebali biste imati dovršen projekt nakon što promijenite kôd prema svojim potrebama.
Nestacionaran
Preporučio bih da prvo dovršite stacionarnu verziju samo kako biste bili sigurni da sve radi, a zatim nastavite dalje spajajući sve tako da niti jedna žica neće postati nepovezana s kretanjem psa.
Pričvrstite LED diode na ovratnik tako da obje budu u udobnom položaju i da ih netko može vidjeti dok se približavaju.
Zatim spojite vanjsko napajanje, poput onog koje se vidi OVDJE, na malinu pi i pričvrstite ga na ogrlicu na način koji je ugodan za psa.
Nakon što sve učvrstite na svom mjestu, pokrenite program, pričvrstite ogrlicu na psa i gotovi ste!
Preporučeni:
Zvučnik raspoloženja- snažan zvučnik za reprodukciju glazbe raspoloženja na temelju temperature okoline: 9 koraka
Mood Speaker- snažan zvučnik za reprodukciju glazbe raspoloženja na temelju temperature okoline: Zdravo! Za moj školski projekt u MCT Howest Kortrijk, napravio sam Mood Speaker, ovo je pametni Bluetooth zvučnik s različitim senzorima, LCD-om i WS2812b LED traka uključena. Zvučnik pušta glazbu u pozadini ovisno o temperaturi, ali može
Quadcopteri borbenih dronova, pravo iskustvo borbe pasa: 8 koraka (sa slikama)
Quadcopteri borbenih dronova, pravo iskustvo borbe protiv pasa: Dobro došli u moju " ible " #37Moramo priznati da su trenutni borbeni dronovi na tržištu pomalo neuredni. Vrlo je teško razumjeti tko pobjeđuje, a tko gubi. Kad se jedan dron spusti, slijedi drugi (sudari se jedan u drugog
Arduino kanta za smeće protiv pasa: 6 koraka (sa slikama)
Arduino kanta za smeće protiv pasa: U ovom projektu pokazat ću vam kako izgraditi smiješnu, ali radnu metodu kako biste spriječili da vaši dosadni psi uđu u vašu kantu za smeće
Trener pasa za pse: 5 koraka
Trener pasa: prema AKC-u, (https://www.akc.org/expert-advice/nutrition/how-many-times-a-day-should-a-dog-eat/) veličina obroka za hrana je bitna za pse, a veličina kutije također ograničava broj hrane koju bi pas mogao pojesti dnevno, "Veterinar
Raspberry Pi automatski ulagač pasa i video prijenos uživo: 3 koraka
Raspberry Pi automatska hranilica za pse i video prijenos uživo: Ovo je moja automatska hranilica za pse s Raspberry PI pogonom. Radio sam od ujutro od 11 do 21 sat. Moj pas poludi ako ga ne hranim na vrijeme. Surfali googleom za kupnju automatskih hranilica, nisu dostupni u Indiji i skupi su uvoz