Sisällysluettelo:
- Vaihe 1: Osat
- Vaihe 2: Toimenpide
- Vaihe 3: Ohjelmointi
- Vaihe 4: Vianmääritys ja muokkaus
- Vaihe 5: Laitteisto
Video: Koiran mielialanilmaisin (Vadelma Pi): 5 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:02
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
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
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
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
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
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:
Automaattinen koiran syöttölaite !!: 4 vaihetta
Automaattinen koiran syöttölaite !!: Helppoa, hyödyllistä ja terveellistä
Automaattinen koiran syöttölaite: 6 vaihetta
Automaattinen koiran syöttölaite: Tämä on projektini automaattisesta lemmikkieläinten syöttölaitteesta. Nimeni on Parker, olen luokalla 11 ja tein tämän projektin 11. marraskuuta 2020 CCA: na (Course Culminating Activity) tässä projektissa
LED -etäisyysilmaisin Koiran valjaat: 5 vaihetta (kuvilla)
LED -etäisyysilmaisin Koiran valjaat: Otan yleensä koirani Rusion kävelylle auringon laskiessa, jotta hän voi leikkiä ilman liian kuumaa. Ongelmana on, että kun hän on pois hihnasta, hän joskus innostuu liikaa ja juoksee pidemmälle kuin pitäisi ja heikon valon ja muiden koirien kanssa
Koiran hattu: 11 vaihetta (kuvilla)
Doggy Hat: Pehmolelusta on tullut automatisoitu hattu. Servomoottori, jossa on pahvivipu, liikuttaa päätä satunnaisesti, ja sitä ohjaa paristokäyttöinen Arduino Uno. Yksikään pehmoeläin ei loukkaantunut tämän hankkeen rakentamisen aikana
Mikro: Koiran oven avaaja: 8 vaihetta (kuvilla)
Micro: Bit -koiranoven avaaja: vangitsevatko lemmikkisi huoneisiin? Haluatko, että voisit tehdä kodistasi helpommin saatavilla karvaisille* ystävillesi ?? Nyt voit, hei! Me