Satura rādītājs:
- 1. darbība. Nepieciešamais materiāls
- 2. solis: pogas
- 3. solis: pogu poga
- 4. solis: Raspberry Pi
- 5. solis: programmēšana
- 6. darbība: palaidiet Python skriptu katrā startēšanas reizē
- 7. solis: beigu piezīme
Video: Atskaņošanas ierakstītājs ar Raspberry Pi: 7 soļi (ar attēliem)
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:57
Sveiki visiem, Šajā pamācībā es paskaidroju, kā es izveidoju atskaņošanas ierakstītāju, izmantojot Raspberry Pi. Ierīce ir Raspberry Pi modelis B+ar 7 spiedpogām augšpusē, skaļruni, kas savienots ar vienu no Pi USB portiem, un mikrofonu, kas savienots ar citiem USB portiem. Katra poga ir saistīta ar skaņu, tāpēc tā var atskaņot 7 dažādas skaņas. Skaņas tiek atskaņotas pēc īsas pogas nospiešanas. Lai ierakstītu jaunu skaņu, vienkārši nospiediet pogu ilgāk par 1 sekundi, ierakstiet pēc pīkstiena un atlaidiet pogu ieraksta beigās. Tas nekļūst vienkāršāks par to!
1. darbība. Nepieciešamais materiāls
Šim projektam man bija nepieciešams:
- A Raspberry Pi modelis B + un micro SD karte - 29,95 $ + 9,95 $
- Raspberry Pi plastmasas korpuss - 7,95 USD
- USB skaļruņi - 12,50 USD
- USB mikrofons - 5,95 USD
- Pusizmēra perma-proto dēlis-4,50 USD
- 7 īslaicīgas spiedpogas - 2,50 USD
Man arī vajadzēja:
- Daži elektriskie vadi
- Taisna leņķa sieviešu galvenes
- Dažas koka, melnas krāsas un līmes pogām
- Lodāmurs un lodētava
2. solis: pogas
Izmantotās pogas ir diezgan garas (6 mm), lai tās varētu iziet cauri korpusa biezumam.
Es novietoju savas 7 pogas uz perma-proto tāfeles, kas ir kā maizes dēlis, izņemot komponentus, kas uz tā ir pielodēti. Tas ir izturīgāks par maizes dēli un lētāks nekā PCB drukāšana. Katra poga ir saistīta ar GPIO Raspberry Pi. Man šeit nav rezistoru, jo Pi jau ir iekšējie pull-up/down rezistori, kas tiks iestatīti programmā. Šajā gadījumā esmu iestatījis tos uz augšu (skatiet programmu zemāk).
Pogas tiek novietotas ik pēc 4 rindām vai ik pēc 0,4 collas.
3. solis: pogu poga
Pogām es izveidoju ļoti vienkāršu futrāli ar saplākšņa loksnēm un koka kvadrātveida dībeli. Dībeļa izmēram jābūt pietiekami lielam, lai tajā būtu pogas pamatne un tāfele, bet pietiekami mazam, lai pogu varētu izņemt no korpusa. Es izmantoju 1/4 x 1/4 dībeli.
Pēc tam, kad esat pārliecinājies, ka dēlis atbilst korpusam, tapas tiek pielīmētas pie pamatnes loksnes. Pēc tam uz augšējās loksnes tiek urbti caurumi (dēli var izmantot, lai precīzi atzīmētu ik pēc 0,4 collām). Visas koka detaļas ir nokrāsotas, dēlis ievietots korpusā, un augšējā lapa ir pielīmēta virs tā.
4. solis: Raspberry Pi
Es negribēju lodēt vadus tieši pie Pi, ja nākotnē vēlos izmantot Pi kaut kam citam. Tāpēc es lodēju vadus taisnleņķa sieviešu galvenēm un pievienoju Pi galvenes.
Izmantotie GPIO ir 21, 26, 20, 19, 13, 6 un 5. Tiek izmantota arī zemējuma tapa.
Mikrofons un skaļrunis ir vienkārši pievienoti 2 no 4 USB portiem.
Pi tiek barots caur mikro-usb kontaktligzdu
5. solis: programmēšana
Lai programmētu Pi, es to savienoju ar internetu, izmantojot Ethernet kabeli, un vadīju to no attālā datora, izmantojot VNC skatītāju. Tomēr jūs nevarat izmantot šo iestatījumu, pirmo reizi izveidojot savienojumu ar Pi, jo OS vēl nav instalēta un SSH nav atspējots. Tātad jums vismaz pirmo reizi būs jāpievieno ekrāns, tastatūra un pele.
Bija diezgan apgrūtinoši atrast komandas ierakstīt un atskaņot skaņu labajā skaņas kartē. Šīs ir man noderējušās komandas:
-
aplay -D ploww: CARD = Device_1, DEV = 0 0.wav
Spēlē 0.wav
-
arecord 0.wav -D sysdefault: CARD = 1 -f cd -d 20
Maksimāli 20 sekundes ieraksta failā 0.wav ar cd kvalitāti
Skaņas faili atrodas noklusējuma direktorijā (/home/pi). Nepieciešams arī skaņas signāls pīkstienam, ievietots noklusējuma direktorijā un saucas beep.wav.
Python kods ir šāds:
python kods Raspberry Pi atskaņošanas ierakstītājam
importēt RPi. GPIO kā GPIO |
importa laiks |
importēt OS |
#variables: |
butPressed = [True, True, True, True, True, True, True]#ja tiek nospiesta poga i, tad nospiests ir nepatiess |
pin = [26, 19, 13, 6, 5, 21, 20] #GPIO piespraudes katrai pogai |
recordBool = False#Patiesa, ja tiek veikts ieraksts |
GPIO.setmode (GPIO. BCM) |
i diapazonā (0, 7): |
GPIO.setup (pin , GPIO. IN, pull_up_down = GPIO. PUD_UP) #iestata Pi iekšējos rezistorus uz leju |
kamēr taisnība: |
i diapazonā (0, 7): |
butPressed = GPIO.input (pin )#pārbauda, vai nav nospiesta poga |
ja nospiests == Nepareizi: #ja poga ir nospiesta |
previousTime = time.time () |
kamēr nospiests == False and recordBool == False: |
butPressed = GPIO.input (pin ) |
if time.time () - previousTime> 1.0:#ja poga tiek nospiesta ilgāk par sekundi, tad recordBool is True |
recordBool = Patiess |
ja recordBool == True:#if recordBool ir True, tas atskaņo pīkstienu un pēc tam ieraksta |
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) #ieraksti ne vairāk kā 20 sekundes failā i.wav, ar cd kvalitāti |
kamēr nospiests == Nepareizi: |
butPressed = GPIO.input (pin ) |
os.system ("pkill -9 arecord")#ieraksts tiek apturēts, kad poga tiek palaista vai pēc 20 sekundēm |
recordBool = Nepareizi |
cits:#if recordBool ir False, tas atskaņo skaņu i.wav |
os.system ("aplay -D plughw: CARD = Device_1, DEV = 0 %d.wav" %i) |
miega laiks (0,1) |
apskatīt rawPlayback ierakstītāju, ko mitina GitHub ar ❤
6. darbība: palaidiet Python skriptu katrā startēšanas reizē
Lai palaistu python skriptu katrā Pi startēšanas reizē, šādas rindiņas tiek ievietotas failā ar nosaukumu playback.desktop mapē /home/pi/.config/autostart/
palaiž playback.py Raspberry Pi startēšanas laikā
[Darbvirsmas ieraksts] |
Kodējums = UTF-8 |
Tips = lietojumprogramma |
Nosaukums = Atskaņošana |
Komentārs = Šī ir atskaņošanas programma |
Exec = python /home/pi/playback.py |
StartupNotify = nepatiess |
Terminālis = taisnība |
Slēpts = nepatiess |
skatiet rawplayback.desktop, kuru mitina GitHub ar ❤
7. solis: beigu piezīme
Lūdzu, pastāstiet man, ko jūs domājat par šo projektu komentāru sadaļā, dariet man zināmus savus ieteikumus un balsojiet par mani Raspberry Pi konkursā, ja jums tas patika.
Gaidām jūs lasīt!
Ieteicams:
Atmiņas ierakstītājs - Ziemassvētku dāvana: 8 soļi (ar attēliem)
Atmiņas ierakstītājs - Ziemassvētku dāvana: 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 alkali per condividere e
Vēja ātruma un saules starojuma ierakstītājs: 3 soļi (ar attēliem)
Vēja ātruma un saules starojuma reģistrators: man ir jāreģistrē vēja ātrums un saules starojuma jauda (izstarojums), lai novērtētu, cik daudz enerģijas varētu iegūt ar vēja turbīnu un/vai saules paneļiem. Es mērīšu vienu gadu, analizēšu datus un pēc tam izveidojiet izslēgtu tīkla sistēmu
Izveidojiet savu spiegu kļūdu (Arduino balss ierakstītājs): 5 soļi (ar attēliem)
Izveidojiet savu spiegu kļūdu (Arduino balss ierakstītājs): Šajā projektā es jums parādīšu, kā es apvienoju Arduino Pro Mini ar pāris papildu komponentiem, lai izveidotu balss ierakstītāju, kuru varētu izmantot arī kā spiegu kļūdu. Tā darbības laiks ir aptuveni 9 stundas, tas ir mazs un ļoti viegli
MP3 atskaņošanas skaņa FX siena: 12 soļi (ar attēliem)
MP3 skaņas atskaņošana FX siena: izveidojiet jautru un interaktīvu skaņas sienu, kas atskaņo MP3 ar vienkāršu pieskārienu! Ko jūs darāt ar tukšu sienu? Vai jūs varētu tam pievienot dažas jaukas bildes? Vai arī pārklājiet to ar krāsainu istabas augu. Mēs pat esam redzējuši, ka daži cilvēki slēpj tukšas sienas aiz grāmatas
IPad atskaņošanas taimeris: 5 soļi (ar attēliem)
IPad atskaņošanas taimeris: Es domāju, ka šī ir tēma, ar kuru cīnās ikviens vecāks. Cik daudz bērni var spēlēt ar saviem iPad (vai jebkuru citu planšetdatoru). Mēs izmēģinājām vairākas pieejas, piemēram, fiksētus laikus, taču tas īsti nedarbojās, jo mūsu bērns vienmēr vēlējās doties mājās