Sisällysluettelo:

Koiran mielialanilmaisin (Vadelma Pi): 5 vaihetta
Koiran mielialanilmaisin (Vadelma Pi): 5 vaihetta

Video: Koiran mielialanilmaisin (Vadelma Pi): 5 vaihetta

Video: Koiran mielialanilmaisin (Vadelma Pi): 5 vaihetta
Video: #VIDEO - #कोईराने ह का रे | #Ziddi Boy Chandan , #Ankita Singh | #Koirane H Ka Re | Viral Song 2023 2024, Marraskuu
Anonim
Koiran mielialanilmaisin (Vadelma Pi)
Koiran mielialanilmaisin (Vadelma Pi)

Tämä Instructable on suunniteltu ottamaan koiran antamat äänet ja määrittämään, tuleeko niihin lähestyä vai ei LED -merkkivaloilla. Useimmat koiranomistajat tuntevat lemmikkinsä ja voivat lukea niiden antamat signaalit, joten tämä ohje on suunnattu lähinnä vieraille, jotka voivat joutua kosketuksiin koirasi kanssa.

Vaihe 1: Osat

Osat
Osat
Osat
Osat
Osat
Osat

Tarvitset:

  • Raspberry Pi
  • Punaiset/vihreät LEDit (X2)
  • Monitori
  • Näppäimistö/hiiri USB: llä
  • WiFi -dongle
  • Ulkoinen USB -mikrofoni
  • 330 ohmin vastus (X2)

Valinnaiset osat

  • Ulkoinen Raspberry Pi -virtalähde
  • Koiran panta

Vaihe 2: Toimenpide

Menettely
Menettely

Ensimmäinen askel tämän projektin aloittamisessa on tarkkailla koirasi käyttäytymistä ja malleja. Napsauttamalla TÄSTÄ saat yksinkertaisen oppaan siitä, mitä sinun pitäisi etsiä. Minun tapauksessani koirani ulvoo aina, kun hän on innoissaan tai iloinen nähdessään jonkun, ja haukkuu ajoittain hermostuneena tai pahentuneena. Seuraavissa vaiheissa selitän, kuinka muokata ohjelmaa koiran käyttäytymisen mukaan.

Vaihe 3: Ohjelmointi

Ohjelmointi
Ohjelmointi

Alla on Python -ohjelma, jota käytin koiralleni. Seuraavassa vaiheessa selitän kuinka muokata ohjelmaa koirasi käyttäytymiseen. Älä suorita ohjelmaa vielä, koska se ei toimi ennen kuin teet seuraavan vaiheen.

#!/usr/bin/pythonimport pyaudio tuonti sys tuontiketju ajan tuonnin lepotilasta taulukosta tuonti tuonti RPi. GPIO GPIO: na

kuori = 0

howl = False hold = 0 haukkuaPituus = 5 viive = 0 odotus = 2 lippu = 0 punainen = 7 vihreä = 5 exitFlag = False

def toggleLightRed (c):

GPIO.setmode (GPIO. BOARD) GPIO.setup (punainen, GPIO. OUT) GPIO. output (c, True) uni (10) GPIO. output (c, False) print ("Red toggled")

def toggleLightGreen (c):

GPIO.setmode (GPIO. BOARD) GPIO.setup (vihreä, GPIO. OUT) GPIO. output (c, True) uni (10) GPIO. output (c, False) tulosta ("Vihreä toggled")

def main ():

globaali kuori globaali ulvoo globaali pidä maailmanlaajuinen kuoriPituus maailmanlaajuinen viive globaali lippu maailmanlaajuinen punainen globaali vihreä

pala = 8192

FORMAT = pyaudio.paInt16 CHANNELS = 1 RATE = 44100 kynnys = 3000 max_value = 0 p = pyaudio. PyAudio () stream = p.open (format = FORMAT, kanavat = CHANNELS, rate = RATE, input = True, output = True, frames_per_buffer = pala) GPIO.setmode (GPIO. BOARD) GPIO.setup (punainen, GPIO. OUT) GPIO.setup (vihreä, GPIO. OUT) try: tulosta "Tunnistus alustettu", kun taas True: try: data = stream.read (palanen) paitsi IOError kuten ex: if ex [1]! = pyaudio.paInputOverflowed: raise data = '\ x00' * chunk as_ints = array ('h', data) max_value = max (as_ints) kun taas max_value> raja: delay = 0 hold = hold+1 try: data = stream.read (chunk) paitsi 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 (vihreä) GPIO.cleanup () elif hold> 0 and hold

jos _name_ == '_main_':

pää ()

Vaihe 4: Vianmääritys ja muokkaus

Vianmääritys ja muokkaus
Vianmääritys ja muokkaus
Vianmääritys ja muokkaus
Vianmääritys ja muokkaus
Vianmääritys ja muokkaus
Vianmääritys ja muokkaus

Perustaa

Ennen kuin suoritat ohjelman, sinun on kirjoitettava seuraava päätelaitteeseen PyAudion asentamiseksi:

sudo apt-get intall python-pyaudio

Tämän jälkeen voit testata ohjelman suorittamista varmistaaksesi, että se toimii oikein.

Ongelmien karttoittaminen

Saatat kohdata seuraavan virheen:

IOError: [Errno Input overflowed] -9981

Korjaa tämä yksinkertaisesti lisäämällä muuttujan palalle osoitettua numeroa, kunnes virhe ei enää näy.

Muokataan

Muuttuja barkLength määrää, kuinka monta kertaa ohjelma toistaa silmukan, ennen kuin kohinaa ei enää pidetä haukkumisena, vaan ulvonnana. Jos koirasi ulvoo, mutta tekee sen vain lyhyen purskeen, sinun on vähennettävä tätä määrää.

Muuttujat punainen ja vihreä viittaavat LED -merkkivaloissa käytettäviin lähtöportteihin. Näitä voidaan muuttaa tarpeidesi mukaan.

Vaikka en käytä muuttuvaa viivettä aktiivisesti ohjelmassani, sen voidaan havaita osoittavan haukkumisen tai huutamisen taajuuden.

Muuttuva pito viittaa siihen, kuinka monta kertaa ohjelma silmukoi, jos melutaso on kynnysarvon yläpuolella, ja sitä käytetään määrittämään, onko ulvonta käynnissä. Tätä muuttujaa ei saa muuttaa millään tavalla, koska ulvontaa havaitaan barkLength -muuttujan manipuloinnin avulla.

Kynnysmuuttujaa voidaan laskea, jos kuori ei ole kovin voimakas tai kohonnut, jos taustamelua voidaan tulkita väärin koirasta lähteväksi meluksi.

Vaihe 5: Laitteisto

Laitteisto
Laitteisto
Laitteisto
Laitteisto
Laitteisto
Laitteisto

Tässä vaiheessa sinulla pitäisi olla täysin toimiva ohjelma, joka näyttää näytölle, mitä laitteisto tekee. Tässä projektin kohdassa sinun on päätettävä, onko tämä paikallaan oleva mikrofoni, joka on sijoitettu yhteen paikkaan (esim. Paikka talossa, jossa koira tavallisesti esiintyy tai joutuu kosketuksiin vierailijoiden kanssa) vai minimoidaanko projekti ja kiinnitettynä koiran kaulukseen antaakseen välittömän palautteen koiran kanssa vuorovaikutuksessa olevalle henkilölle.

Kiinteä

Helpoin tapa on jättää kaikki leipälaudalle, koska siellä ei ole liikettä, joka voisi irrottaa johdot. Liitä punaisten LEDien katodit Raspberry Pi: n ja anodien maadoitusnastaan joko 330 ohmin vastuksen kautta tai suoraan Raspberry Pi: n nastaan 7. Tee sama vihreillä LEDeillä, mutta liitä anodit nastaan 5. Suorita ohjelma ja sinulla pitäisi olla valmis projekti, kun olet muokannut koodia tarpeidesi mukaan.

Ei-kiinteä

Suosittelen täyttämään ensin kiinteän version vain varmistaaksesi, että kaikki toimii, ja siirry sitten eteenpäin juottamalla kaikki yhteen, jotta johdot eivät irtoa koiran liikkeestä.

Kiinnitä LEDit kaulukseen niin, että molemmat ovat mukavassa asennossa ja että joku näkee ne lähestyessään.

Liitä seuraavaksi ulkoinen virtalähde, kuten TÄSSÄ näkyvä, vadelmapiin ja kiinnitä se kaulukseen koiralle sopivalla tavalla.

Kun kaikki on varmistettu, mene eteenpäin ja suorita ohjelma, kiinnitä kaulus koiralle ja olet valmis!

Suositeltava: