Sadržaj:
- Korak 1: Potreban materijal
- Korak 2: Gumbi
- Korak 3: Slučaj gumba
- Korak 4: Raspberry Pi
- Korak 5: Programiranje
- Korak 6: Pokrenite Python skriptu pri svakom pokretanju
- Korak 7: Završite bilješku
Video: Snimač reprodukcije s Raspberry Pi: 7 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:37
Pozdrav svima, U ovom uputstvu objašnjavam kako sam napravio snimač reprodukcije koristeći Raspberry Pi. Uređaj je Raspberry Pi model B+, sa 7 tipki na vrhu, zvučnikom spojenim na jedan od Pi -ovih USB priključaka i mikrofonom spojenim na druge USB portove. Svaki gumb povezan je sa zvukom pa može reproducirati 7 različitih zvukova. Zvukovi se reproduciraju nakon kratkog pritiska tipke. Za snimanje novog zvuka, jednostavno pritisnite gumb dulje od 1 sekunde, snimite nakon zvučnog signala i pustite gumb na kraju snimanja. Ne postaje jednostavnije od toga!
Korak 1: Potreban materijal
Za ovaj projekt bilo mi je potrebno:
- Raspberry Pi model B + i mikro SD kartica - 29,95 USD + 9,95 USD
- Plastično kućište Raspberry Pi - 7,95 USD
- USB zvučnici - 12,50 USD
- USB mikrofon - 5,95 USD
- Perma-proto ploča polovice veličine-4,50 USD
- 7 kratkih tipki - 2,50 USD
Trebalo mi je i:
- Malo električne žice
- Ženska zaglavlja pod pravim kutom
- Malo drveta, crne boje i ljepila za kućište gumba
- Lemilica i lemljenje
Korak 2: Gumbi
Gumbi su prilično visoki (6 mm) tako da mogu proći kroz debljinu kućišta.
Postavio sam svojih 7 gumba na ploču perma-proto, koja je poput matične ploče, osim što su komponente lemljene na njoj. Ovo je robusnije od matične ploče i jeftinije od ispisivanja PCB -a. Svaki gumb povezuje tlo s GPIO -om na Raspberry Pi. Ovdje nemam otpornike jer Pi već ima unutarnje pull-up/down otpornike koji će biti postavljeni u programu. U ovom slučaju postavio sam ih na pull-up (vidi donji program).
Gumbi se postavljaju svaka 4 reda ili svakih 0,4 inča.
Korak 3: Slučaj gumba
Napravio sam vrlo jednostavnu futrolu za gumbe, s listovima šperploče i drvenim kvadratnim tiplom. Veličina tipli mora biti dovoljno velika da sadrži podnožje gumba i ploču, ali dovoljno mala da gumb izlazi iz kućišta. Koristio sam tiple 1/4 in x 1/4.
Nakon što provjerite da li ploča pristaje u kućište, tiple se lijepe na temeljnu ploču. Zatim se na gornjoj ploči izbuše rupe (ploča se može koristiti za precizno označavanje svakih 0,4 inča). Svi su drveni dijelovi obojeni, ploča je postavljena u kućište, a gornji lim zalijepljen na nju.
Korak 4: Raspberry Pi
Nisam želio lemiti žice izravno na Pi, u slučaju da u budućnosti želim koristiti Pi za nešto drugo. Stoga sam lemio žice na pravokutne ženske zaglavlje i priključio zaglavlja na Pi.
GPIO -i koji se koriste su 21, 26, 20, 19, 13, 6 i 5. Također se koristi pin za uzemljenje.
Mikrofon i zvučnik jednostavno su priključeni u 2 od 4 USB priključka.
Pi se napaja putem mikro-USB utičnice
Korak 5: Programiranje
Za programiranje Pi -a povezao sam ga s internetom pomoću Ethernet kabela i upravljao njime s udaljenog računala pomoću VNC preglednika. Međutim, ovu postavku ne možete koristiti pri prvom povezivanju s Pi jer OS još nije instaliran i SSH nije onemogućen. Zato ćete morati povezati zaslon, tipkovnicu i miša, barem prvi put.
Bilo je prilično mučno pronaći naredbe za snimanje i reprodukciju zvuka na desnoj zvučnoj kartici. Ovo su naredbe koje su mi uspjele:
-
aplay -D plughw: KARTICA = Uređaj_1, DEV = 0 0.wav
Igra 0.wav
-
arecord 0.wav -D sysdefault: CARD = 1 -f cd -d 20
Snima najviše 20 sekundi u datoteci 0.wav, s CD kvalitetom
Zvučne datoteke nalaze se u zadanom direktoriju (/home/pi). Zvučna datoteka za zvučni signal također je potrebna, smještena u zadani direktorij i nazvana beep.wav.
Python kôd je sljedeći:
python kod za snimač reprodukcije Raspberry Pi
uvezite RPi. GPIO kao GPIO |
vrijeme uvoza |
uvoz os |
#varijable: |
butPressed = [True, True, True, True, True, True, True] #ako je pritisnuta tipka i, tada je butPressed pogrešno |
pin = [26, 19, 13, 6, 5, 21, 20] #GPIO pinovi svakog gumba |
recordBool = False#True ako je zapis u tijeku |
Način rada GPIO.set (GPIO. BCM) |
za i u rasponu (0, 7): |
GPIO.setup (pin , GPIO. IN, pull_up_down = GPIO. PUD_UP)#postavlja Pi-ove unutarnje otpornike na povlačenje |
dok je istina: |
za i u rasponu (0, 7): |
butPressed = GPIO.input (pin )#provjerava je li pritisnuta tipka |
if butPressed == False: #ako je pritisnuto dugme |
previousTime = time.time () |
while butPressed == False i recordBool == False: |
butPressed = GPIO.input (pin ) |
ako time.time () - previousTime> 1.0: #ako je gumb pritisnut dulje od sekunde, tada je recordBool True |
recordBool = Istina |
if recordBool == True: #if recordBool je True, reproducira zvučni signal, a zatim snima |
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)#snima maksimalno 20 sekundi u datoteci i.wav, s kvalitetom cd -a |
while butPressed == Netočno: |
butPressed = GPIO.input (pin ) |
os.system ("pkill -9 arecord")#zapis se zaustavlja kad se gumb pusti ili nakon 20 sekundi |
recordBool = Netačno |
else: #ako je recordBool False, reproducira zvuk i.wav |
os.system ("aplay -D plughw: CARD = Device_1, DEV = 0 %d.wav" %i) |
vrijeme.spavanje (0,1) |
pogledaj rawPlayback snimač hostiran s ❤ na GitHubu
Korak 6: Pokrenite Python skriptu pri svakom pokretanju
Za pokretanje python skripte pri svakom pokretanju Pi -a, sljedeći retci stavljaju se u datoteku pod nazivom playback.desktop u mapu /home/pi/.config/autostart/
pokreće playback.py pri pokretanju Raspberry Pi
[Unos sa radne površine] |
Kodiranje = UTF-8 |
Vrsta = Aplikacija |
Naziv = Reprodukcija |
Komentar = Ovo je aplikacija za reprodukciju |
Exec = python /home/pi/playback.py |
StartupNotify = false |
Terminal = istina |
Skriveno = netočno |
pogledajte rawplayback.desktop hostovan sa ❤ na GitHubu
Korak 7: Završite bilješku
Recite mi što mislite o ovom projektu u odjeljku za komentare, javite mi svoje preporuke i glasajte za mene na natječaju Raspberry Pi ako vam se svidio.
Veselim se čitanju!
Preporučeni:
Snimač memorije - božićni dar: 8 koraka (sa slikama)
Snimač memorije - božićni dar: Ciao a tutti! In vista del Natale arriva il momento dei regali, sono sicuro quindi che molti di voi sentiranno la needità di donare qualcosa di speciale. In questo periodo così difficile certamente sono mancate molte prilike po condividere e
Snimač brzine vjetra i sunčevog zračenja: 3 koraka (sa slikama)
Snimač brzine vjetra i solarnog zračenja: Moram snimiti brzinu vjetra i snagu sunčevog zračenja (ozračenost) kako bih procijenio koliko bi se snage moglo izvući vjetroturbinom i/ili solarnim panelima. Mjerit ću godinu dana, analizirati podatke, a zatim osmisliti sustav izvan mreže
Regulator reprodukcije Sat: 7 koraka (sa slikama)
Regulator reprodukcije Sat: Ova instrukcijaOva instrukcija vam pokazuje kako izraditi sat regulatora reprodukcije koristeći staru kutiju za sat i tri kvarcna pomaka. Koristio sam stari engleski 12 " (300 mm) Kućište sata za biranje s Ebaya, ali bilo koje kućište može se koristiti sve dok
Koristite geste za kontrolu reprodukcije YouTubea s Arduinom: 5 koraka
Koristite geste za kontrolu reprodukcije YouTubea s Arduinom: StoryYouTube vam omogućuje samo premotavanje unaprijed 5 sekundi svaki put kada pritisnete desni gumb. Odlučio sam upotrijebiti Arduino i python za izradu kontrolera koji će mi pomoći premotavati unaprijed 20 sekundi svaki put kad odmahujem rukom
Odvajanje nasumične reprodukcije IPoda druge generacije: 3 koraka
Rastavljanje IPod nasumične reprodukcije druge generacije: Evo potpunog opisa kako rastaviti jedan od novih iPod Shuffleova. Bit će vam mali odvijač s Philipovom glavom i nešto tanko i oštro, poput igle