Sadržaj:
- Korak 1: Potreban materijal
- Korak 2: Dugmad
- Korak 3: Slučaj dugmadi
- Korak 4: Raspberry Pi
- Korak 5: Programiranje
- Korak 6: Pokrenite Python skriptu pri svakom pokretanju
- Korak 7: Završite napomenu
Video: Snimač reprodukcije sa Raspberry Pi: 7 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:08
Zdravo svima, U ovom uputstvu objašnjavam kako sam napravio snimač reprodukcije koristeći Raspberry Pi. Uređaj je Raspberry Pi model B+, sa 7 tastera na vrhu, zvučnikom povezanim na jedan od Pi -ovih USB portova i mikrofonom povezanim sa drugim USB portovima. Svako dugme je povezano sa zvukom, pa može reprodukovati 7 različitih zvukova. Zvukovi se puštaju nakon kratkog pritiska na dugme. Za snimanje novog zvuka, jednostavno pritisnite dugme duže od 1 sekunde, snimite nakon zvučnog signala i pustite dugme na kraju snimanja. Ne postaje jednostavnije od toga!
Korak 1: Potreban materijal
Za ovaj projekat mi je bilo 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
Takođe mi je bilo potrebno:
- Neka električna žica
- Ženska zaglavlja pod pravim uglom
- Malo drveta, crne boje i ljepila za kućište dugmeta
- Lemilica i lemljenje
Korak 2: Dugmad
Dugmad koja se koriste su prilično visoka (6 mm) tako da mogu proći kroz debljinu kućišta.
Stavio sam svojih 7 tipki na perma-proto ploču, koja je poput matične ploče, osim što su komponente lemljene na njoj. Ovo je robusnije od matične ploče i jeftinije je od štampanja PCB -a. Svako dugme povezuje zemlju sa GPIO -om na Raspberry Pi -u. Ovdje nemam otpornike jer Pi već ima unutrašnje pull-up/down otpornike koji će biti postavljeni u programu. U ovom slučaju postavio sam ih na pull-up (pogledajte program ispod).
Dugmad se postavljaju svaka 4 reda ili svakih 0,4 inča.
Korak 3: Slučaj dugmadi
Napravio sam vrlo jednostavnu futrolu za dugmad, sa listovima šperploče i drvenim kvadratnim tiplom. Veličina tipli mora biti dovoljno velika da sadrži podnožje dugmeta 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 podlogu. 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 drveni dijelovi su obojeni, ploča je postavljena u kućište, a gornji lim zalijepljen na nju.
Korak 4: Raspberry Pi
Nisam želio lemiti žice direktno na Pi, u slučaju da u budućnosti želim koristiti Pi za nešto drugo. Stoga sam lemio žice na ženskim zaglavljima pod pravim uglom i priključio zaglavlja na Pi.
GPIO -i koji se koriste su 21, 26, 20, 19, 13, 6 i 5. Koristi se i pin za uzemljenje.
Mikrofon i zvučnik jednostavno su priključeni u 2 od 4 USB priključka.
Pi se napaja preko mikro-USB utičnice
Korak 5: Programiranje
Da bih programirao Pi, povezao sam ga s internetom pomoću Ethernet kabela i kontrolirao ga s udaljenog računara pomoću VNC preglednika. Međutim, ne možete koristiti ovu postavku pri prvom povezivanju na Pi jer OS još nije instaliran i SSH nije onemogućen. Zato ćete morati povezati ekran, tastaturu i miša, barem prvi put.
Bilo je prilično mučno pronaći komande za snimanje i reprodukciju zvuka na desnoj zvučnoj kartici. Ovo su naredbe koje su mi uspjele:
-
aplay -D plughw: CARD = Device_1, DEV = 0 0.wav
Igra 0.wav
-
arecord 0.wav -D sysdefault: CARD = 1 -f cd -d 20
Snima maksimalno 20 sekundi u datoteci 0.wav, sa CD kvalitetom
Zvučne datoteke se nalaze u zadanom direktoriju (/home/pi). Zvučna datoteka za zvučni signal je takođe neophodna, smeštena u podrazumevani direktorijum i nazvana beep.wav.
Python kôd je sljedeći:
python kod za snimač reprodukcije Raspberry Pi
uvezite RPi. GPIO kao GPIO |
vreme uvoza |
import os |
#varijable: |
butPressed = [True, True, True, True, True, True, True] #ako je dugme i pritisnuto, onda je butPressed netačno |
pin = [26, 19, 13, 6, 5, 21, 20] #GPIO pinovi svakog dugmeta |
recordBool = False#Tačno ako je zapis u toku |
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 unutrašnje otpornike na povlačenje |
dok je True: |
za i u rasponu (0, 7): |
butPressed = GPIO.input (pin )#provjerava je li pritisnuto dugme |
if butPressed == False: #ako je pritisnuto dugme |
previousTime = time.time () |
while butPressed == Netačno i recordBool == Netačno: |
butPressed = GPIO.input (pin ) |
ako je time.time () - previousTime> 1.0:#ako je dugme pritisnuto duže od sekunde, tada je recordBool True |
recordBool = Tačno |
if recordBool == True: #if recordBool je True, pušta 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, sa kvalitetom cd -a |
while butPressed == Netačno: |
butPressed = GPIO.input (pin ) |
os.system ("pkill -9 arecord")#zapis se zaustavlja kada se dugme 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) |
time.sleep (0,1) |
pogledajte rawPlayback snimač hostiran sa ❤ na GitHub -u
Korak 6: Pokrenite Python skriptu pri svakom pokretanju
Da biste pokrenuli python skriptu pri pokretanju svakog Pi -a, sljedeći redovi se stavljaju u datoteku pod nazivom playback.desktop u folder /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 = netačno |
pogledajte rawplayback.desktop hostovan sa ❤ na GitHub -u
Korak 7: Završite napomenu
Recite mi šta mislite o ovom projektu u odjeljku za komentare, javite mi svoje preporuke i glasajte za mene na takmičenju Raspberry Pi ako vam se svidjelo.
Radujem se čitanju!
Preporučuje se:
Snimač memorije - božićni poklon: 8 koraka (sa slikama)
Snimač memorije - božićni poklon: Ciao a tutti! U vista del Natale stiže 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 events for condividere e
Regulator reprodukcije Sat: 7 koraka (sa slikama)
Sat s regulatorom reprodukcije: Ovo uputstvoOvo uputstvo vam pokazuje kako napraviti sat s regulatorom reprodukcije koristeći staro kućište sata i tri kvarcna pomaka. Koristio sam stari engleski 12 " (300 mm) Kućište sata za biranje sa Ebaya, ali bilo koje kućište može se koristiti sve dok
Koristite pokrete za kontrolu reprodukcije YouTubea s Arduinom: 5 koraka
Koristite pokrete za kontrolu reprodukcije YouTubea s Arduinom: StoryYouTube vam omogućuje samo premotavanje unaprijed 5 sekundi svaki put kada pritisnete desno dugme. Pa sam odlučio koristiti Arduino i python za izradu kontrolera koji će mi pomoći da premotam unaprijed 20 sekundi svaki put kad odmahujem rukom
Odvajanje nasumične reprodukcije IPoda druge generacije: 3 koraka
Razdvajanje iPod -a druge generacije u slučajnom redoslijedu: Evo potpunog opisa kako rastaviti jedan od novih iPod -ova u slučajnom redoslijedu. Trebat će vam mali odvijač s Philipovom glavom i nešto tanko i oštro, poput igle
Onemogućavanje automatske reprodukcije na USB-u i CD-pogonu u operativnom sistemu Windows XP: 6 koraka
Onemogućite automatsku reprodukciju na USB-u i CD-pogonu u operativnom sistemu Windows XP: Virusi se lako šire putem USB fleš diskova. Virusi koji se prenose na ovaj način stvaraju se na način da se automatski pokreću (automatski aktiviraju) kada su priključeni na računalo koje radi ili kada se pogon otvori (klik ili dvostruki cl