Innehållsförteckning:

Uppspelningsinspelare med Raspberry Pi: 7 steg (med bilder)
Uppspelningsinspelare med Raspberry Pi: 7 steg (med bilder)

Video: Uppspelningsinspelare med Raspberry Pi: 7 steg (med bilder)

Video: Uppspelningsinspelare med Raspberry Pi: 7 steg (med bilder)
Video: Штукатурка стен - самое полное видео! Переделка хрущевки от А до Я. #5 2024, November
Anonim
Image
Image
Material behövs
Material behövs

Hej allihopa, I denna instruerbara förklarar jag hur jag gjorde en uppspelningsinspelare med Raspberry Pi. Enheten är en Raspberry Pi -modell B+, med 7 tryckknappar ovanpå, en högtalare ansluten till en av Pi: s usb -portar och en mikrofon ansluten till en annan usb -port. Varje knapp är kopplad till ett ljud, så det kan spela upp 7 olika ljud. Ljuden spelas upp efter en kort knapptryckning. För att spela in ett nytt ljud, tryck helt enkelt på knappen i mer än 1 sekund, spela in efter pipen och släpp knappen i slutet av inspelningen. Det blir inte enklare än så!

Steg 1: Material behövs

Material behövs
Material behövs
Material behövs
Material behövs

För detta projekt behövde jag:

  • En Raspberry Pi modell B + och micro SD -kort - 29,95 $ + 9,95 $
  • Ett Raspberry Pi plastfodral - 7,95 $
  • USB -högtalare - 12,50 $
  • En USB -mikrofon - 5,95 $
  • En halvstor perma-proto-bräda-4,50 $
  • 7 tillfälliga tryckknappar - 2,50 $

Jag behövde också:

  • Någon elektrisk kabel
  • Rätvinkliga kvinnliga rubriker
  • Lite trä, svart färg och lim till knappfodralet
  • Ett lödkolv och löd

Steg 2: Knapparna

Knapparna
Knapparna
Knapparna
Knapparna
Knapparna
Knapparna

Knapparna som används är ganska höga (6 mm) så att de kan gå igenom fodertjockleken.

Jag placerade mina 7 knappar på en perma-proto-bräda, som är som en brödbräda, förutom att komponenter är lödda på den. Detta är mer robust än en brödbräda och billigare än att skriva ut ett kretskort. Varje knapp länkar marken till en GPIO på Raspberry Pi. Jag har inte motstånd här eftersom Pi redan har interna pull-up/down-motstånd som kommer att ställas in i programmet. I det här fallet har jag ställt in dem på pull-up (se programmet nedan).

Knapparna placeras var 4: e rad, eller var 0,4 tum.

Steg 3: Knappfodralet

Knappfodralet
Knappfodralet
Knappfodralet
Knappfodralet
Knappfodralet
Knappfodralet

Jag gjorde ett mycket enkelt fodral för knapparna, med plywoodskivor och fyrkantig träplatta. Knoppstorleken måste vara tillräckligt stor för att innehålla knappbotten och brädet, men tillräckligt liten för att låta knappen komma ut ur fodralet. Jag använde en 1/4 i x 1/4 i plugg.

Efter att ha kontrollerat att brädan passar i fodralet limmas pluggarna på basarket. Hål borras sedan på det övre arket (brädan kan användas för att exakt göra märken var 0,4 tum). Alla trädelar är målade, brädet placerat i fodralet och det övre arket limmat ovanpå det.

Steg 4: Raspberry Pi

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

Jag ville inte löd trådarna direkt till Pi, ifall jag vill använda Pi till något annat i framtiden. Jag lödde därför trådarna till rätvinkliga kvinnliga rubriker och pluggade rubrikerna på Pi.

GPIO: erna är 21, 26, 20, 19, 13, 6 och 5. Jordstiftet används också.

Mikrofonen och högtalaren är helt enkelt anslutna till 2 av de 4 usb -portarna.

Pi drivs via mikro-usb-uttaget

Steg 5: Programmering

För att programmera Pi kopplade jag den till internet med en ethernet -kabel och styrde den från en fjärrdator med VNC viewer. Du kan dock inte använda den här inställningen första gången du ansluter till Pi, eftersom operativsystemet inte är installerat än och SSH inte är inaktiverat. Så du måste ansluta en skärm, tangentbord och mus, åtminstone första gången.

Det var ganska krångligt att hitta kommandona för att spela in och spela ett ljud på rätt ljudkort. Detta är de kommandon som fungerade för mig:

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

    Spelar 0.wav

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

    Spelar in högst 20 sekunder i fil 0.wav, med cd -kvalitet

Ljudfilerna finns i standardkatalogen (/home/pi). En ljudfil för pipet är också nödvändig, placerad i standardkatalogen och kallas beep.wav.

Själva pythonkoden är följande:

python -kod för en Raspberry Pi -uppspelningsinspelare

importera RPi. GPIO som GPIO
importtid
importera os
#variabler:
butPressed = [Sant, sant, sant, sant, sant, sant, sant] #if knappen jag trycks in, men menPressed är falsk
pin = [26, 19, 13, 6, 5, 21, 20] #GPIO -stift på varje knapp
recordBool = Falskt#Sant om en registrering pågår
GPIO.setmode (GPIO. BCM)
för i inom intervallet (0, 7):
GPIO.setup (pin , GPIO. IN, pull_up_down = GPIO. PUD_UP)#ställer in Pis interna motstånd för att dra upp
medan det är sant:
för i inom intervallet (0, 7):
butPressed = GPIO.input (pin )#kontrollerar om en knapp trycks in
if butPressed == Falskt:#om en knapp trycks in
previousTime = time.time ()
medan butPressed == Falskt och recordBool == Falskt:
butPressed = GPIO.input (pin )
om time.time () - previousTime> 1.0: #om knappen hålls intryckt i mer än en sekund, då är recordBool True
recordBool = True
om recordBool == True: #if recordBool är True, spelar det ett pipljud och spelar sedan in
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 max 20 sekunder i fil i.wav, med cd -kvalitet
medan butPressed == Falskt:
butPressed = GPIO.input (pin )
os.system ("pkill -9 arecord")#posten stoppas när knappen släpps, eller efter 20 sekunder
recordBool = Falskt
annars:#if recordBool är falskt, det spelar ljud i.wav
os.system ("aplay -D plughw: CARD = Device_1, DEV = 0 %d.wav" %i)
time.sleep (0,1)

visa rawPlayback -inspelare värd med ❤ av GitHub

Steg 6: Kör Python -skriptet vid varje start

För att köra python -skriptet vid varje Pi -start läggs följande rader in i en fil som heter playback.desktop i mappen /home/pi/.config/autostart/

kör playback.py vid Raspberry Pi: s start

[Skrivbordspost]
Kodning = UTF-8
Typ = applikation
Namn = Uppspelning
Comment = Detta är en uppspelningsapplikation
Exec = python /home/pi/playback.py
StartupNotify = false
Terminal = sant
Dold = falsk

visa rawplayback.desktop värd med ❤ av GitHub

Steg 7: Avsluta Obs

Berätta vad du tycker om detta projekt i kommentarsfältet, meddela mig om dina rekommendationer och rösta på mig i Raspberry Pi -tävlingen om du gillade det.

Ser fram emot att läsa dig!

Rekommenderad: