Talaan ng mga Nilalaman:
- Hakbang 1: Kailangan ng Materyal
- Hakbang 2: Ang Mga Pindutan
- Hakbang 3: Ang Kaso ng Mga Butones
- Hakbang 4: Ang Raspberry Pi
- Hakbang 5: Programming
- Hakbang 6: Patakbuhin ang Python Script sa bawat Startup
- Hakbang 7: Wakas na Tala
Video: Recorder ng Playback Sa Raspberry Pi: 7 Hakbang (na may Mga Larawan)
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:15
Kumusta kayong lahat, Sa itinuturo na ito ipinapaliwanag ko kung paano ako gumawa ng isang recorder ng pag-playback gamit ang Raspberry Pi. Ang aparato ay isang modelo ng Raspberry Pi na B +, na may 7 mga pindutan ng push sa itaas, isang speaker na konektado sa isa sa mga USB port ng Pi, at isang mikropono na nakakonekta sa ibang mga USB port. Ang bawat pindutan ay nauugnay sa isang tunog, kaya maaari itong maglaro ng 7 magkakaibang mga tunog. Pinatugtog ang mga tunog pagkatapos ng isang maikling pindot ng pindutan. Upang magrekord ng isang bagong tunog, pindutin lamang ang pindutan ng higit sa 1 segundo, i-record pagkatapos ng beep, at bitawan ang pindutan sa dulo ng record. Hindi ito magiging mas simple kaysa doon!
Hakbang 1: Kailangan ng Materyal
Para sa proyektong ito kailangan ko:
- Isang modelo ng Raspberry Pi B + at micro SD card - 29.95 $ + 9.95 $
- Isang kaso ng plastik na Raspberry Pi - 7.95 $
- USB speaker - 12.50 $
- Isang USB mikropono - 5.95 $
- Isang kalahating sukat na perma-proto board - 4.50 $
- 7 pansamantalang mga pindutan ng itulak - 2.50 $
Kailangan ko rin:
- Ang ilang mga wire ng kuryente
- Mga header na babaeng may tamang anggulo
- Ang ilang mga kahoy, itim na pintura at pandikit para sa case ng butones
- Isang soldering iron at solder
Hakbang 2: Ang Mga Pindutan
Ang mga pindutang ginamit ay medyo matangkad (6mm) upang maaari silang dumaan sa kapal ng kaso.
Inilagay ko ang aking 7 mga pindutan sa isang perma-proto board, na tulad ng isang breadboard, maliban sa mga bahagi ay solder dito. Mas matatag ito kaysa sa isang breadboard, at mas mura kaysa sa pag-print ng isang pcb. Ang bawat pindutan ay nag-uugnay sa lupa sa isang GPIO sa Raspberry Pi. Wala akong resistors dito dahil ang Pi ay mayroon nang panloob na pull-up / down resistors na maitatakda sa programa. Sa kasong ito ay itinakda ko ang mga ito upang mag-pull-up (tingnan ang programa sa ibaba).
Ang mga pindutan ay inilalagay bawat 4 na mga hilera, o bawat 0.4 sa.
Hakbang 3: Ang Kaso ng Mga Butones
Gumawa ako ng isang napaka-simpleng kaso para sa mga pindutan, na may mga sheet ng playwud at kahoy na parisukat na dowel. Ang laki ng dowel ay dapat na sapat na malaki upang maglaman ng base ng pindutan at board, ngunit sapat na maliit upang ipaalam ang pindutan sa itaas ng kaso. Gumamit ako ng 1/4 sa x 1/4 sa dowel.
Matapos matiyak na ang board ay umaangkop sa kaso, ang mga dowel ay nakadikit sa base sheet. Pagkatapos ang mga butas ay drill sa tuktok na sheet (ang board ay maaaring magamit upang tiyak na gumawa ng mga marka bawat 0.4 pulgada). Ang lahat ng mga bahagi ng kahoy ay pininturahan, ang board ay nakalagay sa kaso, at ang tuktok na sheet ay nakadikit sa tuktok nito.
Hakbang 4: Ang Raspberry Pi
Hindi ko nais na solder ang mga wire nang direkta sa Pi, kung sakaling nais kong gamitin ang Pi para sa iba pa sa hinaharap. Samakatuwid ay hinihinang ko ang mga wires sa mga kanang-header na babaeng header, at isinaksak ang mga header sa Pi.
Ang mga ginamit na GPIO ay 21, 26, 20, 19, 13, 6 at 5. Ginagamit din ang ground pin.
Ang mikropono at speaker ay naka-plug lamang sa 2 sa 4 na mga USB port.
Ang Pi ay pinalakas sa pamamagitan ng micro-usb outlet
Hakbang 5: Programming
Upang mai-program ang Pi, ikinonekta ko ito sa internet gamit ang isang ethernet cable, at kinontrol ito mula sa isang remote computer gamit ang VNC viewer. Gayunpaman, hindi mo magagamit ang setup na ito sa unang pagkakataon na kumonekta ka sa Pi, dahil ang OS ay hindi pa nai-install at ang SSH ay hindi pinagana. Kaya kakailanganin mong ikonekta ang isang screen, keyboard at mouse, hindi bababa sa unang pagkakataon.
Ito ay medyo isang abala upang mahanap ang mga utos upang i-record at magpatugtog ng isang tunog sa tamang sound card. Ito ang mga utos na gumana para sa akin:
-
aplay -D plughw: CARD = Device_1, DEV = 0 0.wav
Nagpe-play 0.wav
-
arecord 0.wav -D sysdefault: CARD = 1 -f cd -d 20
Mga tala para sa maximum na 20 segundo sa file 0.wav, na may kalidad ng cd
Ang mga file ng tunog ay matatagpuan sa direktoryo ng default (/ home / pi). Ang isang file ng tunog para sa beep ay kinakailangan din, inilagay sa default na direktoryo at tinatawag na beep.wav.
Ang python code mismo ang sumusunod:
python code para sa isang recorder ng playback ng Raspberry Pi
i-import ang RPi. GPIO bilang GPIO |
oras ng pag-import |
import os |
# iba-iba: |
butPressed = [Tama, totoo, totoo, totoo, totoo, totoo, totoo] |
pin = [26, 19, 13, 6, 5, 21, 20] #GPIO pin ng bawat pindutan |
recordBool = Mali # Totoo kung ang isang rekord ay isinasagawa |
GPIO.setmode (GPIO. BCM) |
para sa saklaw ko (0, 7): |
GPIO.setup (pin , GPIO. IN, pull_up_down = GPIO. PUD_UP) #sets panloob na resistors ni Pi upang mag-pull-up |
habang Totoo: |
para sa saklaw ko (0, 7): |
butPressed = GPIO.input (pin ) # suriin kung ang isang pindutan ay pinindot |
kung butPressed == Mali: #kung ang isang pindutan ay pinindot |
nakaraangTime = oras.time () |
habang butPressed == Mali at recordBool == Mali: |
butPressed = GPIO.input (pin ) |
kung time.time () - nakaraangTime> 1.0: #kung ang pindutan ay pinindot nang higit sa isang segundo, pagkatapos ang recordBool ay Totoo |
recordBool = Tama |
kung recordBool == Totoo: #kung Totoo ang recordBool, nagpe-play ito ng tunog ng beep at pagkatapos ay nagtatala |
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) #records para sa maximum na 20 segundo sa file i.wav, na may kalidad ng cd |
habang butPressed == Mali: |
butPressed = GPIO.input (pin ) |
os.system ("pkill -9 arecord") # ang rekord ay tumigil kapag ang pindutan ay pinakawalan, o pagkatapos ng 20 segundo |
recordBool = Mali |
iba pa: # kung recordBool ay Mali, gumaganap ito ng tunog i.wav |
os.system ("aplay -D plughw: CARD = Device_1, DEV = 0% d.wav"% i) |
oras. tulog (0.1) |
tingnan ang recorder ng rawPlayback na naka-host sa ❤ ng GitHub
Hakbang 6: Patakbuhin ang Python Script sa bawat Startup
Upang patakbuhin ang script ng python sa pagsisimula ng bawat Pi, ang mga sumusunod na linya ay inilalagay sa isang file na tinatawag na playback.desktop sa folder /home/pi/.config/autostart/
nagpapatakbo ng playback.py sa pagsisimula ng Raspberry Pi
[Entry sa Desktop] |
Pag-encode = UTF-8 |
Type = Application |
Pangalan = Pag-playback |
Komento = Ito ay isang application ng pag-playback |
Exec = python /home/pi/playback.py |
StartupNotify = false |
Terminal = totoo |
Nakatago = hindi totoo |
tingnan ang rawplayback.desktop na naka-host sa ❤ ng GitHub
Hakbang 7: Wakas na Tala
Mangyaring sabihin sa akin kung ano ang palagay mo sa proyektong ito sa seksyon ng komento, ipaalam sa akin ang iyong mga rekomendasyon, at iboto para sa akin sa paligsahan sa Raspberry Pi kung gusto mo ito.
Inaasahan na basahin ka!
Inirerekumendang:
Ang Memory Recorder - Regalo sa Pasko: 8 Hakbang (na may Mga Larawan)
Ang Memory Recorder - Regalo sa Pasko: Ciao isang tutti! Sa vista del Natale dumating ang kanilang mga inaasahan, sono sicuro quindi che molti di voi sentiranno la mustità di donare qualcosa di speciale. Sa questo periodo così difficile certamente sono mancate molte okasyon bawat condividere
Gumawa ng Iyong Sariling Spy Bug (Arduino Voice Recorder): 5 Mga Hakbang (na may Mga Larawan)
Gumawa ng Iyong Sariling Spy Bug (Arduino Voice Recorder): Sa proyektong ito ipapakita ko sa iyo kung paano ko pinagsama ang isang Arduino Pro Mini sa isang pares ng mga pantulong na sangkap upang lumikha ng isang recorder ng boses na maaari ring abusuhin bilang isang bug bug. Mayroon itong run time na humigit-kumulang na 9 na oras, maliit at napakadali upang
ScanUp NFC Reader / manunulat at Audio Recorder para sa Bulag, May Kapansanan sa Paningin at Lahat ng Iba Pa: 4 na Hakbang (na may Mga Larawan)
ScanUp NFC Reader / manunulat at Audio Recorder para sa Bulag, May Kapansanan sa Paningin at Lahat ng Iba Pa: Nag-aaral ako ng pang-industriya na disenyo at ang proyekto ay gawa ng aking semester. Ang layunin ay upang suportahan ang mga may kapansanan sa paningin at bulag na mga tao sa isang aparato, na nagbibigay-daan upang mag-record ng audio sa format na.WAV sa isang SD card at tawagan ang impormasyong iyon sa pamamagitan ng isang NFC tag. Kaya sa
Gumamit ng Mga Gesture upang Makontrol ang Pag-playback ng YouTube Sa Arduino: 5 Hakbang
Gumamit ng Mga Gesture upang Makontrol ang Pag-playback ng YouTube Sa Arduino: Pinapayagan ka lamang ng StoryYouTube na mag-fastforward ng 5 segundo tuwing na-click mo ang tamang pindutan. Kaya't napagpasyahan kong gamitin ang Arduino at python upang makagawa ng isang tagapamahala upang matulungan akong mabilis na 20 segundo tuwing pinapa-kamay ko
Epekto ng Recorder para sa Mga Sasakyan: 18 Hakbang (na may Mga Larawan)
Ang Recorder ng Epekto para sa Mga Sasakyan: Ang Impact Recorder ay dinisenyo upang maitala ang epekto na napapanatili sa sasakyan habang nagmamaneho o nakatigil. Ang mga epekto ay nakaimbak sa database sa anyo ng mga pagbasa pati na rin video / larawan. Sa epekto ng remote na gumagamit ay maaring mapatunayan sa real time, at remote u