Satura rādītājs:
- 1. darbība: detaļas
- 2. solis: procedūra
- 3. solis: programmēšana
- 4. darbība. Problēmu novēršana un modificēšana
- 5. solis: aparatūra
Video: Suņa garastāvokļa detektors (Raspberry Pi): 5 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:57
Šī 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
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
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
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
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
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:
Šosejas velosipēdu dienas un sānu redzamā 350mA gaisma (viena šūna): 11 soļi (ar attēliem)
Šosejas velosipēdu dienas un sānu redzamā 350mA gaisma (viena šūna): šai velosipēda gaismai ir priekšējās un 45 ° vērstās dzintara gaismas diodes, kuru jauda ir līdz 350 mA. Sānu redzamība var uzlabot drošību krustojumu tuvumā. Dzintars tika izvēlēts dienas redzamībai. Gaisma tika uzstādīta uz stūres kreisā kritiena. Tās modeļus var atšķirt
Mini elektrolītiskā šūna: 5 soļi
Mini elektrolītiskā šūna: Es strādāju pie šī projekta savā Instrumentālās ķīmijas kursā. Mans mērķis bija izmērīt spriegumu, ko sālsūdenī noteica katods. Es standarta veidā pievienoju apmēram 6,6 M sālsūdeni ar 1 ml injekcijām, izmantojot zāles
Eikariotu dzīvnieku šūna: 3 soļi
Eikariotu dzīvnieku šūna: soļi, kā izveidot eikariotu dzīvnieku šūnu
PoochPak: mobilā savienotā viedā suņa veste: 4 soļi
PoochPak: mobilā savienotā viedā suņa veste: automatizācijā mēs bieži koncentrējamies uz cilvēku inženierijas inženieriju, lai izmantotu datoru un cilvēka prāta priekšrocības. Bet suņiem ir prasmju kopums, kas padara tos ļoti piemērotus noteiktiem uzdevumiem, kurus cilvēki nevar izpildīt
Suņa pavadas statīva siksna: 3 soļi
Suņa pavadas statīva siksna: Esmu mēģinājis atrast vai izgatavot siksnu savam statīvam, lai to būtu ērti nēsāt bez somas vai turēt to rokā. Es meklēju pa savu skapi, lai atrastu kādu virvi, bet es atradu suņu pavadu, kuru mēs vairs neizmantojām. Šī suņu pavadiņa ir apmēram 5 pēdas