Innehållsförteckning:
- Steg 1: Material behövs
- Steg 2: Knapparna
- Steg 3: Knappfodralet
- Steg 4: Raspberry Pi
- Steg 5: Programmering
- Steg 6: Kör Python -skriptet vid varje start
- Steg 7: Avsluta Obs
Video: Uppspelningsinspelare med Raspberry Pi: 7 steg (med bilder)
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:46
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
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 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
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
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:
Raspberry Pi Box med kylfläkt med CPU -temperaturindikator: 10 steg (med bilder)
Raspberry Pi Box med kylfläkt med CPU-temperaturindikator: Jag hade introducerat hallon pi (nedan RPI) CPU-temperaturindikeringskrets i det föregående projektet. Kretsen visar helt enkelt RPI 4 olika CPU-temperaturnivå enligt följande.- Grön lysdiod tänds när CPU -temperaturen ligger inom 30 ~
Hur: Installera Raspberry PI 4 Headless (VNC) med Rpi-imager och bilder: 7 steg (med bilder)
Hur: Installera Raspberry PI 4 Headless (VNC) med Rpi-imager och bilder: Jag planerar att använda denna Rapsberry PI i ett gäng roliga projekt tillbaka i min blogg. Kolla gärna in det. Jag ville börja använda mitt Raspberry PI men jag hade inte ett tangentbord eller en mus på min nya plats. Det var ett tag sedan jag installerade en hallon
Wifi -kontrollerad 12v LED -remsa med Raspberry Pi med Tasker, Ifttt -integration: 15 steg (med bilder)
Wifi -kontrollerad 12v Led Strip med Raspberry Pi Med Tasker, Ifttt Integration .: I det här projektet kommer jag att visa dig hur du styr en enkel 12v analog led strip över wifi med en hallon pi. För detta projekt behöver du: 1x Raspberry Pi (I använder en Raspberry Pi 1 Model B+) 1x RGB 12v Le
Hur man tar isär en dator med enkla steg och bilder: 13 steg (med bilder)
Hur man tar isär en dator med enkla steg och bilder: Detta är en instruktion om hur man demonterar en dator. De flesta av de grundläggande komponenterna är modulära och lätt att ta bort. Det är dock viktigt att du är organiserad kring det. Detta hjälper dig att inte förlora delar, och även för att göra ommonteringen
Ciclop 3d Scanner My Way Steg för steg: 16 steg (med bilder)
Ciclop 3d Scanner My Way Steg för steg: Hej alla, jag ska inse den berömda Ciclop 3D -scannern.Alla steg som förklaras väl på det ursprungliga projektet är inte närvarande.Jag gjorde några korrigeringar för att förenkla processen, först Jag skriver ut basen, och än så återställer jag kretskortet, men fortsätter