Tartalomjegyzék:

Kutyahangulat -érzékelő (Raspberry Pi): 5 lépés
Kutyahangulat -érzékelő (Raspberry Pi): 5 lépés

Videó: Kutyahangulat -érzékelő (Raspberry Pi): 5 lépés

Videó: Kutyahangulat -érzékelő (Raspberry Pi): 5 lépés
Videó: Микрокомпьютер Raspberry Pi 2024, November
Anonim
Kutyahangulat -érzékelő (Raspberry Pi)
Kutyahangulat -érzékelő (Raspberry Pi)

Ezt az utasításokat úgy tervezték, hogy felvegye a kutya hangjait, és meghatározza, hogy a jelző LED -ekkel kell -e megközelíteni őket. A legtöbb kutyatulajdonos ismeri háziállatait, és el tudja olvasni az általuk adott jeleket, így ez az utasítás többnyire idegenek felé irányul, akik kapcsolatba kerülhetnek a kutyájával.

1. lépés: Alkatrészek

Alkatrészek
Alkatrészek
Alkatrészek
Alkatrészek
Alkatrészek
Alkatrészek

Szükséged lesz:

  • Raspberry Pi
  • Piros/zöld LED -ek (X2)
  • Monitor
  • Billentyűzet/egér USB -vel
  • WiFi hardverkulcs
  • Külső USB mikrofon
  • 330 ohmos ellenállás (X2)

Opcionális alkatrészek

  • Külső Raspberry Pi tápegység
  • Nyakörv

2. lépés: Eljárás

Eljárás
Eljárás

A projekt megkezdésének első lépése a kutya viselkedésének és mintáinak megfigyelése. IDE kattintva talál egy egyszerű útmutatót arról, hogy mit kell keresnie. Az én esetemben a kutyám üvölt, amikor izgatott vagy örül valakit, és idegesen vagy súlyosbodva időnként ugat. A következő néhány lépésben elmagyarázom, hogyan módosíthatom a programomat a kutya viselkedésének megfelelően.

3. lépés: Programozás

Programozás
Programozás

Az alábbiakban a kutyámhoz használt Python programot mutatom be. A következő lépésben elmagyarázom, hogyan lehet módosítani a programot kutyája viselkedéséhez. Ne futtassa még a programot, mert a következő lépés végrehajtásáig nem fog működni.

#!/usr/bin/pythonimport pyaudio import sys import szál importálási időből

kéreg = 0

üvöltés = hamis tartás = 0 kéreg

def toggleLightRed (c):

GPIO.setmode (GPIO. BOARD) GPIO.setup (piros, GPIO. OUT) GPIO.output (c, True) alvó (10) GPIO.output (c, False) nyomtatás ("Piros toggled")

def toggleLightGreen (c):

GPIO.setmode (GPIO. BOARD) GPIO.setup (zöld, GPIO. OUT) GPIO.output (c, True) alvó (10) GPIO.output (c, False) nyomtatás ("Zöld toggled")

def main ():

globális kéreg globális üvöltés globális hold globális kéregHosszú globális késés globális zászló globális piros globális zöld

darab = 8192

FORMAT = pyaudio.paInt16 CHANNELS = 1 RATE = 44100 küszöb = 3000 max_érték = 0 p = pyaudio. PyAudio () stream = p.open (formátum = FORMAT, csatornák = CHANNELS, rate = RATE, input = True, output = True, frames_per_buffer = darab) GPIO.setmode (GPIO. BOARD) GPIO.setup (piros, GPIO. OUT) GPIO.setup (zöld, GPIO. OUT) try: print "Detection inicializálva", míg True: try: data = stream.read (darab) az IOError kivételével, mint például: if ex [1]! = pyaudio.paInputOverflowed: raise data = '\ x00' * darab as_ints = tömb ('h', adat) max_value = max (as_ints), míg a max_érték> küszöb: delay = 0 tartás = tartás+1 próbálkozás: adat = folyam.olvasás (darab), kivéve az IO hibát, mint például: ha 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 (zöld) GPIO.cleanup () elif hold> 0 and hold

ha _name_ == '_main_':

fő()

4. lépés: Hibaelhárítás és módosítás

Hibaelhárítás és módosítás
Hibaelhárítás és módosítás
Hibaelhárítás és módosítás
Hibaelhárítás és módosítás
Hibaelhárítás és módosítás
Hibaelhárítás és módosítás

Beállít

A program futtatása előtt be kell írnia a következőt a terminálba a PyAudio telepítéséhez:

sudo apt-get intall python-pyaudio

Ezt követően tesztelheti a programot, hogy megbizonyosodjon arról, hogy megfelelően működik.

Hibaelhárítás

A következő hibát tapasztalhatja:

IOError: [Errno Input overflow] -9981

Ennek javításához egyszerűen növelje a változódarabhoz rendelt számot, amíg a hiba már nem jelenik meg.

Módosító

A barkLength változó diktálja, hogy a program hányszor ciklusozik, mielőtt a zajt már nem ugatásnak, hanem üvöltésnek tekintik. Ha a kutyák üvöltenek, de csak rövid ideig, akkor ezt a számot csökkenteni kell.

A piros és zöld változók a LED -kijelzőkhöz használt kimeneti portokra vonatkoznak. Ezek megváltoztathatók az Ön igényeinek megfelelően.

Bár nem használom aktívan a változó késleltetést a programomban, megfigyelhető az ugatás vagy üvöltés gyakorisága.

A hold változó arra utal, hogy hányszor ciklusos a program, ahol a zajszint meghaladja a küszöbértéket, és annak meghatározására szolgál, hogy üvöltés történik -e. Ezt a változót semmilyen módon nem szabad módosítani, mivel az üvöltéseket a barkLength változó manipulálása érzékeli.

A küszöbváltozó csökkenthető, ha a kéreg nem túl hangos, vagy felemelkedik, ha olyan háttérzaj van, amelyet rosszul lehet értelmezni a kutyából származó zajként.

5. lépés: Hardver

Hardver
Hardver
Hardver
Hardver
Hardver
Hardver

Ezen a ponton rendelkeznie kell egy teljesen működőképes programmal, amely megjeleníti a képernyőn, hogy mit fog tenni a hardver. A projekt ezen pontján el kell döntenie, hogy ez egy helyhez kötött mikrofon lesz, amelyet egy helyre állítanak be (pl. Egy hely a házban, ahol a kutya általában megfordul, vagy kapcsolatba kerül a látogatókkal), vagy a projektet minimalizálják és a kutya nyakörvéhez rögzítve, hogy azonnali visszajelzést adjon a kutyával interakcióba lépő személynek.

Helyhez kötött

A legegyszerűbb dolog az, ha mindent kenyérsütőn hagyunk, mivel nem lesz olyan mozgás, amely leválaszthatja a vezetékeket. Csatlakoztassa a piros LED -ek katódjait a Raspberry Pi és az anódok földelőcsapjához vagy 330 ohmos ellenálláson keresztül, vagy egyenesen a Raspberry Pi 7. tűjébe. Tegye ugyanezt a zöld LED -ekkel, de csatlakoztassa az anódokat az 5. tűhöz. Futtassa a programot, és készen kell lennie a projekthez, miután módosította a kódot az Ön igényei szerint.

Nem helyhez kötött

Azt javaslom, hogy először csak a helyhez kötött verziót töltse ki, csak hogy megbizonyosodjon arról, hogy minden működik, majd onnan lépjen tovább úgy, hogy mindent összeforraszt, hogy a vezetékek ne váljanak szét a kutya mozgásától.

Csatlakoztassa a LED -eket a gallérhoz úgy, hogy mindketten kényelmes helyzetben legyenek, és valaki láthassa őket, amikor közeledik.

Ezután csatlakoztassa a külső tápegységet, például az ITT láthatót a málna pi -hez, és rögzítse a nyakörvhöz a kutya számára kényelmes módon.

Ha minden a helyére került, akkor futtassa a programot, rögzítse a nyakörvet a kutyához, és kész!

Ajánlott: