Talaan ng mga Nilalaman:
- Hakbang 1: Mga Bahagi
- Hakbang 2: Pamamaraan
- Hakbang 3: Programming
- Hakbang 4: Pag-troubleshoot at Pagbabago
- Hakbang 5: Hardware
Video: Dog Mood Detector (Raspberry Pi): 5 Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:14
Ang Instructable na ito ay dinisenyo upang kunin ang mga tunog na ginagawa ng isang aso at matukoy kung dapat silang lapitan o hindi sa mga tagapagpahiwatig na LED. Karamihan sa mga may-ari ng aso ay alam ang kanilang mga alaga at maaaring mabasa ang mga senyas na ibinibigay nila kaya't ang Instructable na ito ay higit na nakadirekta sa mga hindi kilalang tao na maaaring makipag-ugnay sa iyong aso.
Hakbang 1: Mga Bahagi
Kakailanganin mong:
- Raspberry Pi
- Red / Green LEDs (X2)
- Subaybayan
- Keyboard / mouse na may USB
- WiFi Dongle
- Panlabas na USB Mikropono
- 330 ohm Resistor (X2)
Opsyonal na Mga Bahagi
- Panlabas na Suplay ng Lakas ng Raspberry Pi
- Dog Collar
Hakbang 2: Pamamaraan
Ang unang hakbang sa pagsisimula ng proyektong ito ay upang obserbahan ang mga pag-uugali at pattern na nauugnay sa iyong aso. Maaari kang mag-click DITO para sa isang simpleng gabay sa kung ano ang dapat mong hanapin. Sa aking kaso, ang aking aso ay umaangal tuwing siya ay nasasabik o masaya na makita ang isang tao at paulit-ulit na tumahol kapag kinakabahan o pinalala. Sa mga susunod na hakbang ay ipaliwanag ko kung paano baguhin ang aking programa upang mapaunlakan ang mga pag-uugali ng iyong aso.
Hakbang 3: Programming
Nasa ibaba ang programa ng Python na ginamit ko para sa aking aso. Sa susunod na hakbang ay ipaliwanag ko kung paano baguhin ang programa para sa pag-uugali ng iyong aso. Huwag patakbuhin ang programa sa ngayon dahil hindi ito gagana hanggang sa gawin mo ang susunod na hakbang.
#! / usr / bin / pythonimport pyaudio import sys import thread mula sa oras na pag-import ng pagtulog mula sa pag-import ng array na pag-import ng RPi. GPIO bilang GPIO
tumahol = 0
alulong = Maling paghawak = 0 barkLength = 5 pagkaantala = 0 maghintay = 2 watawat = 0 pula = 7 berde = 5 exitFlag = Maling
def toggleLightRed (c):
GPIO.setmode (GPIO. BOARD) GPIO.setup (pula, GPIO. OUT) GPIO.output (c, True) pagtulog (10) GPIO.output (c, Mali) print ("Red toggled")
def toggleLightGreen (c):
GPIO.setmode (GPIO. BOARD) GPIO.setup (berde, GPIO. OUT) GPIO.output (c, True) pagtulog (10) GPIO.output (c, Mali) print ("Green toggled")
def main ():
pandaigdigang pag-iyak pandaigdigan pandaigdigang paghawak ng pandaigdigan na barkoPatagal ng pagkaantala ng pandaigdigan na pandaigdigan pandaigdigang pandaigdigang berde
tipak = 8192
FORMAT = pyaudio.paInt16 CHANNELS = 1 RATE = 44100 threshold = 3000 max_value = 0 p = pyaudio. PyAudio () stream = p.open (format = FORMAT, mga channel = CHANNELS, rate = RATE, input = True, output = True, frames_per_buffer = chunk) GPIO.setmode (GPIO. BOARD) GPIO.setup (pula, GPIO. OUT) GPIO.setup (berde, GPIO. OUT) subukan: i-print ang "Na-initialize ang Detection" habang Totoo: subukan: data = stream.read (chunk) maliban sa IOError bilang hal: kung ex [1]! = pyaudio.paInputOverflowed: taasan ang data = '\ x00' * chunk as_ints = array ('h', data) max_value = max (as_ints) habang max_value> threshold: antala = 0 hold = hold + 1 try: data = stream.read (chunk) maliban sa IOError bilang hal: kung ex [1]! = Pyaudio.paInputOverflowed: taasan ang data = '\ x00' * chunk as_ints = array ('h', data) max_value = max (as_ints) kung hawakan> = barkLength: howl = True print "HOWL DETected" toggleLightGreen (green) GPIO.cleanup () elif hold> 0 and hold
kung _name_ == '_main_':
pangunahing ()
Hakbang 4: Pag-troubleshoot at Pagbabago
Pag-set up
Bago mo patakbuhin ang programa kakailanganin mong i-type ang sumusunod sa Terminal upang mai-install ang PyAudio:
sudo apt-get intall python-pyaudio
Pagkatapos nito maaari mong subukang patakbuhin ang programa upang matiyak na gumagana ito nang maayos.
Pag-troubleshoot
Maaari kang makaranas ng sumusunod na error:
IOError: [Umapaw ang Errno Input] -9981
Upang ayusin ito, dagdagan lamang ang bilang na nakatalaga sa variable chunk hanggang sa hindi na lumitaw ang error.
Pagbabago
Ang variable barkLength ay nagdidikta ng bilang ng beses na nag-loop ang programa bago ang isang ingay ay hindi na nakikita bilang isang bark, ngunit bilang isang alulong. Kung ang iyong mga aso ay umangal ngunit ginagawa ito para lamang sa isang maikling pagsabog pagkatapos ay dapat mong bawasan ang bilang na ito.
Ang mga variable na pula at berde ay tumutukoy sa mga output port na gagamitin para sa mga tagapagpahiwatig ng LED. Maaaring baguhin ang mga ito upang magkasya sa iyong mga pangangailangan.
Bagaman hindi ko ginagamit ang variable na pagkaantala ng aktibo sa aking programa, maaari itong maobserbahan upang ipahiwatig ang dalas ng pag-uwang o pag-alulong.
Ang variable hold ay tumutukoy sa kung gaano karaming beses ang mga loop ng programa kung saan ang antas ng ingay ay nasa itaas ng threshold at ginagamit upang matukoy kung may nagaganap na alulong. Ang variable na ito ay hindi dapat mabago sa anumang paraan tulad ng pag-alulong na napansin sa pamamagitan ng pagmamanipula ng variable ng barkLength.
Ang variable ng threshold ay maaaring maibaba kung ang bark ay hindi masyadong malakas o itataas kung may ingay sa background na maaaring maling bigyang kahulugan bilang ingay na nagmula sa aso.
Hakbang 5: Hardware
Sa puntong ito na dapat kang magkaroon ng isang ganap na gumaganang programa na ipinapakita sa screen kung ano ang ginagawa ng hardware. Ang puntong ito sa proyekto ay kung saan dapat kang magpasya kung ito ay magiging isang nakatigil na mikropono na itinakda sa isang lugar (hal. Isang lugar sa bahay kung saan ang aso ay karaniwang dumadalaw o nakikipag-ugnay sa mga bisita) o kung ang proyekto ay mababawasan at nakakabit sa kwelyo ng aso upang magbigay ng agarang puna sa taong nakikipag-ugnay sa aso.
Nakatigil
Ang pinakamadaling gawin ay iwanan ang lahat sa isang breadboard dahil walang paggalaw na maaaring tumanggal ng mga wire. Ikonekta ang mga cathode ng Red LEDs sa Ground pin sa Raspberry Pi at ang Anodes alinman sa pamamagitan ng isang 330 ohm resistor o diretso sa pin 7 ng Raspberry Pi. Gawin ang pareho sa Green LEDs ngunit ikonekta ang Anodes sa pin 5. Patakbuhin ang programa at dapat mayroon kang isang nakumpletong proyekto sa sandaling nabago mo ang code sa iyong mga pangangailangan.
Hindi Nakatigil
Inirerekumenda kong kumpletuhin muna ang nakatigil na bersyon upang matiyak lamang na ang lahat ay gumagana at pagkatapos ay magpatuloy mula doon sa pamamagitan ng paghihinang na magkasama ang lahat upang walang mga wire ay magiging hindi konektado mula sa paggalaw ng aso.
Ikabit ang mga LED sa kwelyo upang pareho silang nasa komportableng posisyon at makikita ng isang tao sa kanilang paglapit.
Susunod na ikonekta ang iyong panlabas na supply ng kuryente tulad ng isang nakikita DITO sa raspberry pi at i-secure ito sa kwelyo sa isang paraan na komportable para sa aso.
Kapag ang lahat ay na-secure sa lugar magpatuloy at patakbuhin ang programa, ikabit ang kwelyo sa aso, at tapos ka na!
Inirerekumendang:
Awtomatikong Dog feederrr !!: 4 na Hakbang
Awtomatikong Dog Feederrr !!: Madali, Makatulong at Malusog
Mood Speaker- isang Napakahusay na Tagapagsalita para sa Musika ng Mood na Patugtugin Batay sa Saklaw na Temperatura: 9 Mga Hakbang
Mood Speaker- isang Napakahusay na Tagapagsalita para sa Musika ng Mood na I-play Batay sa Saklaw na Temperatura: Hoy! Para sa aking proyekto sa paaralan sa MCT Howest Kortrijk, gumawa ako ng Mood Speaker ito ay isang matalinong aparato ng Bluetooth speaker na may iba't ibang mga sensor, isang LCD at WS2812b Kasama ang ledstrip. Nagpe-play ang speaker ng musikang background batay sa temperatura ngunit maaari
Dog Dog Trainer: 5 Hakbang
Dog Dog Trainer: Ayon sa AKC, (https://www.akc.org/expert-advice/nutrition/how-many-times-a-day-should-a-dog-eat/) ang laki ng bahagi ng pagkain para sa ang mga feed ay mahalaga sa mga aso, at ang laki ng kahon ay limitado rin sa bilang ng mga feed na maaaring kainin ng aso sa isang araw, "Vet
Pinapagana ng Arduino Dog Dog Dispenser: 10 Hakbang (na may Mga Larawan)
Pinapagana ng Arduino Powered Dog Food Dispenser: Kung ang iyong bahay ay tulad ng sa akin, ang ilang mga gawain ay maaaring makalimutan kapag nagmamadali. Huwag hayaan ang iyong alagang hayop na nakakalimutan! Ang automated dog food dispenser na ito ay gumagamit ng isang Arduino upang maihatid ang tamang dami ng kibble sa tamang oras. Lahat ng pa
IOT Smoke Detector: I-update ang Umiiral na Smoke Detector Sa IOT: 6 na Hakbang (na may Mga Larawan)
IOT Smoke Detector: I-update ang Umiiral na Smoke Detector Gamit ang IOT: Listahan ng mga nag-aambag, Imbentor: Tan Siew Chin, Tan Yit Peng, Tan Wee Heng Tagapamahala: Dr Chia Kim Seng Kagawaran ng Mechatronic at Robotic Engineering, Faculty of Electrical and Electronic Engineering, Universiti Tun Hussein Onn Malaysia. Ipamahagi