Kazalo:
- Korak: Zgradite škatlo …
- 2. korak: Povežite gumbe
- 3. korak: Neobvezno: Izdelava plošče s potegljivimi in spuščenimi upori
- 4. korak: Koda Python
- 5. korak: Nastavitev sistema Rapsi
Video: Juke Box za zelo mlade Aka Raspi-Music-Box: 5 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:05
Navdihnjen z navodili "Raspberry-Pi-based-RFID-Music-Robot", ki opisuje predvajalnik glasbe ROALDH za svojega 3-letnika, sem se odločil zgraditi juke box za svoje še mlajše otroke. To je v bistvu škatla s 16 gumbi in Raspi 2 v notranjosti, ki predvaja pesmi prek priloženega stereo, kadar koli pritisnete kateri koli gumb.
Kaj rabiš:
- Raspberry Pi z napajanjem
- 16 gumbov - takšnih, ki so začasno zaprti, ko jih pritisnete (ali kolikor želite gumbov - svetujte: ne več kot imate vhodnih zatičev …;)) Uporabil sem tega: gumb za 0,50 €)
- nekaj tanke žice
- en 10kOhm in en 1kOhm upor na gumb (razen če se želite zanašati na notranje vlečne/dol upore Raspi, potem lahko to preskočite)
- stripboard
- ženska glava (2x20 pin)
- nekaj tankega lesa za izdelavo škatle (za sprednjo in zadnjo stran sem uporabil 2 lista 5x400x400 mm plus trak 2000x50x5 mm za rezanje strani)
- 24 vijakov in malo lepila za sestavljanje škatle
- nekaj barve, da postane barvita
- avdio kabel za priključitev Raspija na stereo ali aktivne zvočnike (priključek na vse, kar potrebujete na drugem koncu)
- orodja: spajkalnik, škarje za žice, v idealnem primeru odstranjevalec žice, žaga, vrtalnik, izvijač, čopič …
- neobvezno: zvočna kartica USB, če želite, da glasba dobro zveni
- neobvezno: kartica wifi, če se želite povezati s starim Raspijem, ne da bi odprli škatlo
Upoštevajte, da je to moj prvi pouk in ta projekt sem naredil že kar nekaj časa nazaj … To mi uspeva, saj me vedno znova sprašujejo o načinu predvajanja skladb VLC v oddelku za komentarje zgoraj omenjenega poučevanja (tam je bil uporabljen mplayer kolikor vem, ni več podprt). Vem, da ta navodila niso zelo dobra, vendar upam, da jih boste lahko upoštevali … če ne, si oglejte tudi izvirno navodilo in spodaj pustite komentarje, v katerih mi povejte, kje ste se zataknili … Nato bom poskušal izboljšati …
Korak: Zgradite škatlo …
Torej, prva stvar, ki jo morate narediti, je, da zgradite škatlo … Mojo sem naredil precej veliko, ker sem pod vsakim gumbom pustila nekaj prostora za nalepko … Načrtovala sem, da bom za vsako pesem natisnila nekaj slik, jih morda laminirala in pod modro označila. gumbi … naučena lekcija: ko natisnete nalepke, vaši otroci težko poznajo vse pesmi in zahtevajo, da jih spremenite … Zato bom naslednjič zgradil manjšo škatlo in gumbe postavil bližje skupaj …
Torej, nazaj k svoji škatli … Kupil sem dva lista vezanega lesa 400 x 400 x 5 mm in trak 2000 x 50 x 5 mm … potem prvi, najpomembnejši korak: moja hči je lahko pobarvala sprednjo ploščo po svoji izbiri. barve …:) Med slikanjem sem dolg kos razrezal na 5 trakov - dva dolga 400 mm, dva dolga 390 mm in levo stran …;) te sem zlepil na zadnji del sveže pobarvane pločevine … nato sem izvrtal 12 lukenj od zunaj in privijal 12 vijakov … Nato sem previdno poravnal drugi list na zadnji strani, izvrtal še 12 lukenj za nadaljnjih 12 vijakov, da zaprem škatlo, ko sem končal. (Vem, da je 12 vijakov morda malo preveč, vendar so otroci močni …:))
Na eni strani sem uporabil datoteko (za pospešitev lahko uporabite dremel), da sem odrezal del lesa za prehod skozi kable. Nato sem izvrtal tudi luknje za 16 gumbov in jih namestil.
2. korak: Povežite gumbe
Torej, zdaj imaš škatlo s 16 gumbi … poleg tega jih moraš povezati … Priključil sem enega od njihovih polov na maso na način marjetice. V idealnem primeru boste imeli za to majhne priključke … Spajal sem jih, kar je bila velika nočna mora in bo povzročilo še več težav, če bom kdaj moral vzeti katerega od gumbov. Nato sem pritrdil še njihove druge drogove na rdečo žico … Te sem nato spajkal na priključno ploščo, ki jo vidite na sredini …
Kateri gumb na kateri pin? Gumb 1-16 v tem vrstnem redu: GPIO 18. 27, 17, 04, 23, 24, 22, 05, 16, 12, 06, 13, 21, 20, 19, 26. Preverite tudi dogodke pri pritisku gumba za ulov razdelku v kodi pozneje.
(Prosim, ne sprašujte me, čemu so bile zvite žice … Ne spomnim se)
3. korak: Neobvezno: Izdelava plošče s potegljivimi in spuščenimi upori
Če niste prepričani, kaj so upori navzgor in navzdol, bi na spletu zlahka našli veliko informacij. Raspi ima nekaj vgrajenih ali pa lahko naredite zunanje, kot sem jaz tukaj. Ta korak ni obvezen, saj mislim, da ga res ne potrebujete.
Zakaj sem torej to storil? Včasih se je glasba začela predvajati, ko sem v stanovanju vklopil/izklopil aparate. Najprej sem mislil, da pobira elektromagnetne valove ali kaj podobnega. Zato sem dodal uporovne/dol upore … Ker to ni izboljšalo situacije, sem dodal še nekaj kondenzatorjev. To še vedno ni pomagalo … Naslednja stvar, ki sem jo želel poskusiti, je bila, da notranjost škatle prekrijem z aluminijasto folijo kot zaščito. Ker se je težava ustavila, ko smo se preselili, tega nisem nikoli poskusil … Kaj je bil torej problem? Ne vem … morda so bile razlike v daljnovodu?
Zaključek: Svetujem vam, da najprej preprosto povežete gumbe (kasneje boste v kodi videli, kateri gumb gre na kateri pin) in ta korak naredite le, če imate težave. Upam, da iz zgornjih slik vidite, kako sem to naredil. V bistvu je na glavi na sredini vrstica, nato pa sem na vsaki strani povezal oba upora in kabla iz gumbov v eni vrsti.
4. korak: Koda Python
Tukaj je priložena koda (v pythonu), ki upravlja glasbeno skrinjico. Dodal sem kar nekaj komentarjev, tako da upam, da je samoumevno. Za vsak slučaj tukaj hitra razlaga. Najbolje je, da začnete brati razdelek o spremenljivkah na vrhu in nato preskočite vse do dna.
Na dnu boste našli zanko, ki deluje ves čas. Najprej preveri, ali je bilo pritisnjeno določeno zaporedje gumbov - to je bil moj način uporabe starševskega nadzora. Potem so tu še funkcije, ki predvajajo glasbo.
Nad glavno zanko boste našli nekaj zaznav dogodkov - ti se izvedejo, če pritisnete enega od gumbov. Vsak gumb pokliče funkcijo ButtonPress, ki posreduje identifikator.
Kako torej prisiliti predvajanje glasbe? Da bi bilo preprosto, sem za vsak gumb ustvaril samo eno mapo. Ne glede na mp3 -je, ki jih vstavite v te mape, funkcija doda na seznam predvajanja.
Upoštevajte, da če niste uporabljali fizičnih uporovnih uporov, morate odsek z oštevilčenjem BCM spremeniti v to:
# nastavitev z uporabo oštevilčevanja BCMGPIO.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)
5. korak: Nastavitev sistema Rapsi
Seveda boste morali nastaviti tudi raspi … Ravnokar sem uporabil standardno namestitev Noop. Prepričan sem, da boste našli veliko navodil, kako to narediti …
Za uporabo pythona boste morali "sudo apt-get install python-dev"
Moj program uporablja VLC za predvajanje glasbe:
- Od tu sem dobil povezavo Python (upam, da je to še vedno posodobljeno):
- Nato sem ga namestil z "sudo python setup.py install"
- Nato je nameščen VLC "sudo apt-get install vlc"
- Datoteki vlc.py in vlc.pyc vstavite v isti imenik kot vaš program
- Več informacij na
Moje opombe pravijo, da morate za dostop do zatičev GPIO iz Pythona namestiti tudi naslednje (vendar je to morda zastarelo):
- wget https://www.airspayce.com/mikem/bcm2835/bcm2835-1…. zxvf bcm2835-1.xx.tar.gz
- cd bcm2835-1.xx
- ./konfiguracija
- narediti
- sudo naredi preverjanje
- sudo make install
Če želite, da se program zažene, morate poklicati "sudo python yourfilename.py".
Priporočena:
Enostaven BLE z zelo nizko porabo energije v Arduinu, 2. del - Nadzor temperature/vlažnosti - Rev 3: 7 korakov
Enostaven BLE z zelo nizko porabo energije v Arduinu, 2. del - Nadzor temperature/vlažnosti - Rev 3: Posodobitev: 23. november 2020 - Prva zamenjava 2 x AAA baterij od 15. januarja 2019, tj. 22 mesecev za 2xAAA alkalno Posodobitev: 7. april 2019 - Rev 3 od lp_BLE_TempHumidity, doda datumske/časovne ploskve z uporabo pfodApp V3.0.362+in samodejno dušenje
(Zelo preprosto) Modeliranje bolezni (z uporabo praske): 5 korakov
(Zelo preprosto) Modeliranje bolezni (z uporabo Scratch): Danes bomo simulirali izbruh bolezni, pri čemer je to katera koli bolezen, ne nujno COVID-19. To simulacijo je navdihnil videoposnetek 3blue1brown, na katerega se bom povezal. Ker je to povleci in spusti, ne moremo storiti toliko, kot z JS ali Pytom
Priprava proračuna za mlade starše: 11 korakov
Priprava proračuna za mlade starše: Vsi vemo, kako je, če imamo v nekem trenutku svojega življenja plačljive račune. To ni vedno najlažje narediti in ugotoviti. Vendar pa lahko postane težje, če dodate plenice in robčke ali celo oblačila. Vem, kako težko je to lahko
Zelo preprosto Toda zelo učinkovita potegavščina (računalniška potegavščina): 3 koraki
Zelo preprosto … Toda zelo učinkovita potegavščina (računalniška potegavščina): Ta navodila so ZELO preprosta, a ZELO učinkovita! Kar se bo zgodilo, je: skrijete vse ikone na namizju žrtve. Žrtev se bo prestrašila, ko bo videla računalnik, potem ko boste naredili potegavščino. To računalniku nikakor ne more škodovati
Vtičnice prihodnosti Aka vgrajen polnilnik USB Aka: 7 korakov (s slikami)
Vtičnice prihodnjega vgrajenega USB polnilnika Aka: Vaš iPhone je mrtev, nekdo je zbežal z vašim stenskim polnilnikom iPod, če je le to, kjer so prihodnost in vse vtičnice USB! Ta navodila vam bodo pokazala, kako pretvoriti standardno vtičnico v notranji polnilnik USB. JAZ