Përmbajtje:

Zbuluesi i humorit të qenve (Raspberry Pi): 5 hapa
Zbuluesi i humorit të qenve (Raspberry Pi): 5 hapa

Video: Zbuluesi i humorit të qenve (Raspberry Pi): 5 hapa

Video: Zbuluesi i humorit të qenve (Raspberry Pi): 5 hapa
Video: Часть 2 — Аудиокнига «Анна из Зеленых Мезонинов», Люси Мод Монтгомери (глы 11–18) 2024, Nëntor
Anonim
Zbulues i humorit të qenve (Raspberry Pi)
Zbulues i humorit të qenve (Raspberry Pi)

Ky udhëzues është krijuar për të marrë tingujt që bën një qen dhe për të përcaktuar nëse atyre duhet t'u afrohen apo jo me LED -të tregues. Shumica e pronarëve të qenve i njohin kafshët e tyre shtëpiake dhe mund të lexojnë sinjalet që japin, kështu që ky Udhëzues u drejtohet kryesisht të huajve që mund të vijnë në kontakt me qenin tuaj.

Hapi 1: Pjesët

Pjesët
Pjesët
Pjesët
Pjesët
Pjesët
Pjesët

Do t'ju duhet:

  • Raspberry Pi
  • LED të kuq/jeshil (X2)
  • Monitor
  • Tastiera/miu me USB
  • Dongle WiFi
  • Mikrofon i jashtëm USB
  • Rezistencë 330 ohm (X2)

Pjesë Opsionale

  • Furnizimi me energji i jashtëm i Raspberry Pi
  • Jakë qeni

Hapi 2: Procedura

Procedura
Procedura

Hapi i parë për të filluar këtë projekt është të vëzhgoni sjelljet dhe modelet që lidhen me qenin tuaj. Mund të klikoni KETU për një udhëzues të thjeshtë mbi atë që duhet të kërkoni. Në rastin tim, qeni im ulërin sa herë që është i emocionuar ose i lumtur të shohë dikë dhe leh me ndërprerje kur është nervoz ose i rënduar. Në hapat e ardhshëm unë do të shpjegoj se si të modifikoj programin tim në mënyrë që të përshtaten sjelljet e qenit tuaj.

Hapi 3: Programimi

Programimi
Programimi

Më poshtë është programi Python që kam përdorur për qenin tim. Në hapin tjetër unë do të shpjegoj se si të modifikoni programin për sjelljen e qenit tuaj. Mos e ekzekutoni programin akoma pasi nuk do të funksionojë derisa të bëni hapin tjetër.

#!/usr/bin/pythonimport pyaudio import sys fije importi nga koha e importimit të gjumit nga importimi i grupit të grupit të importit RPi. GPIO si GPIO

leh = 0

ulërimë = Mbajtje e rreme = 0 leh Gjatësia = 5 vonesa = 0 pritje = 2 flamur = 0 e kuqe = 7 jeshile = 5 dalje Flamur = I rremë

def toggleLightRed (c):

GPIO.setmode (GPIO. BOARD) GPIO.setup (e kuqe, GPIO. OUT) GPIO.putput (c, True) fle (10) GPIO.output (c, False) print ("Red toggled")

def toggleLightGreen (c):

GPIO.setmode (GPIO. BOARD) GPIO.setup (jeshile, GPIO. OUT) GPIO.putput (c, True) fle (10) GPIO.output (c, False) print ("Green toggled")

def kryesore ():

global leh global ulërim global global mbaj leh globaleVonesa globale globale flamuri global global global red green

copë = 8192

FORMAT = pyaudio.paInt16 KANALET = 1 VLER = 44100 pragu = 3000 max_vlera = 0 p = pyaudio. PyAudio () lumi = p.hapur (format = FORMAT, kanale = KANALE, norma = VLERA, hyrje = E vërtetë, dalje = E vërtetë, frames_per_buffer = copë) GPIO.setmode (GPIO. BOARD) GPIO.setup (e kuqe, GPIO. OUT) GPIO.setup (jeshile, GPIO. OUT) provoni: printoni "Zbulimi i inicializuar" ndërsa True: provoni: të dhënat = stream.read (copë) përveç IOError si psh: nëse ex [1]! = pyaudio.paInputOverflowed: ngre të dhëna = '\ x00' * copë as_ints = array ('h', data) max_value = max (as_ints) ndërsa max_value> pragu: vonesë = 0 mbaj = mbaj+1 provo: të dhëna = stream.read (copë) përveç IOError si psh: nëse ex [1]! = Pyaudio.paInputOverflowed: ngre të dhëna = '\ x00' * copë as_ints = array ('h', të dhëna) max_value = max (as_ints) if hold> = barkLength: howl = Printimi i vërtetë "HOWL DETECTED" toggleLightGreen (green) GPIO.cleanup () elif mbaj> 0 dhe mbaj

nëse _name_ == '_majt_':

kryesore ()

Hapi 4: Zgjidhja e problemeve dhe modifikimi

Zgjidhja e problemeve dhe modifikimi
Zgjidhja e problemeve dhe modifikimi
Zgjidhja e problemeve dhe modifikimi
Zgjidhja e problemeve dhe modifikimi
Zgjidhja e problemeve dhe modifikimi
Zgjidhja e problemeve dhe modifikimi

Konfigurimi

Para se të ekzekutoni programin, do t'ju duhet të shkruani sa vijon në Terminal për të instaluar PyAudio:

sudo apt-get intall python-pyaudio

Pas kësaj ju mund të testoni-ekzekutoni programin për t'u siguruar që ai po funksionon siç duhet.

Zgjidhja e problemeve

Mund të përjetoni gabimin e mëposhtëm:

IOError: [Hyrja e Errno tejmbushur] -9981

Për ta rregulluar këtë, thjesht rrisni numrin e caktuar në pjesën e ndryshueshme derisa gabimi të mos shfaqet më.

Duke modifikuar

Variabla barkLength dikton numrin e herëve që programi bën sythe para se një zhurmë të mos shihet më si leh, por si një ulërimë. Nëse qentë tuaj ulërijnë, por e bëjnë këtë vetëm për një shpërthim të shkurtër, atëherë duhet ta zvogëloni këtë numër.

Variablat e kuqe dhe jeshile i referohen porteve të daljes që do të përdoren për treguesit LED. Këto mund të ndryshohen për t'iu përshtatur nevojave tuaja.

Edhe pse nuk e përdor vonesën e ndryshueshme në mënyrë aktive në programin tim, mund të vërehet se tregon shpeshtësinë e lehjes ose ulërimës.

Mbajtja e ndryshueshme i referohet sa herë programi bën sythe ku niveli i zhurmës është mbi pragun dhe përdoret për të përcaktuar nëse një ulërimë po ndodh. Ky ndryshore nuk duhet të modifikohet në asnjë mënyrë pasi ulërimat zbulohen përmes manipulimit të ndryshores së barkLength.

Variabli i pragut mund të ulet nëse lëvorja nuk është shumë e fortë ose e ngritur nëse ka zhurmë në sfond që mund të keqinterpretohet si zhurmë që del nga qeni.

Hapi 5: Pajisje kompjuterike

Hardware
Hardware
Hardware
Hardware
Hardware
Hardware

Atshtë në këtë pikë që ju duhet të keni një program plotësisht funksional që shfaq në ekran se çfarë do të bëjë pajisja. Kjo pikë në projekt është ajo ku ju duhet të vendosni nëse ky do të jetë një mikrofon i palëvizshëm i vendosur në një vend (p.sh. një vend në shtëpi ku qeni normalisht frekuenton ose bie në kontakt me vizitorët) ose nëse projekti do të minimizohet dhe bashkangjitur në jakën e qenit për të siguruar reagime të menjëhershme për personin që ndërvepron me qenin.

Stacionare

Gjëja më e lehtë për të bërë është të lini gjithçka në një pjatë pasi nuk do të ketë lëvizje që mund të shkëpusë telat. Lidhni katodat e LED -ve të Kuq me kunjin Ground në Raspberry Pi dhe Anodat ose përmes një rezistori 330 ohm ose direkt në kunjin 7 të Raspberry Pi. Bëni të njëjtën gjë me LED -të e Gjelbër, por lidhni Anodat me pin 5. Drejtoni programin dhe duhet të keni një projekt të përfunduar pasi të keni modifikuar kodin sipas nevojave tuaja.

Jo Stacionare

Unë do të rekomandoja që së pari të përfundoni versionin e palëvizshëm vetëm për të siguruar që gjithçka po funksionon dhe pastaj të vazhdoni nga atje duke bashkuar gjithçka së bashku në mënyrë që asnjë tela të mos lidhet me lëvizjen e qenit.

Bashkangjitni LED -të në jakë në mënyrë që ata të dy të jenë në një pozitë të rehatshme dhe të jenë në gjendje të shihen nga dikush kur afrohen.

Pastaj lidhni furnizimin tuaj të jashtëm me energji elektrike, siç është ai i parë KERTU me mjedrën pi dhe sigurojeni atë në jakë në një mënyrë që është e rehatshme për qenin.

Pasi të jetë siguruar gjithçka në vend, vazhdoni dhe ekzekutoni programin, bashkojeni jakën qenit dhe mbaroni!

Recommended: