Kazalo:

Arduino Arcade Lego Games Box: 19 korakov (s slikami)
Arduino Arcade Lego Games Box: 19 korakov (s slikami)

Video: Arduino Arcade Lego Games Box: 19 korakov (s slikami)

Video: Arduino Arcade Lego Games Box: 19 korakov (s slikami)
Video: Leap Motion SDK 2024, November
Anonim
Image
Image
Arduino Arcade Lego Games Box
Arduino Arcade Lego Games Box
Arduino Arcade Lego Games Box
Arduino Arcade Lego Games Box

Če imate otroke, se verjetno soočate z enakimi težavami, kot smo jih imeli z Lego kompleti, ki ste jih kupili zanje. Sestavljajo se in se igrajo z njimi, a čez nekaj časa se kompleti spremenijo v en sam kup opek. Otroci odrastejo in ne veste, kaj bi s tem kupom.

Odločili smo se, da neželene Lego kocke recikliramo in ustvarili arkadno igro.

Ta vodnik po korakih je rezultat večmesečnega dela, da bi bila igra ponovljiva in zelo nizka. Skoraj vsakdo bi lahko ponovil ta projekt! Koda je napisana tako, da nima odvisnosti in se bo zbrala na kateri koli plošči Arduino. In seveda so naši otroci intenzivno preizkušali igre:-)

V čem se ta igra razlikuje od mnogih drugih, ki so bile objavljene že prej?

Najprej je vanj vgrajenih 5 iger:

  • Spominska igra (podobno "Simon-Says", podobno igri Touch Me)
  • Reakcijska igra (podobno igri Whack-a-Mole)
  • Tekmovanje/tekmovalna igra (za 2-4 igralce)
  • Melody Game (brezplačen način Push and Play za malčke in manjše)
  • Vojna igra (za 2-4 odrasle)

Drugič, ima odličen dizajn (z naše perspektive) in ga je mogoče enostavno ponoviti.

In tretjič, je okolju prijazen, saj omogoča recikliranje plastike.

Na koncu tega priročnika je tudi videoposnetek po korakih, če želite video format.

1. korak: Seznam delov

Seznam delov
Seznam delov
Seznam delov
Seznam delov

Če vam je ta projekt všeč, vendar nimate kupa neželenih lego kock, bi najlažje kupili komplet Lego Classic 10704 z 900 kosi v notranjosti.

Tu je seznam elementov, ki jih boste potrebovali za ustvarjanje tega projekta:

  • 1 kg (2 lb) neželenih Lego kock (ali podobnih opek iz druge blagovne znamke, na primer Mega Bloks)
  • 25 x 25 cm osnovna plošča za Lego (ali podobno iz druge blagovne znamke). Lego osnova ima 32 x 32 pik. Če ga nimate - osnova stane približno 3 USD vklj. poštnina, če kupujete na spletu (iskalni izraz "32 25 blokov")
  • 30 x 30 cm prozoren kos pleksi stekla (debeline 5 ali 6 mm)
  • 4 x 60-milimetrski gumbi v slogu Big Arcade (priporočam rdečo, zeleno, modro, rumeno) (iskalni izraz za spletne trgovine: "60-milimetrski arkadni gumb"). So najdražja komponenta te gradnje, ki stane približno 2 USD.
  • 2 x trenutni gumb polmer 16 mm (priporočam belo in črno) (iskalni izraz: "16 mm gumb")
  • Stikalo za vklop/izklop vklop/izklop 27x21 mm montažna velikost (priporočam prozorno rdečo s 4 zatiči) (iskalni izraz: "kladivo 16a")
  • Arduino Nano
  • 1602 LCD zaslon in I2C priključni modul
  • 2 x 4 ohma 5W zvočnika, velikosti 30 x 70 mm (lahko uporabite katere koli druge majhne, vendar je risba CAD narejena za 30x70 mm)
  • 8 x 6 cm prototipna plošča ali 830 polna plošča
  • 2x18650 polnilnih baterij (lahko jih reciklirate iz prazne baterije prenosnega računalnika)
  • Dvojno držalo za baterijo 18650 (iskalni izraz: "držalo 2 x 18650")
  • TP4056 krmilnik polnjenja in zaščita pred praznjenjem
  • 5V povečevalni pretvornik (najmanjši bo 500mA)
  • Majhne stvari: nekaj žic, kabel Mini-USB ali sam vtič, vtičnica Micro-USB na izhodu iz tiskanega vezja, vijaki/matice/podložke M3, 4 x vijaki za zgornji pokrov
  • Upori:

    • 6 x 100 ohm
    • 1 x 1 k
    • 3 x 10 tisoč

2. korak: Izdelava škatle

Gradnja škatle
Gradnja škatle
Gradnja škatle
Gradnja škatle
Gradnja škatle
Gradnja škatle

To je najlažji del projekta, ki ga lahko prenesete na svoje otroke.

Vzemite osnovno ploščo Lego 32x32 in položite stene z uporabo recikliranih delov. Skupaj bi morali imeti približno 9 plasti. Za podlago smo izbrali svetlo sivo barvo, tako da so opečne stene v naključni barvi glavni poudarek.

Nobena škatla ne bo podobna. Bodite ustvarjalni, ko gradite plasti. Reciklirajte tudi majhne dele - videti so kul. Tudi nepravilne oblike izgledajo lepo. Dodajte okna, vetrobranska stekla iz avtomobilov, vrata in škatle.

Škatla mora imeti vsaj ena vrata Lego v polni velikosti. To je potrebno za namestitev zibalnega stikala v steno.

3. korak: izdelava zgornjega pokrova

Izdelava zgornjega pokrova
Izdelava zgornjega pokrova
Izdelava zgornjega pokrova
Izdelava zgornjega pokrova
Izdelava zgornjega pokrova
Izdelava zgornjega pokrova
Izdelava zgornjega pokrova
Izdelava zgornjega pokrova

Zgornji pokrov je izdelan iz 5 ali 6 mm pleksi stekla (prozorna akrilna folija). Prenesite risbo CAD, jo položite na USB ključ in pojdite v najbližjo CNC trgovino - izdelali vam jo bodo. Risba CAD vključuje tudi pritrdilno ploščico ročic (glej sliko).

Zgornjo ploščo boste morali nekoliko zaključiti. Narežite rob z brusnim papirjem in lesenim blokom. Izvrtajte tudi luknje za namestitev zvočnikov in zaslona 1602. Zaslon 1602 zahteva tudi majhen trikotnik, izrezan na strani okna LCD v akrilni plošči (glej fotografijo). To sem naredil na pol globini z vrtljivim orodjem (dremel) in majhnim usmerjevalnikom.

4. korak: Dodajte vse komponente na zgornji pokrov

Na zgornji pokrov dodajte vse komponente
Na zgornji pokrov dodajte vse komponente
Na zgornji pokrov dodajte vse komponente
Na zgornji pokrov dodajte vse komponente
Na zgornji pokrov dodajte vse komponente
Na zgornji pokrov dodajte vse komponente

Namestite velike 4 arkadne gumbe, 2 gumba za spremembo/izbiro igre, 2 zvočnika in modul 1602 LCD + I2C. Vse je pritrjeno z vijaki M3 + podložkami M3 in maticami na zadnji strani.

Preden namestite arkadne gumbe - odstranite držala LED luči. Morali jih boste nekoliko spremeniti - glejte naslednji korak.

5. korak: Spreminjanje LED v arkadnih gumbih

Spreminjanje LED v arkadnih gumbih
Spreminjanje LED v arkadnih gumbih
Spreminjanje LED v arkadnih gumbih
Spreminjanje LED v arkadnih gumbih
Spreminjanje LED v arkadnih gumbih
Spreminjanje LED v arkadnih gumbih

Ti arkadni gumbi so zasnovani za delovanje pri 12V. Delali bodo s 5V, ki je privzeta napetost za ta projekt, vendar bodo preveč motni. Tako sem odstranil vtičnice LED z arkadnih gumbov, izvlekel držala za LED in odstranil LED z upori. Upor 460 ohmov je treba razpajkati in zamenjati s 100 ohmov. Ko sem končal, sem vse sestavil nazaj in v gumbe namestil LED z držali.

6. korak: (neobvezno) Oznake nadzornih gumbov

(neobvezno) Oznake nadzornih gumbov
(neobvezno) Oznake nadzornih gumbov

Morda ste opazili nalepke na dveh nadzornih gumbih. Naša prva različica gradnje jih ni imela, vendar sem se jih odločil dodati, ko sem gradnjo ponovil drugič.

Oba gumba imata več funkcij, odvisno od stanja igre. Beli gumb zažene izbrano igro ali potrdi izbiro med nekaterimi igrami. Črni gumb spremeni izbrano igro ali izstopi med igro.

Za izdelavo okroglih etiket potrebujete tanko aluminijasto pločevino (debeline največ 1 mm), sveder za žaganje lukenj, stopenjski sveder in udarce za črke (glejte sliko). Najprej izrežite krog z žago za luknje. Nato povečate notranji premer s stopničastim bitom, nato pa s črkami ustvarite nalepke. Če želite črke narediti bolj vidne, uporabite trajno črno oznako (ostrino).

7. korak: Izdelava odbojne plošče

Oblikovanje odbojne deske
Oblikovanje odbojne deske
Oblikovanje odbojne deske
Oblikovanje odbojne deske

Tu imate dve možnosti. Bodisi uporabite mizo in ožičite Arduino s kabli skozi mizo ali pa namestite majhen prelom na zadnji strani LCD zaslona.

Za prvo gradnjo smo uporabili ploščo (glej sliko). Za drugo gradnjo smo se odločili, da porabimo več časa za ustvarjanje odbojne deske. Funkcionalnost se ne spremeni, vendar je manj žic in prekinitev je skrita pod LCD -ploščo.

Če se odločite za prelomno ploščo, vzemite prototipno ploščo 8x6 in jo razrežite, kot je prikazano na sliki. Večji del bo uporabljen za preboj, manjši pa za ustvarjanje napajanja.

Spajkajte Arduino Nano na to proto ploščo.

8. korak: Ožičenje povezav

Ožičenje povezav
Ožičenje povezav
Ožičenje povezav
Ožičenje povezav
Ožičenje povezav
Ožičenje povezav

Pripravite nekaj kablov in ožičite svoje nastavitve, stikala in povezave z Nano v skladu s shemo.

Odkar sem začel uporabljati kable z zvitim parom Ethernet - sem pozabil na glavobol, kje naj dobim žice za svoje projekte. So različnih barv in so večjedrne, zato se ne zlomijo zlahka. Pri delu z njimi morate paziti le na to, da mora biti spajkanje zelo hitro, da ne zažgete izolacije.

Na drugi sliki opazite, kako so 100ohmski upori ožičeni za priključitev na zvočnike.

Nekaj opomb o povezavah:

  • Črno/beli gumbi za upravljanje so povezani z nožicami D2/3 neposredno na ozemljitev, ker se v Nano uporabljajo notranji vlečni upori.
  • A4/5 so povezani z nožicami I2C SDA/SCL. To je potrebno za modul LCD I2C.
  • Zvočniki morajo biti priključeni na D10/11, ker so ti zatiči omogočeni PWM.
  • Priporočljivo je, da kot ozemljitveno tirnico dodate majhno bakreno linijo za lažjo povezavo vseh ozemljitvenih žic (približno jih bo 5).

9. korak: Ožičenje gumbov

Ožičenje gumbov
Ožičenje gumbov
Ožičenje gumbov
Ožičenje gumbov

Vsi arkadni gumbi so povezani z enim samim zatičem A1 skozi vrsto uporov. A1 je nastavljen kot notranji analogni izvlek. To je ena izmed tistih malo znanih lastnosti Arduina, ki nam je pomagala prihraniti pri številu žic, ki gredo do gumbov.

Tako je nastavitev naslednja: od A1 do prvega gumba skozi upor 1k. Od gumba1 do gumba2 do 10k. Od gumba2 do gumba3 do 10k in od gumba3 do gumba4 do 10k. Vsak gumb na "zapri" stanje kratkih hlač do tal. Ker je na vsakem gumbu za LED že ozemljitev, je drugi pin vsakega stikala povezan z maso LED. Oglejte si diagram, da razumete ožičenje.

Na tej točki bi moral priključek kabla Mini-USB v Arduino Nano omogočiti igranje igre po nalaganju skice. Za prenos igre je potreben samo napajalnik.

10. korak: Namestitev baterij

Nameščanje baterij
Nameščanje baterij

Uporabil sem dve reciklirani celici 18650 iz izpraznjenih baterij prenosnega računalnika. To so tiste z manjšo zmogljivostjo (okoli 600 mAh), ki jih nisem hotel uporabiti za aplikacije z večjo obremenitvijo. Naprava v resnici ne porabi toliko energije, zato bi to moralo zadostovati za večdnevno izvajanje igre.

Baterije so vstavljene v dvojno držalo za baterije 18650, na voljo pa je tudi priključek za enostavno priključitev na napajalnik.

11. korak: Namestitev USB vtičnice

Namestitev USB vtičnice
Namestitev USB vtičnice
Namestitev USB vtičnice
Namestitev USB vtičnice
Namestitev USB vtičnice
Namestitev USB vtičnice

Igra bi morala imeti možnost polnjenja in nadgradnje vdelane programske opreme brez razstavljanja. Tako sem izvrtal enega od blokov, da skrijem priključek Micro-USB.

Za razširitev USB-ja z opečne stene na Arduino Nano sem vzel kabel Mini-USB in odrezal konec USB-A (velik priključek USB) ter odstranil žice. V mojem primeru sta bila rdeča/črna napajalna, bela/zelena pa D +/- povezave.

D +/- je treba spajkati na odklop Micro-USB. 5V in ozemljitev (rdeča/črna) morata iti skozi napajalnik.

Zakaj je bil izbran prekinitev Micro-USB, če Nano uporablja Mini-USB? Preprosto zato, ker je Micro-USB povsod v naših gospodinjstvih-uporablja se za polnjenje telefonov in drugih naprav. Tako boste lahko napolnili igro in nadgradili vdelano programsko opremo s telefonskim kablom:-)

12. korak: Napajanje

Izdelava napajalnika
Izdelava napajalnika
Izdelava napajalnika
Izdelava napajalnika
Izdelava napajalnika
Izdelava napajalnika

Vzela sem manjšo prototipno ploščo in nanjo spajkala polnilnik baterij TP4056 in zaščitni modul ter tudi ojačevalnik 5V.

Vhod v TP4056 gre iz vtičnice Micro-USB. Baterijski kabel je pritrjen na zatiče TP4056, označene kot B +/-. Zatiči označeni kot OUT +/- gredo v stikalo. S stikalom za premik +/- povezave gredo v 5V ojačevalni modul, iz ojačevalnega izhoda pa so priključene rdeče/črne žice iz ogoljenega kabla USB.

Za razumevanje ožičenja si oglejte diagram.

13. korak: Epoksi prekinitev mikro USB

Epoksidni odklopnik Micro USB
Epoksidni odklopnik Micro USB
Epoksidni odklopnik Micro USB
Epoksidni odklopnik Micro USB

Uporabil sem nekaj epoksida, da popravim zlom Micro-USB v opeki Lego. Ko se ozdravi, bo vtičnica trdnejša od tistih v mobilnih telefonih, tako da bodo otroci lahko napolnili igro in se ne bo zlomila.

Priporočam, da za ta del uporabite hitro strjevalni epoksid. Če je nimate, smoli dodajte še malo trdilca in jo pustite stati nekaj časa.

Korak 14: Namestite stikalno stikalo, priključite kabelski snop

Namestite stikalno stikalo, priključite kabelski snop
Namestite stikalno stikalo, priključite kabelski snop
Namestite stikalno stikalo, priključite kabelski snop
Namestite stikalno stikalo, priključite kabelski snop
Namestite stikalno stikalo, priključite kabelski snop
Namestite stikalno stikalo, priključite kabelski snop

To stikalo je ogromno. Zasnovan je za omrežno napetost 250 V. Vendar sem še vedno uporabljal ta model, ker izgleda odlično in se popolnoma prilega standardnim vratom Lego City. Zato sem stikalo vstavil v montažno ploščo in nato z 2 vijakoma pritrdil ploščo na opečno steno (stene so bile predhodno izvrtane).

Zdaj bi lahko končno namestili tudi pas, pa tudi odmik Micro-USB, ki je bil epoksiran v Lego opeko. Upoštevajte, kako so bile za pritrditev komponent na podlago uporabljene nekatere dodatne opeke.

Korak 15: Zaprite pokrov

Zapiranje pokrova
Zapiranje pokrova

kabel Mini-USB vstavite v Arduino Nano, pritrjen na zgornji pokrov, in zaprite pokrov.

V stenah sem predhodno izvrtal 4 luknje in s štirimi vijaki pritrdil vrh na škatlo.

Korak 16: Koda

Kodeks
Kodeks

Prvo različico igre sem napisal jaz, sledile pa so nove 4 različice mojega prijatelja Alexa, ki je dodal še 4 igre in do popolnosti očistil kodo. Za zvoke smo uporabili tudi delo Reyboza - raven zvoka, proizvedenega s to kodo, je neverjetna v primerjavi s tisto, kar privzeto prihaja iz knjižnice Tone v Arduinu.

Kot smo že omenili, je bila koda optimizirana več mesecev po obsežnem testiranju QA s strani otrok, trenutno pa smo na GitHub naložili različico 4.

Najnovejša različica izvorne kode:

Vse kar morate storiti je, da namestite 1602 I2C LCD knjižnico (na voljo v upravitelju knjižnice Arduino IDE) in nato naložite našo kodo.

Najprej naložite gumb-calibration.ino in na kos papirja zabeležite vrednosti, ki jih ustvari vsak gumb Arcade. Ta skript bo izbrisal tudi EEPROM, tako da se bodo najvišje ocene ponastavile.

Po tem v Game-Settings.h spremenite vrednosti gumbov, ki ste jih kalibrirali, in naložite glavno datoteko Lego-Games-Box.ino in lahko začnete igrati (če ste vse povezali po zgornji shemi).

Opomba: če to igro delate za otroke, odstranite v Game-settings.h zadnji vnos iz String GameTitle = {"Memory Game", "Reaction Game", "Tournament Game", "Melody Game", " Jedrska vojna igra "}; Ta zadnji vnos ima pravila, po katerih vsak igralec izbere sovražnike in je lahko preveč sovražen do otrok.

17. korak: Podroben video posnetek

Če si namesto branja navodil olajšate ogled videoposnetka, je tukaj video različica te zgradbe.

18. korak: Pravila igre

Image
Image

Trenutno je izvedenih 5 iger. Če imate več idej o igrah, ki bi jih lahko ustvarili s tem okvirčkom - nam to sporočite v komentarjih. Na kratko bom opisal vsako igro in razložil pravila in način igranja.

Pomaknite stikalo na strani, da vklopite Lego Arcade Games Box. Vse igre spremljajo zvoki iz nostalgične igre Mario. Ob zagonu bi morali slišati zagonsko melodijo igre Mario.

Ko začnete, boste na LCD zaslonu videli igro, ki je zdaj izbrana. Če želite spremeniti igro, pritisnite črni gumb.

Ko se odločite, katero igro bi radi igrali, za začetek pritisnite na beli gumb.

Če želite zapustiti igro, ki se že izvaja, morate pritisniti črni gumb.

Ob zagonu lahko zvoke izklopite (nočni način) s pritiskom na rdeči gumb.

Spominska igra (podobno "Simon-Says", podobno igri Touch Me)

Pravila so znana in preprosta. Igra vam prikaže zaporedje zapiskov/luči in to morate ponoviti. Vsakič, ko se zaporedju doda še en ton/svetloba. Dlje ko preživite, boljši je vaš spomin. Odličen je za usposabljanje kratkoročnega spomina otrok in odraslih.

Reakcijska igra (podobno igri Whack-a-Mole)

Morate biti dovolj hitri, da pritisnete vsak gumb, ki zasveti. Dlje ko igrate, hitreje zasvetijo gumbi. Ta je odličen za treniranje reakcij otrok in odraslih.

Tekmovanje/tekmovalna igra (za 2-4 igralce)

Dobili boste 5 krogov. Po podanem signalu mora vsak pritisniti na njegov gumb (melodija kovancev iz Maria). Kdor prvi pritisne gumb, zmaga v krogu. Število zmag se izračuna na koncu 5 krogov in razglasi se zmagovalec.

Melody Game (brezplačen način Push and Play za malčke in manjše)

Ta je odličen za malčke - predvaja izmenične melodije, ko pritisnete in držite gumb. Po prvem testiranju z otroki smo ugotovili, da se naš manjši, star 1 leto, res želi igrati, vendar ne razume KAKO. Pravila te igre so - NI PRAVIL. Lahko pritisnete kateri koli gumb in proizvedel bo zvoke.

Vojna igra (za 2-4 odrasle)

Moj prijatelj Alex, ki je programiral posledične različice te škatle za igre, se je v času krize Trump/Kim zamislil, kdo ima večji jedrski gumb. Za razlago pravil je potreben ločen videoposnetek (najdete ga tukaj in tukaj), vendar na kratko izberete število igralcev na začetku in med vsakim krogom vsaka oseba izbere svojega sovražnika. Ko si vsak izbere svojega sovražnika, rakete začnejo leteti. Tisti, ki je bil izbran za sovražnika, ima nekaj trenutkov, da pritisne gumb, da pošlje križno raketo in reši svojo državo. Krogi se nadaljujejo, dokler ne ostane le ena država.

Korak 19: Končni rezultat

Končni rezultat
Končni rezultat
Končni rezultat
Končni rezultat
Končni rezultat
Končni rezultat

Smo trije prijatelji, ki smo porabili čas za izdelavo igre za naše otroke. Resnično upamo, da vam bo igra tako všeč, da boste po teh navodilih ustvarili svojo različico. Če imate kakršna koli vprašanja ali predloge - jih objavite v komentarjih.

Igra Life Contest
Igra Life Contest
Igra Life Contest
Igra Life Contest

Druga nagrada na tekmovanju Game Life

Priporočena: