Sadržaj:

Juke kutija za vrlo mlade Aka Raspi-Music-Box: 5 koraka
Juke kutija za vrlo mlade Aka Raspi-Music-Box: 5 koraka

Video: Juke kutija za vrlo mlade Aka Raspi-Music-Box: 5 koraka

Video: Juke kutija za vrlo mlade Aka Raspi-Music-Box: 5 koraka
Video: Верните мои пушки ► 8 Прохождение Silent Hill 2 ( PS2 ) 2024, Novembar
Anonim
Juke Box for Very Young… Aka Raspi-Music-Box
Juke Box for Very Young… Aka Raspi-Music-Box

Inspirisan instruktivnim "Raspberry-Pi-based-RFID-Music-Robot" opisom ROALDH muzičkog playera za njegovu trogodišnjakinju, odlučio sam da napravim muzičku kutiju za svoju još mlađu decu. To je u osnovi kutija sa 16 tipki i Raspi 2 unutar koje reproduciraju pjesme putem priključenog stereo uređaja kad god se pritisne bilo koje dugme.

Sta ti treba:

  • Raspberry Pi sa napajanjem
  • 16 dugmadi - vrsta koja su privremeno zatvorena kada se pritisne (ili koliko god dugmadi želite - savjetujte: ne više nego što imate ulaznih pinova …;)) Koristio sam ovo: dugme za 0,50 €)
  • neku tanku žicu
  • jedan 10kOhm i jedan 1kOhm otpornik po gumbu (osim ako se ne želite osloniti na unutrašnje pull-up/down otpornike Raspi-a, ovo možete preskočiti)
  • stripboard
  • žensko zaglavlje (2x20 pin)
  • malo tankog drveta za izgradnju 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č, četka za slikanje …
  • opcionalno: USB zvučna kartica ako želite da muzika zvuči dobro
  • opcionalno: wifi kartica ako se želite spojiti na stari Raspi bez otvaranja kutije

Imajte na umu da je ovo moj prvi instruktor i da sam radio na ovom projektu prije dosta vremena … Uspijevam dok me stalno pitaju o VLC načinu sviranja pjesama u odjeljku za komentare gore navedenih instrukcija (mplayer koji se tamo koristio koliko ja znam više nije podržano). Znam da ova uputstva nisu baš dobra, ali nadam se da je moguće da ih slijedite … ako ne, pogledajte i originalne upute i ostavite komentare ispod govoreći mi gdje ste zapeli … Pokušat ću poboljšati …

Korak 1: Napravite kutiju…

Napravi kutiju…
Napravi kutiju…
Napravi kutiju…
Napravi kutiju…

Dakle, prvo što trebate učiniti je izgraditi kutiju … Svoju sam napravio prilično velikom jer sam ostavio malo prostora ispod svakog dugmeta za oznaku … Planirao sam odštampati neke slike za svaku pjesmu, možda ih laminirati i označiti plavom bojom ispod dugmad … naučena lekcija: dok ne odštampate etikete, 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 kćeri je dozvoljeno da ofarba prednju ploču po svom izboru boje …:) Dok je slikala, izrezao sam dugačak komad na 5 traka - dvije dužine 400 mm, dvije dužine 390 mm i lijeve strane …;) ovo 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 da zatvorim kutiju nakon što završim. (Znam da bi 12 vijaka moglo biti malo pretjerano, ali djeca su jaka …:))

S jedne strane sam upotrijebio turpiju (mogli ste upotrijebiti dremel da ubrzate stvari) za izrezivanje dijela drva za prolazak kroz kabele. Zatim sam izbušio rupe za 16 tipki i instalirao ih.

Korak 2: Povežite dugmad

Povežite dugmad
Povežite dugmad

Dakle, sada imate kutiju sa 16 dugmadi … zatim morate ovo spojiti … Spojio sam jedan njihov pol sa masom na lanac od tratinčice. Idealno bi bilo da imate 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 koje dugme. Zatim sam njihove ostale polove pričvrstio na crvenu žicu … Ove sam zatim lemio na ploču konektora koju vidite kako leži u sredini …

Kojim dugmetom na koji pin? Dugmad 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

Izborno: Izrada ploče s otpornicima na izvlačenje i na dolje
Izborno: Izrada ploče s otpornicima na izvlačenje i na dolje
Izborno: Izrada ploče s otpornicima na izvlačenje i na dolje
Izborno: Izrada ploče s otpornicima na izvlačenje i na dolje

Ako niste sigurni šta 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 ovdje učinio. Ovaj korak nije obavezan jer mislim da vam to zaista ne treba.

Pa zašto sam to učinio? Ponekad je muzika počela da svira kada 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 ovo 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 to bile varijacije u dalekovodu?

Zaključak: Savjetovao bih vam da prvo samo direktno povežete gumbe (kasnije ćete vidjeti u kodu koje dugme ide na koju iglu) i učinite ovaj korak samo ako imate problema. Nadam se da možete vidjeti na gornjim slikama kako sam to uradio. U osnovi postoji šipka za umetanje na zaglavlje u sredini, a zatim sam sa svake strane spojio dva otpornika i kabele s dugmadi u jednom redu.

Korak 4: Python kod

Ovdje u privitku ćete pronaći kôd (u pythonu) koji upravlja muzičkom 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 pritisnuta određena sekvenca dugmadi - ovo je bio moj način korištenja neke roditeljske kontrole. Zatim postoje funkcije koje puštaju muziku.

Iznad glavne petlje ćete pronaći neke detekcije događaja - one se izvršavaju ako se pritisne jedno od dugmadi. Svako dugme poziva funkciju ButtonPress koja prosljeđuje identifikator.

Pa kako ga natjerati da pušta muziku? Da pojednostavimo, samo sam generirao jednu mapu za svako dugme. Koji god mp3 datoteku stavite u ove mape, funkcija se dodaje na popis za reprodukciju.

Imajte na umu da ako niste koristili fizičke pull -up otpornike, morat ćete promijeniti odjeljak s BCM numeracijom 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: Postavite svoj Rapsi

Naravno, morat ćete postaviti i raspi … Upravo sam koristio standardnu Noop instalaciju. Siguran sam da ćete pronaći mnoštvo uputstava kako to učiniti …

Za korištenje pythona morat ćete "sudo apt-get install python-dev"

Moj program koristi VLC za reprodukciju muzike:

  • Odavde sam dobio Python vezu (nadam se da je ovo još uvijek ažurirano):
  • Zatim sam ga instalirao koristeći "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 je potrebno instalirati i 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
  • ./configure
  • napraviti
  • sudo provjeri
  • sudo make install

Da biste pokrenuli svoj program, morat ćete pozvati "sudo python yourfilename.py".

Preporučuje se: