Kazalo:

Snemalnik predvajanja z Raspberry Pi: 7 korakov (s slikami)
Snemalnik predvajanja z Raspberry Pi: 7 korakov (s slikami)

Video: Snemalnik predvajanja z Raspberry Pi: 7 korakov (s slikami)

Video: Snemalnik predvajanja z Raspberry Pi: 7 korakov (s slikami)
Video: Сводные таблицы Excel с нуля до профи за полчаса + Дэшборды! | 1-ое Видео курса "Сводные Таблицы" 2024, November
Anonim
Image
Image
Potreben material
Potreben material

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

Potreben material
Potreben material
Potreben material
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

Gumbi
Gumbi
Gumbi
Gumbi
Gumbi
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

Ohišje gumbov
Ohišje gumbov
Ohišje gumbov
Ohišje gumbov
Ohišje gumbov
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

Raspberry Pi
Raspberry Pi
Raspberry Pi
Raspberry Pi
Raspberry Pi
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: