Kazalo:
- Korak: Potreben material
- 2. korak: Gumbi
- 3. korak: ohišje gumbov
- 4. korak: Raspberry Pi
- 5. korak: Programiranje
- 6. korak: Zaženite skript Python pri vsakem zagonu
- Korak 7: Konec opombe
Video: Snemalnik predvajanja z Raspberry Pi: 7 korakov (s slikami)
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:07
Zdravo vsi, V tem navodilu razlagam, kako sem s pomočjo Raspberry Pi naredil snemalnik predvajanja. Naprava je model Raspberry Pi modela B+, s 7 potisnimi gumbi na vrhu, zvočnikom, priključenim na eno od USB -vhodov Pi, in mikrofonom, priključenim na druga vrata USB. Vsak gumb je povezan z zvokom, zato lahko predvaja 7 različnih zvokov. Zvoki se predvajajo po kratkem pritisku gumba. Če želite posneti nov zvok, preprosto pritisnite gumb za več kot 1 sekundo, posnemite po pisku in spustite gumb na koncu zapisa. Preprosteje od tega ne gre!
Korak: Potreben material
Za ta projekt sem potreboval:
- Raspberry Pi model B + in kartica micro SD - 29,95 $ + 9,95 $
- Plastično ohišje Raspberry Pi - 7,95 USD
- USB zvočniki - 12,50 $
- USB mikrofon - 5,95 USD
- Pol velika perma-proto plošča-4,50 $
- 7 trenutnih gumbov - 2,50 $
Potreboval sem tudi:
- Nekaj električne žice
- Pravokotne ženske glave
- Nekaj lesa, črne barve in lepila za ohišje gumbov
- Spajkalnik in spajkalnik
2. korak: Gumbi
Uporabljeni gumbi so precej visoki (6 mm), tako da lahko gredo skozi debelino ohišja.
Svih 7 gumbov sem postavil na ploščo perma-proto, ki je kot plošča, le da so komponente na njej spajkane. To je robustnejše od plošče in cenejše od tiskanja tiskanega vezja. Vsak gumb poveže zemljo z GPIO na Raspberry Pi. Tu nimam uporov, saj ima Pi že notranje vlečne/navzdolne upore, ki bodo nastavljeni v programu. V tem primeru sem jih nastavil na pull-up (glej program spodaj).
Gumbi so nameščeni vsake 4 vrstice ali vsakih 0,4 palca.
3. korak: ohišje gumbov
Naredil sem zelo preprosto ohišje za gumbe s ploščami iz vezanega lesa in lesenim kvadratnim moznikom. Velikost moznikov mora biti dovolj velika, da vsebuje osnovo gumba in ploščo, vendar dovolj majhna, da gumb izstopa iz ohišja. Uporabil sem moznik 1/4 v x 1/4.
Ko se prepričate, da se deska prilega ohišju, se mozniki prilepijo na podlago. Nato se na zgornjem listu izvrtajo luknje (ploščo lahko uporabite za natančno označevanje vsakih 0,4 palca). Vsi leseni deli so pobarvani, plošča je nameščena v ohišje, nanjo pa je lepljen zgornji list.
4. korak: Raspberry Pi
Nisem želel spajati žic neposredno na Pi, če bi v prihodnosti želel uporabiti Pi za kaj drugega. Zato sem žice spajkal na pravokotne ženske glave in priključil glave na Pi.
Uporabljeni GPIO so 21, 26, 20, 19, 13, 6 in 5. Uporablja se tudi ozemljitveni pin.
Mikrofon in zvočnik sta preprosto priključena v 2 od 4 vhodov USB.
Pi se napaja prek vtičnice micro-usb
5. korak: Programiranje
Za programiranje Pi sem ga z ethernetnim kablom povezal z internetom in ga upravljal z oddaljenega računalnika s pregledovalnikom VNC. Te nastavitve pa ne morete uporabiti ob prvi priključitvi na Pi, ker OS še ni nameščen in SSH ni onemogočen. Tako boste morali vsaj prvič povezati zaslon, tipkovnico in miško.
Bilo je precej težav pri iskanju ukazov za snemanje in predvajanje zvoka na desni zvočni kartici. To so ukazi, ki so mi delovali:
-
aplay -D plughw: KARTICA = Naprava_1, DEV = 0 0.wav
Predvaja 0.wav
-
arecord 0.wav -D sysdefault: KARTICA = 1 -f cd -d 20
Snema največ 20 sekund v datoteki 0.wav s kakovostjo CD -ja
Zvočne datoteke se nahajajo v privzetem imeniku (/home/pi). Zvočna datoteka za pisk je prav tako potrebna, postavljena v privzeti imenik in imenovana beep.wav.
Koda pythona je naslednja:
koda python za snemalnik predvajanja Raspberry Pi
uvozite RPi. GPIO kot GPIO |
čas uvoza |
uvoz os |
#spremenljivke: |
butPressed = [True, True, True, True, True, True, True]#če pritisnete gumb i, potem je butPressed napačno |
pin = [26, 19, 13, 6, 5, 21, 20] #GPIO zatiči vsakega gumba |
recordBool = False#True, če je zapis v teku |
Način nastavitve GPIO (GPIO. BCM) |
za i v območju (0, 7): |
GPIO.setup (pin , GPIO. IN, pull_up_down = GPIO. PUD_UP)#nastavi notranje upore Pi za vlečenje |
medtem ko je res: |
za i v območju (0, 7): |
butPressed = GPIO.input (pin )#preveri, ali je pritisnjen gumb |
if butPressed == False:#če pritisnete gumb |
previousTime = time.time () |
while butPressed == False in recordBool == False: |
butPressed = vhod GPIO. (pin ) |
če je time.time () - previousTime> 1.0:#če je gumb pritisnjen za več kot sekundo, potem je recordBool True |
recordBool = Res |
if recordBool == True: #if recordBool je True, predvaja pisk in nato snema |
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)#snema največ 20 sekund v datoteki i.wav, s kakovostjo CD -ja |
medtem ko butPressed == False: |
butPressed = vhod GPIO. (pin ) |
os.system ("pkill -9 arecord")#zapis se ustavi, ko gumb spustite ali po 20 sekundah |
recordBool = False |
else: #if recordBool je False, predvaja zvok i.wav |
os.system ("aplay -D plughw: CARD = Device_1, DEV = 0 %d.wav" %i) |
time.sleep (0,1) |
oglejte si snemalnik rawPlayback, ki ga gosti ❤ pri GitHubu
6. korak: Zaženite skript Python pri vsakem zagonu
Če želite zagnati skript python pri vsakem zagonu Pi, se v datoteko, imenovano playback.desktop, v mapo /home/pi/.config/autostart/ vnesejo naslednje vrstice.
teče playback.py pri zagonu Raspberry Pi
[Vnos na namizje] |
Kodiranje = UTF-8 |
Vrsta = Aplikacija |
Ime = Predvajanje |
Komentar = To je aplikacija za predvajanje |
Exec = python /home/pi/playback.py |
StartupNotify = false |
Terminal = res |
Skrita = napačna |
oglejte si rawplayback.desktop, ki ga gosti ❤ GitHub
Korak 7: Konec opombe
Prosim, povejte mi, kaj mislite o tem projektu, v razdelku s komentarji, sporočite mi vaša priporočila in glasujte zame na natečaju Raspberry Pi, če vam je bil všeč.
Veselim se vašega branja!
Priporočena:
Snemalnik spomina - božično darilo: 8 korakov (s slikami)
Snemalnik spomina - božično darilo: Ciao a tutti! In vista del Natale arriva il momento dei regali, sono sicuro quindi che molti di voi sentiranno la neophodità di donare qualcosa di speciale. In questo periodo così difficile certamente sono mancate molte dogodioni per condividere e
Uporabite kretnje za nadzor predvajanja YouTube z Arduinom: 5 korakov
Uporabite kretnje za nadzor predvajanja v YouTubu z Arduinom: StoryYouTube vam omogoča, da hitro premikate naprej 5 sekund vsakič, ko kliknete desni gumb. Zato sem se odločil, da z Arduinom in pythonom naredim krmilnik, ki mi bo pomagal hitro premakniti naprej 20 sekund vsakič, ko mahnem z roko
Snemalnik udarcev za vozila: 18 korakov (s slikami)
Snemalnik udarcev za vozila: Snemalnik udarcev je zasnovan za beleženje udarcev, ki jih utrpi vozilo med vožnjo ali mirovanjem. Vplivi so shranjeni v bazi podatkov v obliki odčitkov, kot tudi videa/slike. Oddaljenega uporabnika ob udarcu lahko preverimo v realnem času, oddaljenega pa
Časovnik predvajanja IPad: 5 korakov (s slikami)
Časovnik predvajanja IPad: Mislim, da je to tema, s katero se spopadajo vsi starši. Koliko se lahko otroci igrajo s svojimi iPadi (ali katerim koli drugim tabličnim računalnikom). Poskušali smo z več pristopi, na primer določenim časom, vendar to ni delovalo, saj je naš otrok vedno želel iti domov mame
Snemalnik podatkov o letenju RC/črna škatla: 8 korakov (s slikami)
Snemalnik podatkov o letenju RC/Black Box: V tem navodilu bom izdelal zapisovalnik podatkov o bojih na arduino za vozila RC, zlasti letala RC. Za snemanje podatkov bom uporabil UBlox Neo 6m GPS modul, povezan z arduino pro mini in ščit za kartico SD