Obsah:
- Krok 1: Diely
- Krok 2: Postup
- Krok 3: Programovanie
- Krok 4: Riešenie problémov a úpravy
- Krok 5: Hardvér
Video: Detektor psej nálady (Raspberry Pi): 5 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:59
Tento pokyn je navrhnutý tak, aby zaznamenával zvuky, ktoré pes vydáva, a určil, či sa k nim má alebo nemá približovať pomocou indikátorov LED. Väčšina majiteľov psov pozná svojich domácich miláčikov a dokáže čítať signály, ktoré vydávajú, takže tento návod je väčšinou zameraný na cudzincov, ktorí môžu prísť do kontaktu s vašim psom.
Krok 1: Diely
Budete potrebovať:
- Malinový koláč
- Červené/zelené LED diódy (X2)
- Monitor
- Klávesnica/myš s USB
- WiFi kľúč
- Externý mikrofón USB
- Rezistor 330 ohmov (X2)
Voliteľné diely
- Externý napájací zdroj Raspberry Pi
- Psí obojok
Krok 2: Postup
Prvým krokom na začiatku tohto projektu je pozorovanie správania a vzorcov spojených s vašim psom. Kliknutím sem nájdete jednoduchý návod, čo by ste mali hľadať. V mojom prípade môj pes zavýja vždy, keď je vzrušený alebo šťastný, že niekoho vidí, a prerušovane šteká, keď je nervózny alebo sa zhoršuje. V nasledujúcich niekoľkých krokoch vysvetlím, ako upraviť svoj program tak, aby zodpovedal správaniu vášho psa.
Krok 3: Programovanie
Nasleduje program Python, ktorý som použil pre svojho psa. V nasledujúcom kroku vysvetlím, ako upraviť program pre správanie vášho psa. Program ešte nespúšťajte, pretože nebude fungovať, kým neurobíte ďalší krok.
#!/usr/bin/pythonimport pyaudio import sys import vlákna z času import spánku z importu poľa import poľa RPi. GPIO ako GPIO
kôra = 0
vytie = falošné podržanie = 0 kôry Dĺžka = 5 oneskorení = 0 čakanie = 2 vlajky = 0 červená = 7 zelená = 5 výjazd Vlajka = Nepravda
def toggleLightRed (c):
GPIO.setmode (GPIO. BOARD) GPIO.setup (červená, GPIO. OUT) GPIO.output (c, True) spánok (10) GPIO.output (c, False) tlač ("Červené prepínanie")
def toggleLightGreen (c):
GPIO.setmode (GPIO. BOARD) GPIO.setup (zelená, GPIO. OUT) GPIO.output (c, True) spánok (10) GPIO.output (c, False) tlač ("Zelená prepínaná")
def main ():
globálna kôra globálne vytie globálne držanie globálnej kôryDĺžka globálneho oneskorenia globálna vlajka globálna červená globálna zelená
kus = 8192
FORMÁT = pyaudio.paInt16 KANÁLOV = 1 RATE = 44100 prah = 3000 max_value = 0 p = pyaudio. PyAudio () stream = p.open (formát = FORMAT, kanály = CHANNELS, rate = RATE, vstup = True, výstup = True, frames_per_buffer = chunk) GPIO.setmode (GPIO. BOARD) GPIO.setup (červený, GPIO. OUT) GPIO.setup (zelený, GPIO. OUT) skúste: vytlačte „Detekcia inicializovaná“, zatiaľ čo True: skúste: data = stream.read (kus) okrem IOError ako ex: if ex [1]! = pyaudio.paInputOverflowed: raise data = '\ x00' * chunk as_ints = pole ('h', data) max_value = max (as_ints) while max_value> threshold: delay = 0 hold = hold+1 try: data = stream.read (chunk) except 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 (green) GPIO.cleanup () elif hold> 0 and hold
if _name_ == '_main_':
Hlavná()
Krok 4: Riešenie problémov a úpravy
Nastaviť
Pred spustením programu budete musieť do Terminálu zadať nasledujúce údaje, aby ste nainštalovali PyAudio:
sudo apt-get intall python-pyaudio
Potom môžete program spustiť a uistiť sa, že funguje správne.
Riešenie problémov
Môže sa vyskytnúť nasledujúca chyba:
IOError: [Vstup Errno pretekol] -9981
Ak to chcete opraviť, jednoducho zvyšujte číslo priradené k variabilnému bloku, kým sa chyba viac nezobrazí.
Úprava
Premenná barkLength určuje, koľkokrát sa program zacyklí, kým hluk prestane byť vnímaný ako štekot, ale ako kvílenie. Ak vaši psi zavýjajú, ale robia to iba na krátky náraz, mali by ste toto číslo znížiť.
Premenné červená a zelená sa týkajú výstupných portov, ktoré budú použité pre indikátory LED. Tieto je možné zmeniť tak, aby vyhovovali vašim potrebám.
Aj keď vo svojom programe variabilné oneskorenie nepoužívam aktívne, dá sa pozorovať, že naznačuje frekvenciu štekania alebo kvílenia.
Variabilné podržanie označuje, koľkokrát sa program zacyklí, keď je hladina hluku nad prahovou hodnotou, a slúži na určenie, či prebieha kvílenie. Táto premenná by nemala byť žiadnym spôsobom upravovaná, pretože kvílenie sa zisťuje manipuláciou s premennou barkLength.
Prahová premenná môže byť znížená, ak kôra nie je veľmi hlasná, alebo zvýšená, ak je v pozadí hluk, ktorý by mohol byť nesprávne interpretovaný ako hluk vychádzajúci zo psa.
Krok 5: Hardvér
V tomto mieste by ste mali mať plne funkčný program, ktorý na obrazovke zobrazuje, čo bude hardvér robiť. V tomto bode projektu by ste sa mali rozhodnúť, či to bude stacionárny mikrofón, ktorý je nastavený na jednom mieste (napríklad v dome, kde pes bežne chodí alebo prichádza do kontaktu s návštevníkmi), alebo sa projekt minimalizuje. a pripevnené k obojku psa, aby poskytovali okamžitú spätnú väzbu osobe, ktorá so psom interaguje.
Stacionárne
Najľahšie je nechať všetko na doske, pretože nedôjde k pohybu, ktorý by mohol odpojiť drôty. Pripojte katódy červených LED k uzemňovaciemu kolíku na Raspberry Pi a anódam buď cez odpor 330 ohmov, alebo priamo do pinu 7 Raspberry Pi. To isté urobte so zelenými diódami LED, ale pripojte anódy k kolíku 5. Spustite program a po úprave kódu podľa svojich potrieb by ste mali mať dokončený projekt.
Nestacionárne
Odporúčal by som najskôr dokončiť stacionárnu verziu, aby ste sa presvedčili, že všetko funguje, a potom sa odtiaľ presunúť spájkovaním všetkého tak, aby sa od pohybu psa neodpojili žiadne drôty.
Pripojte LED diódy k obojku tak, aby boli obaja v pohodlnej polohe a boli niekým viditeľní, keď sa priblížia.
Potom pripojte svoj externý napájací zdroj, ako je ten, ktorý je vidieť TU, k malinovému pi a pripevnite ho k obojku spôsobom, ktorý je pre psa pohodlný.
Akonáhle je všetko zaistené na mieste, pokračujte a spustite program, pripevnite obojok k psovi a máte hotovo!
Odporúča:
Super ľahké svetlo krištáľovej nálady: 6 krokov
Super ľahké svetlo krištáľovej nálady: Dobrý deň, tvorcovia! Jedná sa o super duper arduino projekt, ktorý bude fungovať ako učebný nástroj aj ako zlé úžasné náladové svetlo. Je to len pár kúskov, takže ho môžete skombinovať za čas potrebný na vytlačenie podkladu. Je to skvelá lekcia
Lampa nálady IOT: 8 krokov (s obrázkami)
IOT Mood Lamp: IoT Mood lampa vyrobená pomocou Node MCU (ESP8266), LED diód RGB a nádoby. Farby žiarovky je možné meniť pomocou aplikácie Blynk. Vybral som pamätnú sochu Tonyho Starka, ktorú som nechal vytlačiť 3D a vložiť do tejto lampy. Môžete si vziať akúkoľvek hotovú sochu alebo
Lampa nálady Arduino: 6 krokov
Lampa nálady Arduino: Lampa nálady, ktorá sa líši od toho, čo sa deje v Arduine. Obsahuje jednu z najbežnejších štrukturálnych zásad, ako je napríklad funkcia Arduino UNO, potenciálny meter, NeoPixeles, prepínanie medzi režimami a režimom, ako aj rôzne režimy
Domáca lampa nálady: 6 krokov
Domáca lampa s náladou: Lampa s náladou sa líši od individuálneho farebného prevedenia. Pokračovanie v hromadnom nakupovaní a zostavovaní základných balíkov Arduino a ďalších materiálov
Reproduktor nálady- výkonný reproduktor na prehrávanie hudby nálady na základe teploty okolia: 9 krokov
Reproduktor nálady- výkonný reproduktor na prehrávanie hudby nálady na základe teploty okolia: Dobrý deň! Pre môj školský projekt v MCT Howest Kortrijk som vyrobil reproduktor nálady, ktorý je inteligentným reproduktorom Bluetooth s rôznymi senzormi, LCD a WS2812b LED pásik je súčasťou dodávky. Reproduktor prehráva hudbu na pozadí podľa teploty, ale môže