Satura rādītājs:

Suņa garastāvokļa detektors (Raspberry Pi): 5 soļi
Suņa garastāvokļa detektors (Raspberry Pi): 5 soļi

Video: Suņa garastāvokļa detektors (Raspberry Pi): 5 soļi

Video: Suņa garastāvokļa detektors (Raspberry Pi): 5 soļi
Video: BigTreeTech - Manta - M8P - Basics 2024, Maijs
Anonim
Suņa garastāvokļa detektors (Raspberry Pi)
Suņa garastāvokļa detektors (Raspberry Pi)

Šī pamācība ir izstrādāta, lai uztvertu suņa izdotās skaņas un noteiktu, vai tām vajadzētu tuvoties, izmantojot indikatora gaismas diodes. Lielākā daļa suņu īpašnieku zina savus mājdzīvniekus un var nolasīt signālus, ko tie dod, tāpēc šī pamācība galvenokārt ir paredzēta svešiniekiem, kuri var nonākt saskarē ar jūsu suni.

1. darbība: detaļas

Daļas
Daļas
Daļas
Daļas
Daļas
Daļas

Jums būs nepieciešams:

  • Raspberry Pi
  • Sarkanas/zaļas gaismas diodes (X2)
  • Monitors
  • Tastatūra/pele ar USB
  • WiFi dongle
  • Ārējais USB mikrofons
  • 330 omu rezistors (X2)

Izvēles daļas

  • Ārējais Raspberry Pi barošanas avots
  • Suņa kaklasiksna

2. solis: procedūra

Procedūra
Procedūra

Pirmais solis, lai sāktu šo projektu, ir novērot uzvedību un modeļus, kas saistīti ar jūsu suni. Jūs varat noklikšķināt ŠEIT, lai iegūtu vienkāršu rokasgrāmatu par to, kas jums jāmeklē. Manā gadījumā mans suns gaudo ikreiz, kad ir sajūsmā vai priecājas kādu redzēt, un ar pārtraukumiem rej, kad nervozē vai kļūst saasināts. Nākamajos soļos es paskaidrošu, kā mainīt savu programmu, lai pielāgotos jūsu suņa uzvedībai.

3. solis: programmēšana

Programmēšana
Programmēšana

Zemāk ir Python programma, kuru izmantoju savam sunim. Nākamajā solī es paskaidrošu, kā mainīt programmu jūsu suņa uzvedībai. Palaidiet programmu tikai pagaidām, jo tā nedarbosies, kamēr neveiksit nākamo darbību.

#!/usr/bin/pythonimport pyaudio importēt sys importēšanas pavedienu no laika importēšanas miega no masīva importēšanas masīva importēšanas RPi. GPIO kā GPIO

miza = 0

howl = Viltus aizturēšana = 0 mizas Garums = 5 kavēšanās = 0 gaidīšana = 2 karogs = 0 sarkans = 7 zaļš = 5 izeja

def toggleLightRed (c):

GPIO.setmode (GPIO. BOARD) GPIO.setup (sarkans, GPIO. OUT) GPIO.output (c, True) miega režīms (10) GPIO.output (c, False) druka ("Red toggled")

def toggleLightGreen (c):

GPIO.setmode (GPIO. BOARD) GPIO.setup (zaļa, GPIO. OUT) GPIO.output (c, True) miega režīms (10) GPIO.output (c, False) druka ("Zaļš pārslēgts")

def main ():

globālā miza globālā gaudošana globālā turēt globālā mizaLength global delay global global global global global green

gabals = 8192

FORMAT = pyaudio.paInt16 CHANNELS = 1 RATE = 44100 slieksnis = 3000 max_value = 0 p = pyaudio. PyAudio () stream = p.open (format = FORMAT, kanāli = CHANNELS, rate = RATE, input = True, output = True, frames_per_buffer = gabals) GPIO.setmode (GPIO. BOARD) GPIO.setup (sarkans, GPIO. OUT) GPIO.setup (zaļš, GPIO. OUT) mēģiniet: izdrukāt "Atklāšana inicializēta", bet True: try: data = stream.read () 0 turēt = turēt+1 mēģināt: dati = straume.lasīt (gabals), izņemot IOError kā ex: ja ex [1]! = Pyaudio.paInputOverflowed: paaugstināt datus = '\ x00' * gabals as_ints = masīvs ('h', dati) max_value = max (as_ints), ja tur>> mizaLength: howl = True print "HOWL DETECTED" toggleLightGreen (zaļš) GPIO.cleanup () elif hold> 0 and hold

ja _name_ == '_main_':

galvenais ()

4. darbība. Problēmu novēršana un modificēšana

Problēmu novēršana un modificēšana
Problēmu novēršana un modificēšana
Problēmu novēršana un modificēšana
Problēmu novēršana un modificēšana
Problēmu novēršana un modificēšana
Problēmu novēršana un modificēšana

Uzstādīt

Pirms programmas palaišanas, lai instalētu PyAudio, terminālī būs jāievada:

sudo apt-get intall python-pyaudio

Pēc tam jūs varat palaist programmu, lai pārliecinātos, ka tā darbojas pareizi.

Traucējummeklēšana

Var rasties šāda kļūda:

IOError: [kļūdas ievade pārpildīta] -9981

Lai to labotu, vienkārši palieliniet mainīgajai daļai piešķirto numuru, līdz kļūda vairs neparādās.

Modificēšana

Mainīgais barkLength nosaka, cik reizes programma veic cilpas, pirms troksnis vairs netiek uztverts kā miza, bet gan kā gaudošana. Ja jūsu suņi brēc, bet to dara tikai īsu sprādzienu, jums šis skaitlis jāsamazina.

Mainīgie sarkanie un zaļie attiecas uz izejas portiem, kas tiks izmantoti LED indikatoriem. Tos var mainīt atbilstoši jūsu vajadzībām.

Lai gan savā programmā aktīvi neizmantoju mainīgo aizkavi, var novērot, ka tas norāda uz riešanas vai gaudošanas biežumu.

Mainīgais aizturējums norāda uz to, cik reizes programma veic ciklus, ja trokšņa līmenis ir virs sliekšņa, un tiek izmantots, lai noteiktu, vai notiek gaudošana. Šo mainīgo nekādā gadījumā nedrīkst modificēt, jo gaudošana tiek atklāta, manipulējot ar mainīgo barkLength.

Sliekšņa mainīgo var pazemināt, ja miza nav ļoti skaļa vai pacelta, ja ir fona troksnis, ko varētu nepareizi interpretēt kā suņa radītu troksni.

5. solis: aparatūra

Aparatūra
Aparatūra
Aparatūra
Aparatūra
Aparatūra
Aparatūra

Tieši šajā brīdī jums vajadzētu būt pilnībā funkcionējošai programmai, kas ekrānā parāda, ko aparatūra darīs. Šis projekta punkts ir vieta, kur jums jāizlemj, vai tas būs stacionārs mikrofons, kas uzstādīts vienā vietā (piemēram, vieta mājā, kur suns parasti biež vai saskaras ar apmeklētājiem), vai arī projekts tiks samazināts līdz minimumam. un piestiprināts pie suņa apkakles, lai sniegtu tūlītēju atgriezenisko saiti personai, kas mijiedarbojas ar suni.

Stacionārs

Vienkāršākais ir visu atstāt uz maizes dēļa, jo nebūs kustību, kas varētu atvienot vadus. Savienojiet sarkano gaismas diožu katodus ar Raspberry Pi un anodu zemējuma tapu vai nu caur 330 omu rezistoru, vai tieši Raspberry Pi 7. tapā. Dariet to pašu ar zaļajām gaismas diodēm, bet savienojiet anodus ar 5. taustiņu. Palaidiet programmu, un jums ir jābūt pabeigtam projektam, kad esat mainījis kodu atbilstoši savām vajadzībām.

Nestacionārs

Es ieteiktu vispirms aizpildīt stacionāro versiju tikai tāpēc, lai pārliecinātos, ka viss darbojas, un tad pāriet no turienes, visu pielodējot kopā, lai neviens vads netiktu atvienots no suņa kustības.

Piestipriniet gaismas diodes pie apkakles, lai tās abas atrastos ērtā stāvoklī un tās varētu redzēt kāds, tuvojoties.

Pēc tam pievienojiet savu ārējo barošanas avotu, piemēram, šeit redzamo, aveņu pi un piestipriniet to pie apkakles sunim ērtā veidā.

Kad viss ir nostiprināts vietā, dodieties uz priekšu un palaidiet programmu, piestipriniet kaklasiksnu sunim un esat pabeidzis!

Ieteicams: