Indholdsfortegnelse:

Afspilningsoptager med Raspberry Pi: 7 trin (med billeder)
Afspilningsoptager med Raspberry Pi: 7 trin (med billeder)

Video: Afspilningsoptager med Raspberry Pi: 7 trin (med billeder)

Video: Afspilningsoptager med Raspberry Pi: 7 trin (med billeder)
Video: ВСЯ НОЧЬ С ПОЛТЕРГЕЙСТОМ В ЖИЛОМ ДОМЕ, я заснял жуткую активность. 2024, November
Anonim
Image
Image
Nødvendigt materiale
Nødvendigt materiale

Hej allesammen, I denne instruktive forklarer jeg, hvordan jeg lavede en afspilningsoptager ved hjælp af Raspberry Pi. Enheden er en Raspberry Pi model B+med 7 trykknapper på toppen, en højttaler tilsluttet en af Pi's usb -porte og en mikrofon tilsluttet en anden usb -port. Hver knap er knyttet til en lyd, så den kan afspille 7 forskellige lyde. Lydene afspilles efter et kort tryk på knappen. For at optage en ny lyd skal du blot trykke på knappen i mere end 1 sekund, optage efter bippet og slippe knappen ved slutningen af optagelsen. Enklere end det bliver det ikke!

Trin 1: Nødvendigt materiale

Nødvendigt materiale
Nødvendigt materiale
Nødvendigt materiale
Nødvendigt materiale

Til dette projekt havde jeg brug for:

  • En Raspberry Pi model B + og micro SD -kort - 29,95 $ + 9,95 $
  • Et Raspberry Pi plastikhus - 7,95 $
  • USB -højttalere - 12,50 $
  • En USB -mikrofon - 5,95 $
  • Et halvstort perma-proto-bord-4,50 $
  • 7 øjeblikkelige trykknapper - 2,50 $

Jeg havde også brug for:

  • Noget elektrisk ledning
  • Retvinklede kvindelige overskrifter
  • Lidt træ, sort maling og lim til knapkassen
  • Et loddejern og lodde

Trin 2: Knapperne

Knapperne
Knapperne
Knapperne
Knapperne
Knapperne
Knapperne

Knapperne, der bruges, er ret høje (6 mm), så de kan gå igennem sagens tykkelse.

Jeg placerede mine 7 knapper på et perma-proto-bræt, som er som et brødbræt, undtagen at komponenter er loddet på det. Dette er mere robust end et brødbræt og billigere end at udskrive et printkort. Hver knap linker jorden til en GPIO på Raspberry Pi. Jeg har ikke modstande her, da Pi allerede har interne pull-up/down modstande, som vil blive indstillet i programmet. I dette tilfælde har jeg indstillet dem til pull-up (se program nedenfor).

Knapperne placeres hver 4. række eller hver 0,4 tommer.

Trin 3: Buttons Case

Knapperne sag
Knapperne sag
Knapperne sag
Knapperne sag
Knapperne sag
Knapperne sag

Jeg lavede en meget enkel sag til knapperne, med plader af krydsfiner og firkantet dyvler i træ. Dyvelstørrelsen skal være stor nok til at indeholde knapfoden og brættet, men lille nok til at lade knappen komme ud af kassen. Jeg brugte en 1/4 i x 1/4 i dowel.

Efter at have kontrolleret, at brættet passer i sagen, limes dyvlerne til bundpladen. Der bores derefter huller på det øverste ark (brættet kan bruges til præcist at markere hver 0,4 tommer). Alle trædele er malet, brættet placeret i kassen og det øverste ark limet oven på det.

Trin 4: Raspberry Pi

Raspberry Pi
Raspberry Pi
Raspberry Pi
Raspberry Pi
Raspberry Pi
Raspberry Pi

Jeg ville ikke lodde ledningerne direkte til Pi, hvis jeg i fremtiden vil bruge Pi til noget andet. Jeg lodde derfor ledningerne til retvinklede hunoverskrifter og tilsluttede overskrifterne på Pi.

De anvendte GPIO'er er 21, 26, 20, 19, 13, 6 og 5. Jordstiften bruges også.

Mikrofonen og højttaleren er simpelthen tilsluttet 2 af de 4 usb -porte.

Pi'en drives via mikro-usb-stikkontakten

Trin 5: Programmering

For at programmere Pi'en tilsluttede jeg den til internettet ved hjælp af et ethernet -kabel og kontrollerede den fra en fjerncomputer ved hjælp af VNC viewer. Du kan dog ikke bruge denne opsætning første gang du opretter forbindelse til Pi, fordi operativsystemet ikke er installeret endnu, og SSH ikke er deaktiveret. Så du skal tilslutte en skærm, et tastatur og en mus i det mindste første gang.

Det var ganske besværligt at finde kommandoerne til at optage og afspille en lyd på det rigtige lydkort. Disse er de kommandoer, der fungerede for mig:

  • aplay -D plughw: CARD = Device_1, DEV = 0 0.wav

    Spiller 0.wav

  • arecord 0.wav -D sysdefault: CARD = 1 -f cd -d 20

    Optager i maksimalt 20 sekunder i fil 0.wav, med cd -kvalitet

Lydfilerne er placeret i standardmappen (/home/pi). En lydfil til bip er også nødvendig, placeret i standardmappen og kaldet beep.wav.

Selve python -koden er følgende:

python -kode til en Raspberry Pi afspilningsoptager

importer RPi. GPIO som GPIO
importtid
import os
#variabler:
butPressed = [True, True, True, True, True, True, True] #if -knappen i trykkes på, men butPressed er Falsk
pin = [26, 19, 13, 6, 5, 21, 20] #GPIO pins på hver knap
recordBool = Falsk#Sandt, hvis en registrering er i gang
GPIO.setmode (GPIO. BCM)
for i i området (0, 7):
GPIO.setup (pin , GPIO. IN, pull_up_down = GPIO. PUD_UP)#sætter Pi's interne modstande til at trække op
mens det er sandt:
for i i området (0, 7):
butPressed = GPIO.input (pin )#kontrollerer, om der trykkes på en knap
hvis butPressed == Falsk:#hvis der trykkes på en knap
previousTime = time.time ()
mens butPressed == Falsk og recordBool == Falsk:
butPressed = GPIO.input (pin )
hvis time.time () - previousTime> 1.0:#hvis knappen trykkes i mere end et sekund, så er recordBool True
recordBool = Sandt
hvis recordBool == True: #if recordBool er True, afspiller den en biplyd og optager derefter
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 i maksimalt 20 sekunder i fil i.wav, med cd -kvalitet
mens butPressed == Falsk:
butPressed = GPIO.input (pin )
os.system ("pkill -9 arecord")#optagelsen stoppes, når knappen slippes, eller efter 20 sekunder
recordBool = Falsk
ellers: #if recordBool er falsk, det afspiller lyd i.wav
os.system ("aplay -D plughw: CARD = Device_1, DEV = 0 %d.wav" %i)
time.sleep (0,1)

se rawPlayback -optager hostet af ❤ af GitHub

Trin 6: Kør Python -scriptet ved hver opstart

For at køre python -scriptet ved hver Pi's opstart lægges følgende linjer i en fil kaldet playback.desktop i mappen /home/pi/.config/autostart/

kører playback.py ved Raspberry Pi's opstart

[Desktopindgang]
Kodning = UTF-8
Type = Ansøgning
Navn = Afspilning
Kommentar = Dette er en afspilningsapplikation
Exec = python /home/pi/playback.py
StartupNotify = falsk
Terminal = sandt
Skjult = falsk

se rawplayback.desktop hostet med ❤ af GitHub

Trin 7: Afslut note

Fortæl mig, hvad du synes om dette projekt i kommentarfeltet, lad mig vide om dine anbefalinger, og stem på mig i Raspberry Pi -konkurrencen, hvis du kunne lide det.

Glæder mig til at læse dig!

Anbefalede: