INHOUDSOPGAWE:
- Stap 1: materiaal benodig
- Stap 2: Die knoppies
- Stap 3: Die knoppieskas
- Stap 4: Die Framboos Pi
- Stap 5: Programmering
- Stap 6: Begin die Python -skrip by elke opstart
- Stap 7: Eindnota
Video: Afspeelopnemer met Framboos Pi: 7 stappe (met foto's)
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:27
Haai almal, In hierdie instruksies verduidelik ek hoe ek 'n afspeelopnemer gemaak het met behulp van Raspberry Pi. Die toestel is 'n Raspberry Pi -model B+, met 7 drukknoppies bo -op, 'n luidspreker wat aan een van die Pi se usb -poorte gekoppel is, en 'n mikrofoon wat aan 'n ander usb -poort gekoppel is. Elke knoppie word aan 'n klank gekoppel, sodat dit 7 verskillende klanke kan speel. Die klanke word gespeel na 'n kort druk op die knoppie. Om 'n nuwe klank op te neem, druk net meer as 1 sekonde op die knoppie, neem op na die piep en laat die knoppie aan die einde van die opname los. Dit word nie eenvoudiger as dit nie!
Stap 1: materiaal benodig
Vir hierdie projek benodig ek:
- 'N Raspberry Pi -model B + en mikro -SD -kaart - 29,95 $ + 9,95 $
- 'N Raspberry Pi -plastiekkas - 7,95 dollar
- USB -luidsprekers - 12,50 $
- 'N USB -mikrofoon - 5,95 dollar
- 'N Halfgrootte perma-proto-bord-4,50 $
- 7 kort drukknoppies - 2,50 $
Ek het ook nodig gehad:
- Bietjie elektriese draad
- Reghoekige vroulike opskrifte
- Bietjie hout, swart verf en gom vir die knoopkas
- 'N Soldeerbout en soldeersel
Stap 2: Die knoppies
Die knoppies wat gebruik word, is redelik lank (6 mm) sodat hulle deur die omhulseldikte kan gaan.
Ek het my 7 knoppies op 'n perma-proto-bord geplaas, wat soos 'n broodbord is, behalwe dat die komponente daarop gesoldeer is. Dit is meer robuust as 'n broodbord en goedkoper as om 'n PCB te druk. Elke knoppie skakel die grond met 'n GPIO op die Raspberry Pi. Ek het nie weerstande hier nie, aangesien die Pi reeds interne optel-/afwaartse weerstande het wat in die program ingestel sal word. In hierdie geval het ek hulle ingestel om op te trek (sien program hieronder).
Die knoppies word elke 4 rye of elke 0,4 duim geplaas.
Stap 3: Die knoppieskas
Ek het 'n baie eenvoudige omhulsel vir die knoppies gemaak, met laaghoutblaaie en vierkantige houtpyltjies. Die stokgrootte moet groot genoeg wees om die knoppiebasis en -bord te bevat, maar klein genoeg om die knoppie uit die omhulsel te laat kom. Ek het 'n 1/4 in x 1/4 in dowel gebruik.
Nadat u seker gemaak het dat die bord in die omhulsel pas, word die spykers aan die basis vasgeplak. Gate word dan op die boonste vel geboor (die bord kan gebruik word om elke 0,4 duim merkies te maak). Alle houtdele is geverf, die bord in die omhulsel geplaas en die boonste vel daarop vasgeplak.
Stap 4: Die Framboos Pi
Ek wou nie die drade direk aan die Pi soldeer nie, as ek die Pi in die toekoms vir iets anders wil gebruik. Ek het dus die drade aan reghoekige vroulike koppe gesoldeer en die koppe op die Pi ingeprop.
Die GPIO's wat gebruik word, is 21, 26, 20, 19, 13, 6 en 5. Die grondpen word ook gebruik.
Die mikrofoon en luidspreker is eenvoudig in 2 van die 4 usb -poorte gekoppel.
Die Pi word deur die mikro-usb-aansluiting aangedryf
Stap 5: Programmering
Om die Pi te programmeer, het ek dit met 'n ethernetkabel aan die internet gekoppel en dit beheer vanaf 'n afgeleë rekenaar met behulp van VNC viewer. U kan hierdie opstelling egter nie gebruik die eerste keer dat u aan die Pi koppel nie, omdat die bedryfstelsel nog nie geïnstalleer is nie en SSH nie uitgeskakel is nie. U moet dus ten minste die eerste keer 'n skerm, sleutelbord en muis koppel.
Dit was nogal moeilik om die opdragte te vind om 'n geluid op die regte klankkaart op te neem en af te speel. Dit is die opdragte wat vir my gewerk het:
-
aplay -D ploeg: CARD = Device_1, DEV = 0 0.wav
Speel 0.wav
-
arecord 0.wav -D sysdefault: CARD = 1 -f cd -d 20
Neem maksimum 20 sekondes op in lêer 0.wav, met CD -kwaliteit
Die klanklêers is in die standaard gids (/home/pi) geleë. 'N Klanklêer vir die piep is ook nodig, geplaas in die standaardgids en genoem beep.wav.
Die python -kode self is die volgende:
python -kode vir 'n Raspberry Pi -afspeelopnemer
voer RPi. GPIO in as GPIO |
invoer tyd |
invoer os |
#veranderlikes: |
butPressed = [True, True, True, True, True, True, True]#as knoppie ingedruk word, dan is butPressed Onwaar |
pen = [26, 19, 13, 6, 5, 21, 20] #GPIO -penne van elke knoppie |
recordBool = Onwaar#Waar as 'n rekord aan die gang is |
GPIO.setmode (GPIO. BCM) |
vir i in reeks (0, 7): |
GPIO.setup (pin , GPIO. IN, pull_up_down = GPIO. PUD_UP)#stel Pi se interne weerstande in om op te trek |
terwyl dit waar is: |
vir i in reeks (0, 7): |
butPressed = GPIO.input (pin )#kyk of 'n knoppie ingedruk word |
as butPressed == Onwaar:#as 'n knoppie ingedruk word |
previousTime = time.time () |
terwyl butPressed == Onwaar en recordBool == Onwaar: |
butPressed = GPIO.input (pen ) |
as time.time () - vorige tyd> 1.0:#as die knoppie meer as 'n sekonde ingedruk word, dan is recordBool True |
recordBool = Waar |
as recordBool == True:#as recordBool True is, speel dit 'n piepgeluid en neem dit dan op |
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)#rekords vir maksimum 20 sekondes in lêer i.wav, met cd kwaliteit |
terwyl butPressed == Onwaar: |
butPressed = GPIO.input (pen ) |
os.system ("pkill -9 arecord")#die rekord word gestaak as die knoppie losgemaak word, of na 20 sekondes |
recordBool = Onwaar |
anders:#as recordBool is vals, speel dit klank i.wav |
os.system ("aplay -D plughw: CARD = Device_1, DEV = 0 %d.wav" %i) |
tyd. slaap (0,1) |
bekyk rawPlayback -opnemer wat aangebied word deur ❤ deur GitHub
Stap 6: Begin die Python -skrip by elke opstart
Om die python -script by die aanvang van elke Pi uit te voer, word die volgende reëls in 'n lêer met die naam playback.desktop in die gids /home/pi/.config/autostart/ geplaas
loop playback.py by die begin van Raspberry Pi
[Desktopinskrywing] |
Kodering = UTF-8 |
Tipe = Aansoek |
Naam = afspeel |
Comment = Dit is 'n afspeelprogram |
Exec = python /home/pi/playback.py |
StartupNotify = vals |
Terminal = waar |
Versteek = vals |
bekyk rawplayback.desktop aangebied deur ❤ deur GitHub
Stap 7: Eindnota
Vertel my in die kommentaarafdeling wat u van hierdie projek dink, laat weet my van u aanbevelings en stem vir my in die Raspberry Pi -wedstryd as u daarvan hou.
Sien uit daarna om jou te lees!
Aanbeveel:
DIY 3D LED -kubus met 'n Framboos Pi: 6 stappe (met foto's)
DIY 3D LED Cube With a Raspberry Pi: Hierdie projek gaan oor hoe ons 'n DIY 3D LED Cube gemaak het van ws2812b LED's. Die kubus is 8x8x8 LED's, dus 512 in totaal, en die lae is gemaak van akrielplate wat ons by die huisdepot gekry het. Die animasies word aangedryf deur 'n framboospi en 'n 5V -kragbron. Die
Cocktailmasjien met GUI Framboos: 7 stappe (met foto's)
Cocktailmasjien met GUI Framboos: hou jy van tegnologie en partytjie? Hierdie projek is vir u gemaak! In hierdie tutoriaal sal ons 'n outomatiese cocktailmasjien met 'n grafiese koppelvlak skep. Alles wat deur die framboos beheer word! EDIT: Ek het die nuwe hier makliker en goedkoper gemaak
N Framboos Pi-kleurmeter met e-papiervertoning: 8 stappe (met foto's)
N Raspberry Pi-kleurmeter met e-papiervertoning: ek het in 2018 aan hierdie idee begin werk, 'n uitbreiding van 'n vorige projek, 'n kleurmeter. My voorneme was om 'n e-papierskerm te gebruik, sodat die kolorimeter as 'n losstaande oplossing gebruik kan word sonder die vereistes vir 'n eksterne
Outomatiese videokonferensie vir ouma met framboos Pi: 9 stappe (met foto's)
Outomatiese videokonferensie vir ouma met framboos Pi: ek is bekommerd oor my 90-jarige ouma, want selfs sy moet tuis bly tydens die COVID-epidemie, maar sy is voortdurend besig om uit te kom en doen " noodsaaklik " dinge op straat, soos om lotterykaartjies te koop, met bure te gesels. Ek
Framboos Pi in die natuur! Uitgebreide tydsverloop met batterykrag: 10 stappe (met foto's)
Framboos Pi in die natuur! Uitgebreide tydsverloop met batterykrag: motivering: ek wou 'n Raspberry Pi-kamera met 'n battery gebruik om een keer per dag foto's buite te neem om langtermynvideo's te maak. My spesifieke toepassing is om die komende lente en somer die groei van grondbedekkings aan te teken. Uitdaging: D