Innholdsfortegnelse:

Avspillingsopptaker med Raspberry Pi: 7 trinn (med bilder)
Avspillingsopptaker med Raspberry Pi: 7 trinn (med bilder)

Video: Avspillingsopptaker med Raspberry Pi: 7 trinn (med bilder)

Video: Avspillingsopptaker med Raspberry Pi: 7 trinn (med bilder)
Video: ajude seus amigos sempre ❤️ 2024, Juli
Anonim
Image
Image
Nødvendig materiale
Nødvendig materiale

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

Nødvendig materiale
Nødvendig materiale
Nødvendig materiale
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
Knappene
Knappene
Knappene
Knappene
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

The Buttons Case
The Buttons Case
The Buttons Case
The Buttons Case
The Buttons Case
The Buttons Case

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

Raspberry Pi
Raspberry Pi
Raspberry Pi
Raspberry Pi
Raspberry Pi
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: