Talaan ng mga Nilalaman:
- Hakbang 1: Bumuo ng isang Box …
- Hakbang 2: Wire Up the Buttons
- Hakbang 3: Opsyonal: Paggawa ng isang Lupon na May Pull Up at Hilahin Down Resistors
- Hakbang 4: Ang Python Code
- Hakbang 5: Pag-set up ng Iyong Rapsi
Video: Isang Juke Box para sa Napakabata Aka Raspi-Music-Box: 5 Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:13
May inspirasyon ng itinuturo na "Raspberry-Pi-based-RFID-Music-Robot" na naglalarawan sa isang music player na ROALDH build para sa kanyang 3 taong gulang, nagpasya akong bumuo ng isang juke box para sa aking mas bata pang mga bata. Karaniwan ito ay isang kahon na may 16 na mga pindutan at isang Raspi 2 sa loob na nagpe-play ng mga kanta sa pamamagitan ng nakalakip na stereo tuwing ang anumang mga pindutan ay pinindot.
Ang iyong kailangan:
- Isang Raspberry Pi na may power supply
- 16 na mga pindutan - ang uri na pansamantalang sarado kapag itinulak (o gayunpaman maraming mga pindutan na nais mong - payuhan: hindi hihigit sa mayroon kang mga input pin…;)) Ginamit ko ang isang ito: pindutan para sa € 0.50)
- ilang manipis na kawad
- isang 10kOhm at isang 1kOhm resister bawat pindutan (maliban kung nais mong umasa sa panloob na pull-up / down na resistors ng Raspi, pagkatapos ay maaari mong laktawan ito)
- stripboard
- babaeng header (2x20 pin)
- ilang manipis na kahoy upang maitayo ang kahon (Gumamit ako ng 2 sheet 5x400x400mm para sa harap at likod kasama ang isang 2000x50x5mm strip upang i-cut ang mga gilid mula sa)
- 24 na mga turnilyo at isang piraso ng pandikit upang magkasama ang kahon
- ilang pintura upang gawin itong makulay
- audio cable upang ikonekta ang Raspi sa iyong stereo o mga aktibong speaker (jack sa anumang kailangan mo sa kabilang dulo)
- mga tool: isang bakal na panghinang, mga wire clipping, wire stripper na perpekto, lagari, drill, driver ng tornilyo, brush ng pintura…
- opsyonal: USB Sound Card kung nais mong maganda ang tunog ng musika
- opsyonal: wifi card kung nais mong kumonekta sa isang lumang Raspi nang hindi binubuksan ang kahon
Mangyaring tandaan na ito ang aking unang natuturo at ginawa ko ang proyektong ito kanina pa … Ginagawa ko ito habang patuloy akong tinanong tungkol sa paraan ng VLC ng pagtugtog ng mga kanta sa seksyon ng komento ng itinuro na nabanggit sa itaas (ginamit ng mplayer doon ay hindi na suportado sa pagkakaalam ko). Alam kong ang mga tagubiling ito ay hindi napakahusay, ngunit inaasahan kong posible para sa iyo na sundin … kung hindi, mangyaring tingnan din ang orihinal na itinuro at mangyaring mag-iwan ng mga komento sa ibaba na sinasabi sa akin kung saan ka natigil … Susubukan kong pagbutihin…
Hakbang 1: Bumuo ng isang Box …
Kaya ang unang bagay na kailangan mong gawin ay bumuo ng isang kahon … Ginawa kong malaki ang minahan dahil iniwan ko ang ilang puwang sa ilalim ng bawat pindutan para sa isang label … Plano kong i-print ang ilang mga larawan para sa bawat kanta, laminate ang mga ito marahil at asul na i-tag ang mga ito sa ilalim ng mga pindutan … natutunan ng aralin: sa oras na mag-print ka ng mga label, alam ng iyong mga anak ang lahat ng mga kanta nang mahirap at hinihiling ka na baguhin ang ilan … Kaya sa susunod na magtatayo ako ng isang mas maliit na kahon at isama ang mga pindutan nang magkakasama …
Kaya, bumalik sa aking kahon … Bumili ako ng dalawang sheet ng playwud 400 x 400 x 5 mm at isang 2000 x 50 x 5 mm strip … pagkatapos ang una, pinakamahalagang hakbang: pinayagan ang aking anak na magpinta sa harap ng panel sa kanyang pinili mga kulay …:) Habang siya ay pagpipinta pinutol ko ang mahabang piraso sa 5 piraso - dalawang 400 mm ang haba, dalawang 390 mm ang haba at ang kaliwang overs…;) ang mga ito ay nakadikit ako sa likuran ng sariwang pinturang sheet … pagkatapos ay nag-drill ako ng 12 butas mula sa labas at na-tornilyo sa 12 mga turnilyo … Pagkatapos ay maingat kong pinantay ang ibang sheet sa likuran, nag-drill ng isa pang 12 butas para sa isang karagdagang 12 turnilyo upang isara ang kahon sa sandaling natapos ako. (Alam ko na 12 mga turnilyo ay maaaring maging isang labis na labis ngunit ang mga bata ay malakas …:))
Sa isang gilid ay gumamit ako ng isang file (maaari kang gumamit ng isang dremel upang mapabilis ang mga bagay) upang maputol ang kaunting kahoy upang dumaan sa mga kable. Pagkatapos ay nag-drill din ako ng mga butas para sa 16 na mga pindutan at na-install ang mga ito.
Hakbang 2: Wire Up the Buttons
Kaya ngayon nakuha mo ang isang kahon na may 16 na mga pindutan … susunod na kailangan mong i-wire ang mga ito … Ikinonekta ko ang isa sa kanilang mga poste sa lupa sa isang daisy chain fashion. Sa isip na magkakaroon ka ng maliit na mga konektor upang gawin ito … Inhinang ko ang mga ito, na kung saan ay isang pangunahing bangungot at magdulot ng mas maraming mga problema kung kailangan kong kumuha ng anuman sa mga pindutan. Pagkatapos ay ikinabit ko ang kanilang iba pang mga poste sa isang pulang kawad bawat isa… Ang mga ito pagkatapos ay na-solder ko sa board ng konektor maaari mong makita ang nakahiga sa gitna …
Aling pindutan sa aling pin? Button 1-16 sa ganitong pagkakasunud-sunod: GPIO 18. 27, 17, 04, 23, 24, 22, 05, 16, 12, 06, 13, 21, 20, 19, 26. Mangyaring suriin din ang "mga pindutan ng pindutan ng catch button seksyon "sa code sa paglaon.
(Mangyaring huwag tanungin ako kung para saan ang mga rolyo na wires … Hindi ko matandaan)
Hakbang 3: Opsyonal: Paggawa ng isang Lupon na May Pull Up at Hilahin Down Resistors
Kung hindi ka sigurado kung ano ang pull up at pull down resistors, dapat mong madaling makahanap ng maraming impormasyon sa online. Ang raspi ay may ilang built in na o maaari mong gawin ang panlabas tulad ng ginawa ko rito. Ang hakbang na ito ay opsyonal dahil sa palagay ko hindi mo talaga ito kailangan.
Kaya bakit ko ito nagawa? Minsan nagsimulang tumugtog ang musika nang buksan ko / i-off ang mga kagamitan sa flat. Una kong naisip na kumukuha ito ng electro magnetic waves o kung ano man. Kaya idinagdag ko ang mga pull-up / down na resistors … Dahil hindi nito napabuti ang sitwasyon, nagdagdag ako ng ilang mga capacitor bilang karagdagan. Hindi pa rin ito nakakatulong … ang susunod na nais kong subukan ay ang takpan ang loob ng kahon ng aluminyo palara bilang panangga. Habang tumigil ang problema nang lumipat kami ng bahay, hindi ko natapos na subukan ito … Kaya ano ang problema? Hindi ko alam … maaaring iba-iba ito sa linya ng kuryente?
Konklusyon: Payo ko sa iyo na ikonekta lamang muna ang mga pindutan nang direkta (makikita mo sa code sa paglaon kung aling pindutan ang napupunta sa aling pin) at gagawin lamang ang hakbang na ito kung mayroon kang ilang mga isyu. Inaasahan kong makita mo mula sa mga larawan sa itaas kung paano ko ito nagawa. Karaniwan mayroong isang bar upang ilagay sa header sa gitna at pagkatapos sa bawat panig ay kinonekta ko ang dalawang resistors at ang mga cable mula sa mga pindutan sa isang hilera.
Hakbang 4: Ang Python Code
Nakalakip dito makikita mo ang code (sa sawa) na namamahala sa musicbox. Nagdagdag ako ng ilang mga puna kaya sana ito ay nagpapaliwanag sa sarili. Kung sakali dito isang mabilis na paliwanag. Mahusay na simulang basahin ang seksyon ng mga variable sa itaas at pagkatapos ay laktawan ang lahat hanggang sa ibaba.
Sa ibaba makikita mo ang isang loop, na tumatakbo sa lahat ng oras. Sinusuri muna nito kung ang isang tiyak na pagkakasunud-sunod ng mga pindutan ay pinindot - ito ang aking paraan ng paggamit ng ilang kontrol ng magulang. Pagkatapos ay may mga pagpapaandar na tumutugtog ng musika.
Sa itaas ng pangunahing loop ay mahahanap mo ang ilang mga natukoy na kaganapan - ito ay naisakatuparan kung ang isa sa mga pindutan ay pinindot. Ang bawat pindutan ay tumatawag sa pagpapaandar ng ButtonPress na nagpapasa ng isang identifier.
Kaya kung paano ito patugtugin ang musika? Upang mapanatili itong simple, gumawa lang ako ng isang folder para sa bawat pindutan. Anumang mga mp3 na inilagay mo sa mga folder na ito, ang pag-andar ay nagdaragdag sa listahan ng pag-play.
Mangyaring tandaan, kung hindi ka gumamit ng mga pisikal na pull up resistors, kakailanganin mong baguhin ang seksyon na may bilang ng BCM dito:
# setup using BCM numberingGPIO.setmode (GPIO. BCM) GPIO.setup (04, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup (17, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup (27, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup (22, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup (05, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup (06, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup (13, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup (19, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup (26, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup (18, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup (23, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup (24, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup (12, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup (16, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup (20, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup (21, GPIO. IN, pull_up_down = GPIO. PUD_UP)
Hakbang 5: Pag-set up ng Iyong Rapsi
Kakailanganin mo ring i-set up ang raspi syempre … Ginamit ko lang ang karaniwang pag-install ng Noop. Sigurado akong makakakita ka ng maraming mga tagubilin sa kung paano ito gawin…
Upang magamit ang python kakailanganin mong "sudo apt-get install python-dev"
Gumagamit ang aking programa ng VLC upang patugtugin ang musika:
- Nakuha ko ang koneksyon sa Python mula dito (inaasahan kong napapanahon pa rin ito):
- Pagkatapos ay na-install ko ito gamit ang "sudo python setup.py install"
- Pagkatapos naka-install ng VLC "sudo apt-get install vlc"
- Idikit ang mga file na vlc.py at vlc.pyc sa parehong direktoryo ng iyong programa
- Higit pang impormasyon sa
Sinasabi ng aking mga tala na kailangan mo ring i-install ang sumusunod upang ma-access ang mga GPIO Pins mula sa sawa (ngunit maaaring wala na sa panahon na ito):
- wget https://www.airspayce.com/mikem/bcm2835/bcm2835-1…. zxvf bcm2835-1.xx.tar.gz
- cd bcm2835-1.xx
- ./ configure
- gumawa
- sudo gumawa ng tseke
- sudo gumawa ng pag-install
Upang mapatakbo ang iyong programa, kailangan mong tawagan ang "sudo python yourfilename.py".
Inirerekumendang:
Mega RasPi - isang Raspberry Pi sa isang Sega Mega Drive / Genesis: 13 Hakbang (na may Mga Larawan)
Mega RasPi - isang Raspberry Pi sa isang Sega Mega Drive / Genesis: Dadalhin ka ng gabay na ito sa pamamagitan ng pag-convert ng isang lumang Sega Mega Drive sa isang retro gaming console, gamit ang isang Raspberry Pi. Ginugol ko ang hindi mabilang na oras ng aking pagkabata sa paglalaro ng mga video game sa ang aking Sega Mega Drive. Karamihan sa aking mga kaibigan ay mayroon din, kaya gagawin namin
Paano Gumawa ng isang Adjustable Helicoid Adapter para sa isang 85mm Projector Lens, Mula sa isang Polypropylene Tube Connector: 5 Hakbang
Paano Gumawa ng isang Adjustable Helicoid Adapter para sa isang 85mm Projector Lens, Mula sa isang Polypropylene Tube Connector: Bumili ako kamakailan ng isang lumang slide projector sa halos 10 euro. Ang projector ay nilagyan ng isang 85mm f / 2.8 lens, madaling tanggalin mula sa projector mismo (walang mga bahagi na kailangang ma-disassemble). Kaya't napagpasyahan kong trasform ito sa isang 85mm lens para sa aking Penta
Pag-install ng isang Zalman VF900-Cu Heatsink sa isang Radeon X800 XT Mac Edition para magamit sa isang Apple G5 Tower: 5 Hakbang
Pag-install ng isang Zalman VF900-Cu Heatsink sa isang Radeon X800 XT Mac Edition para sa Paggamit sa isang Apple G5 Tower: Ang karaniwang disclaimer - Ganito ko ito nagawa. Gumana ito para sa akin. Kung sumabog ka sa iyong G5, Radeon X800 XT, o sa iyong bahay, kotse, bangka, atbp. Hindi ako mananagot! Nagbibigay ako ng impormasyon batay sa aking sariling kaalaman at karanasan. Naniniwala ako na ang lahat
Gumamit muli ng isang HP WebCam 101 Aka 679257-330 Webcam Module Bilang isang Generic USB WebCam: 5 Hakbang
Gumamit muli ng isang HP WebCam 101 Aka 679257-330 Webcam Module Bilang isang Generic USB WebCam: Gusto kong pagandahin ang aking 14 taong gulang na Panasonic CF-18 sa isang bagong-bagong webcam, ngunit hindi na sinusuportahan ng Panasonic ang kamangha-manghang makina na iyon, kaya kailangan kong gamitin ang kulay-abo na bagay para sa isang bagay na mas madali kaysa sa b & b (mga beer & burger). Ito ang unang bahagi
Magdagdag ng isang Pc Sync Jack sa isang Nikon Sc-28 Ttl Cable (gumamit ng Mga Setting ng Auto para sa isang sa Camera Flash at Trigger Off Camera Flashes !!): 4 na Hakbang
Magdagdag ng isang Pc Sync Jack sa isang Nikon Sc-28 Ttl Cable (gumamit ng Mga Setting ng Auto para sa isang Camera ng Flash at Trigger Off Camera Flashes !!): sa itinuturo na ito ay ipapakita ko sa iyo kung paano alisin ang isa sa mga pesky na pagmamay-ari na 3pin TTL na konektor sa ang gilid ng isang Nikon SC-28 off camera TTL cable at palitan ito ng isang karaniwang konektor sa pag-sync ng PC. papayagan ka nitong gumamit ng isang nakatuong flash, s