Tartalomjegyzék:
- 1. lépés: Alkatrészek
- 2. lépés: Eljárás
- 3. lépés: Programozás
- 4. lépés: Hibaelhárítás és módosítás
- 5. lépés: Hardver
Videó: Kutyahangulat -érzékelő (Raspberry Pi): 5 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:42
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
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
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
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
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
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:
DC - DC feszültség Lépés lekapcsoló mód Buck feszültségátalakító (LM2576/LM2596): 4 lépés
DC-DC feszültség Lépés lekapcsoló üzemmód Buck feszültségátalakító (LM2576/LM2596): A rendkívül hatékony bakkonverter készítése nehéz feladat, és még a tapasztalt mérnököknek is többféle kivitelre van szükségük, hogy a megfelelőt hozzák létre. egy DC-DC áramátalakító, amely csökkenti a feszültséget (miközben növeli
Akusztikus levitáció az Arduino Uno-val Lépésről lépésre (8 lépés): 8 lépés
Akusztikus lebegés az Arduino Uno-val Lépésről lépésre (8 lépés): ultrahangos hangátvivők L298N Dc női adapter tápegység egy egyenáramú tűvel Arduino UNOBreadboard és analóg portok a kód konvertálásához (C ++)
LED villog Raspberry Pi - A GPIO csapok használata a Raspberry Pi -n: 4 lépés
LED villog Raspberry Pi | A GPIO csapok használata a Raspberry Pi -n: Sziasztok, ebben az oktatási útmutatóban megtanuljuk, hogyan kell használni a Raspberry pi GPIO -jait. Ha valaha is használta az Arduino -t, akkor valószínűleg tudja, hogy a LED -es kapcsolót stb. Csatlakoztathatjuk a csapjaihoz, és úgy működtethetjük. hogy a LED villogjon, vagy kapjon bemenetet a kapcsolóról, így
A Raspbian Buster telepítése a Raspberry Pi 3 - -ra A Raspbian Buster használatának első lépései a Raspberry Pi 3b / 3b+segítségével: 4 lépés
A Raspbian Buster telepítése a Raspberry Pi 3 | -ra A Raspbian Buster használatának megkezdése a Raspberry Pi 3b / 3b+alkalmazással: Sziasztok, a közelmúltban a Raspberry pi szervezet új Raspbian operációs rendszert indított Raspbian Buster néven. Ez a Raspbian új verziója a Raspberry pi's számára. Tehát ma ebben az utasításban megtanuljuk, hogyan kell telepíteni a Raspbian Buster OS -t a Raspberry pi 3 -ra
A Raspbian telepítése a Raspberry Pi 3 B -be HDMI nélkül - Kezdő lépések a Raspberry Pi 3B - A Raspberry Pi beállítása 3: 6 lépés
A Raspbian telepítése a Raspberry Pi 3 B -be HDMI nélkül | Kezdő lépések a Raspberry Pi 3B | A Raspberry Pi 3 beállítása: Mint néhányan tudják, a Raspberry Pi számítógépek nagyon félelmetesek, és az egész számítógépet egyetlen apró táblán szerezheti be. A Raspberry Pi 3 B modell négymagos 64 bites ARM Cortex A53-at tartalmaz 1,2 GHz -es órajelen. Ezzel a Pi 3 nagyjából 50