Sadržaj:
- Korak 1: Izgradite kutiju …
- Korak 2: Povežite gumbe
- Korak 3: Izborno: Izrada ploče s otpornicima na izvlačenje i na dolje
- Korak 4: Python kod
- Korak 5: Postavljanje vašeg Rapsija
Video: Juke Box za vrlo mlade Aka Raspi-Music-Box: 5 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:35
Nadahnut instruktivnim "Raspberry-Pi-based-RFID-Music-Robot" opisom glazbenog playera ROALDH za njegovu trogodišnjakinju, odlučio sam izgraditi juke box za svoju još mlađu djecu. To je u osnovi kutija sa 16 gumba i Raspi 2 unutra koji reproducira pjesme putem priključenog stereo uređaja kad god se pritisne bilo koja tipka.
Što trebaš:
- Raspberry Pi s napajanjem
- 16 gumba - vrsta koja se privremeno zatvara kada se pritisne (ili koliko god gumba želite - savjetujte: ne više nego što imate ulaznih pinova …;)) Koristio sam ovaj: gumb za 0,50 €)
- neka tanka žica
- jedan 10kOhm i jedan 1kOhm otpornik po gumbu (osim ako se ne želite osloniti na unutarnje pull-up/down otpornike Raspija, tada ovo možete preskočiti)
- stripboard
- žensko zaglavlje (2x20 pin)
- malo tankog drveta za izradu kutije (koristio sam 2 lista 5x400x400 mm za prednju i stražnju stranu plus traku od 2000x50x5 mm za rezanje stranica)
- 24 vijka i malo ljepila za sastavljanje kutije
- malo boje kako bi bila šarena
- audio kabel za spajanje Raspija na stereo ili aktivne zvučnike (priključak na sve što vam treba na drugom kraju)
- alati: lemilica, škare za žice, idealno za skidanje žice, pila, bušilica, odvijač, kist za bojenje …
- opcionalno: USB zvučna kartica ako želite da glazba zvuči dobro
- izborno: wifi kartica ako se želite spojiti na stari Raspi bez otvaranja kutije
Imajte na umu da je ovo moj prvi instruktor i da sam napravio ovaj projekt prije dosta vremena … Uspijevam u tome dok me stalno pitaju o VLC načinu sviranja pjesama u odjeljku za komentare gore navedenih instrukcija (mplayer koji se tamo koristio više nije podržano koliko ja znam). Znam da ove upute nisu jako dobre, ali nadam se da ih možete slijediti … ako ne, molimo vas da pogledate i izvorne upute i ostavite komentare ispod govoreći mi gdje ste zapeli … Pokušat ću poboljšati …
Korak 1: Izgradite kutiju …
Dakle, prvo što trebate učiniti je izgraditi kutiju … Svoju sam napravio prilično velikom jer sam ostavio malo prostora ispod svakog gumba za oznaku … Planirao sam ispisati neke slike za svaku pjesmu, možda ih laminirati i označiti plavom bojom ispod gumbi … naučena lekcija: dok ne ispišete naljepnice, vaša djeca teško znaju sve pjesme i zahtijevaju od vas da ih promijenite … Zato bih sljedeći put sagradio manju kutiju i stavio gumbe bliže zajedno …
Dakle, natrag u moju kutiju … Kupio sam dva lista šperploče 400 x 400 x 5 mm i traku 2000 x 50 x 5 mm … tada prvi, najvažniji korak: mojoj je kćeri bilo dopušteno bojati prednju ploču po svom izboru boje …:) Dok je slikala, izrezao sam dugi dio na 5 traka - dvije dužine 400 mm, dvije dužine 390 mm i lijevu stranu …;) ove sam zalijepio na stražnju stranu svježe obojenog lista … tada sam izbušio 12 rupa izvana i uvrnuo 12 vijaka … Zatim sam pažljivo poravnao drugi list na stražnjoj strani, izbušio još 12 rupa za dodatnih 12 vijaka za zatvaranje kutije nakon što sam završio. (Znam da je 12 vijaka možda malo pretjerano, ali djeca su jaka …:))
S jedne strane sam upotrijebio turpiju (mogao si upotrijebiti dremel da ubrzaš stvari) kako bih izrezao malo drva za prolazak kroz kabele. Zatim sam također izbušio rupe za 16 gumba i instalirao ih.
Korak 2: Povežite gumbe
Dakle, sada imate kutiju sa 16 gumba … sljedeće morate ovo spojiti … Spojio sam jedan njihov pol sa masom na lanac od tratinčice. U idealnom slučaju imat ćete male konektore za to … Zalemio sam ih, što je bila velika noćna mora i uzrokovat će još više problema ako ikada moram izvaditi bilo koju tipku. Zatim sam njihove ostale stupove pričvrstio na crvenu žicu, svaki … Ove sam zatim lemio na ploču konektora koju možete vidjeti kako leži u sredini …
Koji gumb na koji pin? Gumb 1-16 ovim redoslijedom: GPIO 18. 27, 17, 04, 23, 24, 22, 05, 16, 12, 06, 13, 21, 20, 19, 26. Također provjerite događaje pri pritisku tipke "uhvati" odjeljak "kasnije u kodu.
(Nemojte me pitati čemu su služile smotane žice … ne mogu se sjetiti)
Korak 3: Izborno: Izrada ploče s otpornicima na izvlačenje i na dolje
Ako niste sigurni koji su otpornici za povlačenje i spuštanje, trebali biste lako pronaći mnogo informacija na internetu. Raspi ima neke ugrađene ili možete napraviti vanjske kao što sam ja učinio ovdje. Ovaj korak nije obavezan jer mislim da vam ne treba.
Pa zašto sam to učinio? Ponekad je glazba počela svirati kad sam uključio/isključio aparate u stanu. Prvo sam pomislio da hvata elektromagnetske valove ili tako nešto. Pa sam dodao otpornike za povlačenje/spuštanje … Kako to nije poboljšalo situaciju, dodao sam i neke kondenzatore. To još uvijek nije pomoglo … sljedeće što sam htio pokušati je bilo pokriti unutrašnjost kutije aluminijskom folijom kao zaštitu. Kako je problem prestao kad smo se preselili, nikad nisam ovo pokušao … Pa u čemu je bio problem? Ne znam … možda su se radile varijacije u dalekovodu?
Zaključak: Savjetovao bih vam da prvo samo izravno povežete gumbe (kasnije ćete vidjeti u kodu koji gumb ide na koji pin) i učinite ovaj korak samo ako imate problema. Nadam se da možete vidjeti na gornjim slikama kako sam to napravio. U osnovi postoji šipka za umetanje na zaglavlje u sredini, a zatim sam sa svake strane spojio dva otpornika i kabele s gumba u jednom redu.
Korak 4: Python kod
Ovdje u privitku pronaći ćete kôd (u pythonu) koji upravlja glazbenom kutijom. Dodao sam dosta komentara pa se nadam da je to samo po sebi razumljivo. Za svaki slučaj evo kratkog objašnjenja. Najbolje je početi čitati odjeljak varijabli na vrhu, a zatim preskočiti sve do dna.
Pri dnu ćete pronaći petlju koja radi cijelo vrijeme. Prvo provjerava je li pritisnut određeni slijed gumba - ovo je bio moj način korištenja neke roditeljske kontrole. Zatim postoje funkcije koje puštaju glazbu.
Iznad glavne petlje pronaći ćete neke detekcije događaja - one se izvršavaju ako se pritisne jedan od gumba. Svaki gumb poziva funkciju ButtonPress koja prosljeđuje identifikator.
Pa kako ga natjerati da svira glazbu? Da pojednostavimo, samo sam generirao jednu mapu za svaki gumb. Bez obzira na mp3 datoteke koje stavite u ove mape, funkcija se dodaje na popis za reprodukciju.
Imajte na umu da ako niste koristili fizičke otpornike na zatezanje, morat ćete promijeniti odjeljak s BCM oznakom na sljedeći:
# postavljanje pomoću BCM numeriranjaGPIO.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)
Korak 5: Postavljanje vašeg Rapsija
Naravno, također ćete morati postaviti raspi … Upravo sam koristio standardnu Noop instalaciju. Siguran sam da ćete pronaći hrpu uputa kako to učiniti …
Za korištenje pythona morat ćete "sudo apt-get install python-dev"
Moj program koristi VLC za reprodukciju glazbe:
- Odavde sam dobio Python vezu (nadam se da je ovo još uvijek ažurirano):
- Zatim sam ga instalirao pomoću "sudo python setup.py install"
- Zatim je instaliran VLC "sudo apt-get install vlc"
- Zalijepite datoteke vlc.py i vlc.pyc u isti direktorij kao i vaš program
- Više informacija na
Moje bilješke govore da također morate instalirati sljedeće za pristup GPIO pinovima s pythona (ali ovo može biti zastarjelo):
- wget https://www.airspayce.com/mikem/bcm2835/bcm2835-1…. zxvf bcm2835-1.xx.tar.gz
- cd bcm2835-1.xx
- ./konfigurirati
- napraviti
- sudo napravi provjeru
- sudo make install
Da biste pokrenuli svoj program, morat ćete pozvati "sudo python yourfilename.py".
Preporučeni:
Jednostavan BLE vrlo male snage u Arduinu, dio 2 - Monitor temperature/vlažnosti - Rev 3: 7 koraka
Jednostavan BLE vrlo niske snage u Arduinu, dio 2 - Monitor temperature/vlažnosti - Rev 3: Ažuriranje: 23. studenoga 2020. - Prva zamjena 2 x AAA baterija od 15. siječnja 2019., tj. 22 mjeseca za 2xAAA alkalne Ažuriranje: 7. travnja 2019. - Rev 3 od lp_BLE_TempHumidity, dodaje grafikone datuma/vremena, koristeći pfodApp V3.0.362+i automatsko prigušivanje kada
(Vrlo jednostavno) Modeliranje bolesti (pomoću ogrebotina): 5 koraka
(Vrlo jednostavno) Modeliranje bolesti (pomoću Scratcha): Danas ćemo simulirati izbijanje bolesti, pri čemu je to bilo koja bolest, ne nužno COVID-19. Ova simulacija inspirirana je videozapisom 3blue1brown na koji ću se povezati. Budući da se radi o povlačenju i ispuštanju, ne možemo učiniti onoliko koliko možemo s JS -om ili Pytom
Trening komunikacija, školska aktivnost ili igra za mlade: 3 koraka
Trening komunikacija, školska aktivnost ili igra za mlade: ovu sam aktivnost koristio mnogo puta sa srednjoškolcima. Radi se kao utrka, sa timovima koliko želite. Temelji se na staroj igri Telephone, u kojoj se fraza šapuće s jedne osobe na drugu, općenito s završetkom koji svijetli
Proračun za mlade roditelje: 11 koraka
Budžetiranje za mlade roditelje: Svi znamo kako je to imati račune za plaćanje u nekom trenutku svog života. To nije uvijek najlakše učiniti i shvatiti. Međutim, može postati teže ako dodate pelene i maramice ili čak odjeću. Znam koliko teško to može biti
Vrlo jednostavno Ipak vrlo učinkovita podvala (računalna podvala): 3 koraka
Vrlo jednostavno … Pa ipak vrlo učinkovita šala (računalna podvala): Ova instrukcija je VRLO jednostavna, ali VRLO učinkovita! Ono što će se dogoditi je: Sakrivate sve ikone na radnoj površini žrtve. Žrtva će poludjeti kad vidi računalo nakon što napravite podvalu. To nikako ne može naštetiti računalu