Innholdsfortegnelse:
- Trinn 1: Nødvendig materiale
- Trinn 2: Knappene
- Trinn 3: Knappene
- Trinn 4: Raspberry Pi
- Trinn 5: Programmering
- Trinn 6: Kjør Python -skriptet ved hver oppstart
- Trinn 7: Slutt notat
Video: Avspillingsopptaker med Raspberry Pi: 7 trinn (med bilder)
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:25
Hei alle sammen, I denne instruktøren forklarer jeg hvordan jeg lagde en avspillingsopptaker ved hjelp av Raspberry Pi. Enheten er en Raspberry Pi -modell B+, med 7 trykknapper på toppen, en høyttaler koblet til en av Pi -usb -portene, og en mikrofon koblet til en annen usb -port. Hver knapp er knyttet til en lyd, så den kan spille 7 forskjellige lyder. Lydene spilles av etter et kort trykk på knappen. For å spille inn en ny lyd, trykk ganske enkelt på knappen i mer enn 1 sekund, ta opp etter pipetonen og slipp knappen på slutten av opptaket. Enklere enn det blir ikke!
Trinn 1: Nødvendig materiale
For dette prosjektet trengte jeg:
- En Raspberry Pi modell B + og micro SD -kort - 29,95 $ + 9,95 $
- En Raspberry Pi -plastkasse - 7,95 $
- USB -høyttalere - 12,50 $
- En USB -mikrofon - 5,95 $
- Et halvstort perma-proto-brett-4,50 $
- 7 øyeblikkelige trykknapper - 2,50 $
Jeg trengte også:
- Noen elektriske ledninger
- Rettvinklede kvinnelige overskrifter
- Litt tre, svart maling og lim til knappetuiet
- Et loddejern og loddetinn
Trinn 2: Knappene
Knappene som brukes er ganske høye (6 mm) slik at de kan gå gjennom sakstykkelsen.
Jeg plasserte de 7 knappene mine på et perma-proto-brett, som er som et brødbrett, bortsett fra at komponenter er loddet på det. Dette er mer robust enn et brødbrett, og billigere enn å skrive ut et kretskort. Hver knapp kobler bakken til en GPIO på Raspberry Pi. Jeg har ikke motstander her siden Pi allerede har interne trekk-opp/ned-motstander som vil bli angitt i programmet. I dette tilfellet har jeg satt dem til pull-up (se programmet nedenfor).
Knappene plasseres hver 4. rad, eller hver 0,4 tommer.
Trinn 3: Knappene
Jeg laget et veldig enkelt etui for knappene, med kryssfinerplater og firkantet plugg av tre. Tappestørrelsen må være stor nok til å inneholde knappens base og brett, men liten nok til å slippe knappen ut av saken. Jeg brukte en 1/4 i x 1/4 i plugg.
Etter å ha kontrollert at brettet passer i etuiet, limes dyvlene til bunnarket. Hull bores deretter på det øverste arket (brettet kan brukes til å lage merker nøyaktig hver 0,4 tommer). Alle tredelene er malt, brettet plassert i etuiet og det øverste arket limt på toppen av det.
Trinn 4: Raspberry Pi
Jeg ønsket ikke å lodde ledningene direkte til Pi, i tilfelle jeg vil bruke Pi til noe annet i fremtiden. Jeg loddet derfor ledningene til rettvinklede hunnhoder, og plugget hodene på Pi.
GPIO -ene som brukes er 21, 26, 20, 19, 13, 6 og 5. Jordpinnen brukes også.
Mikrofonen og høyttaleren er ganske enkelt koblet til 2 av de 4 usb -portene.
Pi drives av mikro-usb-uttaket
Trinn 5: Programmering
For å programmere Pi, koblet jeg den til internett ved hjelp av en ethernet -kabel, og kontrollerte den fra en ekstern datamaskin ved hjelp av VNC viewer. Du kan imidlertid ikke bruke dette oppsettet første gang du kobler til Pi, fordi operativsystemet ikke er installert ennå og SSH ikke er deaktivert. Så du må koble til skjerm, tastatur og mus, i det minste første gang.
Det var ganske vanskelig å finne kommandoene for å spille inn og spille en lyd på det riktige lydkortet. Dette er kommandoene som fungerte for meg:
-
aplay -D ploughw: CARD = Device_1, DEV = 0 0.wav
Spiller 0.wav
-
arecord 0.wav -D sysdefault: CARD = 1 -f cd -d 20
Tar opp maksimalt 20 sekunder i fil 0.wav, med cd -kvalitet
Lydfilene er plassert i standardkatalogen (/home/pi). En lydfil for pipetonen er også nødvendig, plassert i standardkatalogen og kalles beep.wav.
Selve pythonkoden er følgende:
python -kode for en Raspberry Pi -avspillingsopptaker
importer RPi. GPIO som GPIO |
importtid |
import os |
#variabler: |
butPressed = [Sant, sant, sant, sant, sant, sant, sant] #if -knappen jeg trykkes på, så er butPressed Falsk |
pin = [26, 19, 13, 6, 5, 21, 20] #GPIO pins på hver knapp |
recordBool = False#True hvis en registrering pågår |
GPIO.setmode (GPIO. BCM) |
for jeg i området (0, 7): |
GPIO.setup (pin , GPIO. IN, pull_up_down = GPIO. PUD_UP)#setter Pis interne motstander til å trekke opp |
mens det er sant: |
for jeg i området (0, 7): |
butPressed = GPIO.inngang (pin )#sjekker om en knapp trykkes |
if butPressed == Falske: #hvis du trykker på en knapp |
previousTime = time.time () |
mens butPressed == False og recordBool == False: |
butPressed = GPIO.input (pin ) |
hvis time.time () - previousTime> 1.0: #hvis knappen trykkes i mer enn et sekund, så er recordBool True |
recordBool = True |
hvis recordBool == True: #if recordBool er True, spiller den en pipelyd og tar deretter opp |
os.system ("aplay -D plughw: CARD = Device_1, DEV = 0 beep.wav") |
os.system ("arecord %d.wav -D sysdefault: CARD = 1 -f cd -d 20 &" %i) #records for maksimalt 20 sekunder i fil i.wav, med cd -kvalitet |
mens butPressed == Falske: |
butPressed = GPIO.input (pin ) |
os.system ("pkill -9 arecord")#posten stoppes når knappen slippes, eller etter 20 sekunder |
recordBool = Falsk |
else:#if recordBool is False, den spiller lyd i.wav |
os.system ("aplay -D plughw: CARD = Device_1, DEV = 0 %d.wav" %i) |
time.sleep (0,1) |
se rawPlayback -opptaker hostet av ❤ av GitHub
Trinn 6: Kjør Python -skriptet ved hver oppstart
For å kjøre python -skriptet ved hver Pi -oppstart, legges følgende linjer inn i en fil som heter playback.desktop i mappen /home/pi/.config/autostart/
kjører playback.py ved oppstart av Raspberry Pi
[Desktop Entry] |
Koding = UTF-8 |
Type = Søknad |
Navn = Avspilling |
Comment = Dette er et avspillingsprogram |
Exec = python /home/pi/playback.py |
StartupNotify = false |
Terminal = sant |
Skjult = usant |
se rawplayback.desktop hostet av ❤ av GitHub
Trinn 7: Slutt notat
Fortell meg hva du synes om dette prosjektet i kommentarfeltet, gi meg beskjed om anbefalingene dine, og stem på meg i Raspberry Pi -konkurransen hvis du likte det.
Gleder meg til å lese deg!
Anbefalt:
Ta flotte bilder med en iPhone: 9 trinn (med bilder)
Ta flotte bilder med en iPhone: De fleste av oss har med oss en smarttelefon overalt i disse dager, så det er viktig å vite hvordan du bruker smarttelefonkameraet ditt til å ta flotte bilder! Jeg har bare hatt en smarttelefon i et par år, og jeg har elsket å ha et greit kamera for å dokumentere ting jeg
Raspberry Pi -eske med kjølevifte med CPU -temperaturindikator: 10 trinn (med bilder)
Raspberry Pi-eske med kjølevifte med CPU-temperaturindikator: Jeg hadde introdusert bringebær pi (heretter som RPI) CPU-temperaturindikatorkrets i det forrige prosjektet. Kretsen viser ganske enkelt RPI 4 forskjellige CPU-temperaturnivå som følger.- Grønn LED ble slått på når CPU -temperaturen er innenfor 30 ~
Slik gjør du det: Installere Raspberry PI 4 Headless (VNC) med Rpi-imager og bilder: 7 trinn (med bilder)
Howto: Installere Raspberry PI 4 Headless (VNC) Med Rpi-imager og bilder: Jeg planlegger å bruke denne Rapsberry PI i en haug med morsomme prosjekter tilbake i bloggen min. Sjekk det gjerne ut. Jeg ønsket å begynne å bruke Raspberry PI igjen, men jeg hadde ikke tastatur eller mus på min nye plassering. Det var en stund siden jeg konfigurerte en bringebær
Slik demonterer du en datamaskin med enkle trinn og bilder: 13 trinn (med bilder)
Slik demonterer du en datamaskin med enkle trinn og bilder: Dette er en instruksjon om hvordan du demonterer en PC. De fleste grunnkomponentene er modulære og fjernes lett. Det er imidlertid viktig at du er organisert om det. Dette vil bidra til å hindre deg i å miste deler, og også i å gjøre monteringen igjen
PCB -design med enkle og enkle trinn: 30 trinn (med bilder)
PCB -design med enkle og enkle trinn: HELLO VENNER Den veldig nyttige og enkle opplæringen for de som ønsker å lære PCB -design, kan komme i gang