INHOUDSOPGAWE:
- Stap 1: Onderdele
- Stap 2: Prosedure
- Stap 3: Programmering
- Stap 4: Probleemoplossing en wysiging
- Stap 5: Hardeware
Video: Hondestemmingsdetektor (Framboos Pi): 5 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:26
Hierdie instruksies is ontwerp om die geluide wat 'n hond maak, op te neem en te bepaal of dit met indikator -LED's genader moet word. Die meeste honde -eienaars ken hul troeteldiere en kan die seine wat hulle afgee, lees, sodat hierdie instruksie meestal gerig is op vreemdelinge wat met u hond in aanraking kan kom.
Stap 1: Onderdele
Jy sal nodig hê:
- Framboos Pi
- Rooi/groen LED's (X2)
- Monitor
- Toetsenbord/muis met USB
- WiFi -Dongle
- Eksterne USB -mikrofoon
- 330 ohm Weerstand (X2)
Opsionele onderdele
- Eksterne Raspberry Pi -kragtoevoer
- Honde halsband
Stap 2: Prosedure
Die eerste stap om hierdie projek te begin, is om die gedrag en patrone wat met u hond verband hou, waar te neem. U kan HIER klik vir 'n eenvoudige gids oor wat u moet soek. In my geval huil my hond wanneer sy opgewonde of bly is om iemand te sien en blaf af en toe as hy senuweeagtig of vererger word. In die volgende paar stappe sal ek verduidelik hoe ek my program kan aanpas om die gedrag van u hond aan te pas.
Stap 3: Programmering
Hieronder is die Python -program wat ek vir my hond gebruik het. In die volgende stap sal ek verduidelik hoe u die program vir u hond se gedrag kan verander. Moenie die program hardloop nie, want dit werk eers as u die volgende stap doen.
#!/usr/bin/pythonimport pyaudio import sys import thread from time import sleep from array import array import RPi. GPIO as GPIO
blaf = 0
huil = Vals hou = 0 blaf Lengte = 5 vertraging = 0 wag = 2 vlag = 0 rooi = 7 groen = 5 uitgangFlag = Vals
def toggleLightRed (c):
GPIO.setmode (GPIO. BOARD) GPIO.setup (rooi, GPIO. OUT) GPIO.output (c, True) slaap (10) GPIO.output (c, Onwaar) druk ("Red toggled")
def toggleLightGreen (c):
GPIO.setmode (GPIO. BOARD) GPIO.setup (groen, GPIO. OUT) GPIO.output (c, True) slaap (10) GPIO.output (c, Onwaar) druk ("Green toggled")
def main ():
globale blaf globale gehuil wêreldwye hou globale blafLengte globale vertraging globale vlag globale rooi globale groen
stuk = 8192
FORMAT = pyaudio.paInt16 KANALE = 1 RATE = 44100 drempel = 3000 max_value = 0 p = pyaudio. PyAudio () stroom = p.open (formaat = FORMAT, kanale = KANALE, koers = RATE, input = True, output = True, frames_per_buffer = stuk) GPIO.setmode (GPIO. BOARD) GPIO.setup (rooi, GPIO. OUT) GPIO.setup (groen, GPIO. OUT) try: druk "Detection initialized" while True: try: data = stream.read (stuk) behalwe IOError as ex: as ex [1]! = pyaudio.paInputOverflowed: verhoog data = '\ x00' * stuk as_ints = skikking ('h', data) max_value = max (as_ints) terwyl max_value> drempel: delay = 0 hou = hou+1 probeer: data = stroom.lees (stuk) behalwe IOError as ex: as ex [1]! = Pyaudio.paInputOverflowed: verhoog data = '\ x00' * stuk as_ints = skikking ('h', data) max_value = max (as_ints) as hou> = barkLength: howl = True print "HOWL DETECTED" toggleLightGreen (groen) GPIO.cleanup () elif hou> 0 en hou
as _naam_ == '_hoof_':
hoof ()
Stap 4: Probleemoplossing en wysiging
Stel op
Voordat u die program begin, moet u die volgende in die Terminal invoer om PyAudio te installeer:
sudo apt-get intall python-pyaudio
Daarna kan u die program toets-uitvoer om seker te maak dat dit behoorlik funksioneer.
Probleemoplossing
U kan die volgende fout ondervind:
IOError: [Errno -invoer oorloop] -9981
Om dit reg te stel, verhoog eenvoudig die nommer wat aan die veranderlike deel toegewys is totdat die fout nie meer verskyn nie.
Verander
Die veranderlike barkLength bepaal die aantal kere wat die program loop voordat 'n geraas nie meer as 'n bas gesien word nie, maar as 'n gehuil. As u honde huil, maar dit slegs vir 'n kort sarsie doen, moet u hierdie getal verminder.
Die veranderlike rooi en groen verwys na die uitsetpoort wat vir die LED -aanwysers gebruik sal word. Dit kan verander word om aan u behoeftes te voldoen.
Alhoewel ek nie die veranderlike vertraging aktief in my program gebruik nie, kan dit waargeneem word om die frekwensie van blaf of huil aan te dui.
Die veranderlike hou verwys na hoeveel keer die program loop waar die geraasvlak bo die drempel is en word gebruik om te bepaal of daar 'n huil plaasvind. Hierdie veranderlike moet op geen manier gewysig word nie, aangesien huil deur die manipulasie van die barkLength -veranderlike opgespoor word.
Die drempelveranderlike kan verlaag word as die bas nie baie hard is nie of verhoog word as daar agtergrondgeraas is wat verkeerd geïnterpreteer kan word as geraas van die hond.
Stap 5: Hardeware
Op hierdie punt moet u 'n volledig funksionerende program hê wat op die skerm wys wat die hardeware gaan doen. Hierdie punt in die projek is waar u moet besluit of dit 'n stilstaande mikrofoon is wat op een plek is (byvoorbeeld 'n plek in die huis waar die hond normaalweg gereeld besoek of met besoekers in aanraking kom) of dat die projek tot 'n minimum beperk word. en aan die hond se kraag geheg om onmiddellik terugvoer te gee aan die persoon wat met die hond in wisselwerking is.
Stationêr
Die maklikste ding is om alles op 'n broodbord te laat, want daar is geen beweging wat die drade kan losmaak nie. Koppel die katodes van die Rooi LED's aan die Grondpen op die Raspberry Pi en die Anodes, óf deur 'n weerstand van 330 ohm óf reguit in pen 7 van die Raspberry Pi. Doen dieselfde met die groen LED's, maar koppel die anodes aan pen 5. Begin die program en u moet 'n voltooide projek hê sodra u die kode volgens u behoeftes verander het.
Nie-stilstaande
Ek beveel aan dat u eers die stilstaande weergawe voltooi, net om te verseker dat alles werk, en dan voortgaan deur alles saam te soldeer sodat geen drade van die hond se beweging losgemaak kan word nie.
Bevestig die LED's aan die kraag sodat hulle beide in 'n gemaklike posisie is en deur iemand gesien kan word terwyl hulle nader.
Koppel dan u eksterne kragtoevoer, soos die wat HIER gesien is, aan die framboospi en bevestig dit aan die kraag op 'n gemaklike manier vir die hond.
Sodra alles op sy plek vasgemaak is, voer die program uit, maak die kraag aan die hond vas, en u is klaar!
Aanbeveel:
Werk tuis tuisopnemer met 'n framboos Pi: 7 stappe
Werk van die huis af tydopnemer met 'n framboos -Pi: Die afgelope jaar het ek die geleentheid gehad om tuis te werk. Waarvoor ek die ure wat ek werk, moes dophou. Aan die begin deur 'n Excel-sigblad te gebruik en die 'klok-in'- en' uitklok'-tye handmatig in te voer, het ek dit vinnig gevind:
CCTV -voerbeheer - Framboos Pi: 3 stappe
CCTV Feed Controller - Raspberry Pi: Hallo almal, welkom by nog 'n Instructable by Scientify Inc.! Hierdie projek optimaliseer wat 'n CCTV -kamera opneem deur gebruik te maak van ingeboude bewegingswaarneming met behulp van die gemiddelde gemiddelde kwadraat (RMS) verskil tussen twee opeenvolgende beelde. Dit help om CCTV -voer te maak
Hoe om Windows 10 op 'n Framboos Pi te laat werk: 3 stappe
Hoe om Windows 10 op 'n Framboos Pi te laat werk: om Windows 10 op 'n framboospi te laat werk, kan 'n bietjie frustrerend wees, maar hierdie gids sal al u Raspberry Pi -verwante probleme oplos
Uitskakelknoppie vir Framboos Pi: 3 stappe
Uitskakelknoppie vir Raspberry Pi: Die Raspberry Pi is 'n baie nuttige rekenaarplatform waarmee u verskillende IoT/robotika/smart-home/… projek-toepassings kan skep. Die enigste ding wat dit nie het nie, in vergelyking met 'n gewone rekenaar, is 'n afskakelknoppie. So, hoe kan ons
Beheer woonkamer met Alexa en Framboos Pi: 12 stappe
Beheer woonkamer met Alexa en Raspberry Pi: beheer u woonkamer -TV, ligte en waaier met Alexa (Amazon Echo of Dot) en Raspberry Pi GPIO