Sadržaj:

Arduino Arkadne lego kutije za igre: 19 koraka (sa slikama)
Arduino Arkadne lego kutije za igre: 19 koraka (sa slikama)

Video: Arduino Arkadne lego kutije za igre: 19 koraka (sa slikama)

Video: Arduino Arkadne lego kutije za igre: 19 koraka (sa slikama)
Video: CS50 2015 - Week 8, continued 2024, Juli
Anonim
Image
Image
Arduino Arkadne Lego Igre Box
Arduino Arkadne Lego Igre Box
Arduino Arkadne Lego Igre Box
Arduino Arkadne Lego Igre Box

Ako imate djecu, vjerojatno ćete se suočiti s istim problemima kao i mi s Lego setovima koje ste za njih kupili. Sastavljaju se i igraju s njima, ali se nakon nekog vremena kompleti pretvaraju u jednu hrpu cigli. Djeca odrastaju i ne znate što biste s ovom hrpom.

Odlučili smo reciklirati neželjene Lego kockice i stvorili arkadnu igru.

Ovaj korak po korak vodič je rezultat višemjesečnog rada na tome da igra bude ponovljiva i po vrlo niskim cijenama. Skoro svako bi mogao ponoviti ovaj projekat! Kod je napisan na takav način da nema ovisnosti i da će se kompajlirati na bilo kojoj Arduino ploči. I naravno da su naša djeca intenzivno testirala igre:-)

Po čemu se ova igra razlikuje od mnogih drugih koje su već objavljivane?

Prije svega, u njega je ugrađeno 5 igara:

  • Igra memorije (nalik "Simon-Says", slično igri Touch Me)
  • Reakcijska igra (slična igri Whack-a-Mole)
  • Takmičenje/Takmičarska igra (za 2-4 igrača)
  • Melody Game (Push and Play besplatni način rada za malu djecu i manje)
  • Ratna igra (za 2-4 odrasle osobe)

Drugo, ima odličan dizajn (iz naše perspektive) i može se lako ponoviti.

I treće, ekološki je prihvatljiv jer vam omogućuje da reciklirate plastiku.

Na kraju ovog vodiča nalazi se i videozapis korak po korak u slučaju da više volite video format.

Korak 1: Lista dijelova

Lista delova
Lista delova
Lista delova
Lista delova

Ako vam se sviđa ovaj projekt, ali nemate hrpu neželjenih Lego kockica, najlakše bi bilo kupiti Lego Classic 10704 set s 900 komada unutra.

Evo liste stavki koje su vam potrebne za kreiranje ovog projekta:

  • 1 kg (2 lb) neželjenih Lego kockica (ili sličnih cigli druge marke, poput Mega blokova)
  • Osnovna ploča 25 x 25 cm za Lego (ili sličnu drugu marku). Lego baza ima 32 x 32 tačke. Ako ga nemate - osnovica košta oko 3 USD uključeno. poštarina ako kupujete na mreži (pojam za pretraživanje "32 25 blokova")
  • 30 x 30 cm prozirni komad pleksiglasa (debljine 5 ili 6 mm)
  • 4 x dugmeta od 60 mm u velikom arkadnom stilu (preporučujem crvenu, zelenu, plavu, žutu) (pojam za pretraživanje za internetske trgovine: "arkadno dugme 60 mm"). Oni su najskuplja komponenta ove gradnje po cijeni od oko 2 USD svaki.
  • 2 x trenutno dugme sa radijusom od 16 mm (preporučujem bijelo i crno) (pojam za pretraživanje: "dugme od 16 mm")
  • Uključivanje/isključivanje prekidača za uključivanje/isključivanje 27x21 mm montažna veličina (preporučujem prozirno crveno sa 4 igle) (pojam za pretraživanje: "prekidač za prekidače 16a")
  • Arduino Nano
  • 1602 LCD ekran i I2C priključni modul
  • 2 x 4 ohma 5W zvučnika, veličine 30 x 70 mm (možete koristiti bilo koje druge male, ali CAD crtež se radi za 30x70 mm)
  • 8 x 6 cm prototipna ploča ili 830 iglica
  • 2x18650 punjivih baterija (mogu se reciklirati iz ispražnjene baterije prijenosnog računara)
  • Dvostruki držač baterije 18650 (pojam za pretraživanje: "držač 2 x 18650")
  • TP4056 kontroler punjenja i zaštita od pražnjenja
  • 5V pojačavač (najmanji kapacitet je 500mA)
  • Male stvari: neke žice, Mini-USB kabel ili utikač za kućnu radinost, Micro-USB utičnica na izlazu iz štampane ploče, M3 vijci/matice/podloške, 4 x gornji poklopci
  • Otpornici:

    • 6 x 100 ohma
    • 1 x 1k
    • 3 x 10.000

Korak 2: Izgradnja kutije

Izgradnja kutije
Izgradnja kutije
Izgradnja kutije
Izgradnja kutije
Izgradnja kutije
Izgradnja kutije

Ovo je najlakši dio projekta koji možete prenijeti na svoju djecu.

Uzmite Lego temeljnu ploču od 32x32 točke i položite zidove pomoću recikliranih dijelova. Ukupno biste trebali imati oko 9 slojeva. Za podlogu smo odabrali svijetlosivu boju tako da su zidovi od opeke nasumične boje glavni fokus.

Nijedna kutija neće biti slična. Budite kreativni pri izgradnji slojeva. Reciklirajte čak i male dijelove - izgledaju super. I nepravilni oblici izgledaju lijepo. Dodajte prozore, vjetrobranska stakla na automobilima, vrata i kutije.

Kutija mora imati najmanje jedna Lego vrata pune veličine. Ovo je potrebno za ugradnju prekidača u zid.

Korak 3: Izrada gornjeg poklopca

Izrada gornjeg poklopca
Izrada gornjeg poklopca
Izrada gornjeg poklopca
Izrada gornjeg poklopca
Izrada gornjeg poklopca
Izrada gornjeg poklopca
Izrada gornjeg poklopca
Izrada gornjeg poklopca

Gornji poklopac izrađen je od pleksiglasa od 5 ili 6 mm (prozirni akrilni lim). Preuzmite CAD crtež, stavite ga na USB stick i samo idite do najbliže CNC trgovine - oni će vam ga izraditi. CAD crtež takođe uključuje montažnu ploču prekidača za klackalicu (vidi sliku).

Morat ćete malo završiti gornju ploču. Ivice obavite košenjem brusnim papirom i drvenim blokom. Također izbušite rupe za postavljanje zvučnika i zaslona 1602. Zaslon 1602 također zahtijeva mali trokut izrezan sa strane LCD prozora u akrilnoj ploči (vidi fotografiju). Učinio sam to na pola dubine pomoću rotacijskog alata (dremel) i male glodalice.

Korak 4: Dodajte sve komponente na gornji poklopac

Dodajte sve komponente na gornji poklopac
Dodajte sve komponente na gornji poklopac
Dodajte sve komponente na gornji poklopac
Dodajte sve komponente na gornji poklopac
Dodajte sve komponente na gornji poklopac
Dodajte sve komponente na gornji poklopac

Instalirajte velika 4 arkadna gumba, 2 gumba za promjenu igre/odabir, 2 zvučnika i 1602 LCD + I2C modul. Sve je fiksirano vijcima M3 + M3 podloškama i navrtkama straga.

Prije nego instalirate arkadne tipke - uklonite držače LED svjetla. Morat ćete ih malo modificirati - pogledajte sljedeći korak.

Korak 5: Promjena LED dioda u arkadnim gumbima

Modiciranje LED dioda u arkadnim gumbima
Modiciranje LED dioda u arkadnim gumbima
Izmjena LED dioda u arkadnim gumbima
Izmjena LED dioda u arkadnim gumbima
Modiciranje LED dioda u arkadnim gumbima
Modiciranje LED dioda u arkadnim gumbima

Ovi arkadni gumbi dizajnirani su za rad na 12V. Radit će s 5V, što je zadani napon za ovaj projekt, ali bit će previše slabi. Stoga sam uklonio LED utičnice s arkadnih tipki, izvukao držače LED dioda i uklonio LED diode s otpornicima. Otpornike od 460 ohma potrebno je odlemiti i zamijeniti sa 100 ohma. Kad sam završio, sve sam ponovo sastavio i u dugmad ugradio LED diode s držačima.

Korak 6: (opcionalno) Oznake kontrolnih dugmadi

(opcionalno) Oznake kontrolnih dugmadi
(opcionalno) Oznake kontrolnih dugmadi

Možda ste primijetili oznake na 2 kontrolna dugmeta. Naša prva verzija build -a ih nije imala, ali odlučio sam ih dodati kad sam ponovio build drugi put.

Oba gumba imaju više funkcija ovisno o stanju igre. Bijelo dugme pokreće odabranu igru ili potvrđuje odabir tokom nekih igara. Crno dugme mijenja odabranu igru ili izlazi iz nje tokom igre.

Za izradu okruglih naljepnica potreban vam je tanki aluminijski lim (debljine najviše 1 mm), svrdlo sa rupom, stepenasto svrdlo i bušilice (vidi sliku). Prvo izrežite krug pomoću pile za rupe. Zatim povećavate unutrašnji promjer stupnjevitim bitom, a zatim koristite slova za stvaranje etiketa. Da biste slova učinili vidljivijim, upotrijebite trajni crni marker (oštricu).

Korak 7: Izrada Odbojne ploče

Izrada ploče za razbijanje
Izrada ploče za razbijanje
Izrada Odbojne ploče
Izrada Odbojne ploče

Ovdje imate dvije mogućnosti. Ili upotrijebite matičnu ploču i ožičite Arduino kablovima kroz matičnu ploču ili instalirajte mali otvor na stražnjoj strani LCD zaslona.

Za prvu gradnju koristili smo matičnu ploču (vidi sliku). Za drugu gradnju odlučili smo potrošiti više vremena na stvaranje ploče za razbijanje. Funkcionalnost se ne mijenja, ali ima manje žica i prekid je skriven ispod LCD zaslona.

Ako se odlučite za ploču za razbijanje, uzmite prototipnu ploču 8x6 i izrežite je kao što je prikazano na slici. Veći dio će se koristiti za probijanje, a manji za stvaranje napajanja.

Lemite Arduino Nano na ovu proto ploču.

Korak 8: Ožičenje veza

Ožičenje veza
Ožičenje veza
Ožičenje veza
Ožičenje veza
Ožičenje veza
Ožičenje veza

Pripremite neke kabele i ožičite svoje postavke, prekidače i veze s Nano prema dijagramu.

Otkad sam počeo koristiti Ethernet kablove sa upletenim paricama - zaboravio sam na glavobolju gdje mogu nabaviti žice za svoje projekte. Različite su boje i višejezgrene pa se ne lome lako. Jedino o čemu morate voditi računa pri radu s njima je da lemljenje mora biti vrlo brzo kako ne biste zapalili izolaciju.

Primijetite na drugoj slici kako su otpornici od 100 ohma ožičeni za povezivanje sa zvučnicima.

Nekoliko napomena o vezama:

  • Crno/bijelo kontrolno dugme je spojeno sa pinova D2/3 direktno na masu jer se u Nano-u koriste unutrašnji pull-up otpornici.
  • A4/5 su spojeni na I2C SDA/SCL pinove. Ovo je potrebno za LCD I2C modul.
  • Zvučnici moraju biti povezani na D10/11 jer su ti pinovi omogućeni PWM.
  • Preporučuje se dodavanje male bakrene žice kao uzemljenja za lakše povezivanje svih uzemljenih žica (bit će ih oko 5).

Korak 9: Ožičenje dugmadi

Ožičenje dugmadi
Ožičenje dugmadi
Ožičenje dugmadi
Ožičenje dugmadi

Svi arkadni gumbi povezani su s jednim pinom A1 kroz niz otpornika. A1 je postavljen kao Interno analogno povlačenje. Ovo je jedna od onih malo poznatih značajki Arduina koja nam je pomogla da uštedimo na broju žica koje idu do gumba.

Dakle, postavljanje ide ovako: od A1 do prvog dugmeta kroz 1k otpornik. Od button1 do button2 do 10k. Od dugmeta2 do dugmeta3 do 10k i od dugmeta3 do dugmeta4 do 10k. Svako dugme na "zatvori" stanje kratkim spojevima na tlo. Budući da na svakom gumbu za LED diode već postoji uzemljenje, drugi pin svakog prekidača spojen je na uzemljenje sa LED -a. Pogledajte shemu da biste razumjeli ožičenje.

U tom trenutku, priključivanje Mini-USB kabela u Arduino Nano trebalo bi vam omogućiti da igrate igru nakon postavljanja skice. Sve što vam je potrebno je napajanje kako biste igru učinili prenosivom.

Korak 10: Ugradnja baterija

Ugradnja baterija
Ugradnja baterija

Koristio sam dvije reciklirane ćelije 18650 iz istrošenih baterija za prijenosno računalo. Ovo su oni manjeg kapaciteta (oko 600mAh) koje nisam želio koristiti za aplikacije s većim opterećenjem. Uređaj zapravo ne troši toliko energije pa bi to trebalo biti dovoljno za igru danima.

Baterije su ugrađene u dvostruki držač baterija 18650, a postoji i konektor za jednostavno priključivanje na izvor napajanja.

Korak 11: Instaliranje USB utičnice

Instaliranje USB utičnice
Instaliranje USB utičnice
Instaliranje USB utičnice
Instaliranje USB utičnice
Instaliranje USB utičnice
Instaliranje USB utičnice

Igra bi trebala moći puniti i nadograđivati firmver bez demontaže. Tako sam izbušio jedan od blokova kako bih sakrio Micro-USB konektor.

Da bih proširio USB sa zidanog zida na Arduino Nano, uzeo sam Mini-USB kabel i odrezao USB-A kraj (veliki USB konektor) i ogolio žice. U mom slučaju, crveno/crno je bilo napajanje, a bijelo/zeleno D +/- veze.

D +/- potrebno je zalemiti na Micro-USB prekidač. 5V i uzemljenje (crveno/crno) moraju proći kroz napajanje.

Zašto je odabir Micro-USB prekidača ako Nano koristi Mini-USB? Jednostavno zato što je Micro-USB svuda u našim domaćinstvima-koristi se za punjenje telefona i drugih uređaja. Tako ćete moći napuniti igru i nadograditi firmver telefonskim kabelom:-)

Korak 12: Uključivanje izvora napajanja

Izrada izvora napajanja
Izrada izvora napajanja
Izrada izvora napajanja
Izrada izvora napajanja
Izrada izvora napajanja
Izrada izvora napajanja

Uzeo sam manju prototipnu ploču i lemio je na nju punjač i zaštitni modul TP4056, kao i pojačivač snage 5V.

Ulaz u TP4056 ide iz Micro-USB utičnice. Kabel baterije priključen je na pinove TP4056 označene kao B +/-. Igle označene kao OUT +/- idu u prekidač za navigaciju. S prekidača za ljuljanje +/- veze ulaze u 5V pojačivački modul, a s izlaznog pojačala povezane su crvene/crne žice s ogoljenog USB kabela.

Pogledajte dijagram kako biste razumjeli ožičenje.

Korak 13: Epoksidni mikro USB prekidač

Epoksidni mikro USB prekidač
Epoksidni mikro USB prekidač
Epoksidni mikro USB prekidač
Epoksidni mikro USB prekidač

Koristio sam epoksid da popravim Micro-USB prekid u Lego kocki. Nakon što se stvrdne, utičnica će biti čvršća od one u mobilnim telefonima pa će djeca moći napuniti igru i neće se slomiti.

Za ovaj dio preporučujem upotrebu epoksidne smole koja se brzo stvrdnjava. Ako ga nemate, dodajte još malo učvršćivača u smolu i ostavite da odstoji neko vrijeme.

Korak 14: Instalirajte prekidač za navigaciju, spojite kabelski svežanj

Ugradite prekidač za ljuljanje, spojite kabelski svežanj
Ugradite prekidač za ljuljanje, spojite kabelski svežanj
Ugradite prekidač za ljuljanje, spojite kabelski svežanj
Ugradite prekidač za ljuljanje, spojite kabelski svežanj
Ugradite prekidač za ljuljanje, spojite kabelski svežanj
Ugradite prekidač za ljuljanje, spojite kabelski svežanj

Ovaj prekidač je ogroman. Dizajniran je za mrežni napon 250V. No, i dalje sam koristio ovaj model jer izgleda odlično i savršeno se uklapa u standardna Lego City vrata. Zato sam umetnuo prekidač u montažnu ploču, a zatim pričvrstio ploču na zid od opeke pomoću 2 vijka (zidovi su prethodno izbušeni).

Također je sada mogao biti konačno instaliran uprtač, kao i Micro-USB izboj koji je epoksidiran u Lego ciglu. Obratite pažnju na to kako su neke dodatne cigle korištene za pričvršćivanje komponenti na podlogu.

Korak 15: Zatvaranje poklopca

Zatvaranje poklopca
Zatvaranje poklopca

umetnite Mini-USB kabel u Arduino Nano koji je pričvršćen na gornji poklopac i zatvorite poklopac.

Izbušio sam 4 rupe u zidovima i pomoću 4 vijka pričvrstio vrh za kutiju.

Korak 16: Kodeks

Kodeks
Kodeks

Prvu verziju igre sam napisao, a nakon toga nove 4 verzije mog prijatelja Alexa koji je dodao još 4 igre i očistio kod do savršenstva. Za zvukove smo koristili i rad Reyboza - nivo zvuka proizveden korištenjem ovog koda je nevjerojatan u usporedbi s onim što standardno dolazi pomoću Tonu biblioteke Arduina.

Kao što je spomenuto, kôd je optimiziran mjesecima nakon opsežnog QA testiranja od strane djece, a trenutno smo učitali verziju 4 na GitHub.

Najnovija verzija izvornog koda:

Sve što trebate učiniti je instalirati 1602 I2C LCD biblioteku (dostupnu u Arduino IDE upravitelju biblioteke), a zatim učitati naš kôd.

Prvo postavite gumb-calibration.ino i na komadu papira zabilježite vrijednosti koje proizvodi svako arkadno dugme. Ova skripta će također izbrisati EEPROM tako da se najbolji rezultati ponište.

Nakon toga u Game-Settings.h mijenjate vrijednosti gumba koje ste kalibrirali i učitavate glavnu Lego-Games-Box.ino datoteku i možete početi igrati (pod uvjetom da ste sve povezali prema gore navedenoj shemi).

Napomena: ako ovu igru radite za djecu, uklonite u Game-settings.h posljednji unos iz String GameTitle = {"Memory Game", "Reaction Game", "Tournament Game", "Melody Game", " Nuklearna ratna igra "}; Ovaj zadnji unos ima pravila prema kojima svaki igrač bira neprijatelje i može biti previše neprijateljski raspoložen prema djeci.

Korak 17: Detaljan videozapis s uputama

U slučaju da vam je lakše gledati videozapis umjesto čitanja uputa, evo video verzije ove verzije.

Korak 18: Pravila igre

Image
Image

Trenutno je implementirano 5 igara. Ako imate više ideja o igrama koje bi se mogle stvoriti pomoću ovog okvira - obavijestite nas u komentarima. Ukratko ću pregledati svaku igru objašnjavajući pravila i kako igrati.

Okrenite prekidač za navigaciju sa strane da biste uključili Lego Arcade Games Box. Sve igre popraćene su zvukovima iz nostalgične igre Mario. Prilikom pokretanja trebali biste čuti melodiju pokretanja igre Mario.

Nakon pokretanja, na LCD ekranu ćete vidjeti igru koja je sada odabrana. Za promjenu igre pritisnite crno dugme.

Kada odlučite koju igru želite igrati, samo pritisnite bijelo dugme za početak.

Ako želite izaći iz igre koja je već pokrenuta - morate pritisnuti crno dugme.

Prilikom pokretanja možete isključiti zvukove (noćni način rada) pritiskom na crveno dugme.

Igra memorije (nalik "Simon-Says", slično igri Touch Me)

Pravila su dobro poznata i jednostavna. Igra vam prikazuje niz bilješki/svjetla i morate je ponoviti. Svaki put se dodaje još jedan ton/svetlo. Što duže preživljavate, bolje vam je pamćenje. Odlično je za treniranje kratkoročnog pamćenja djece i odraslih.

Reakcijska igra (slična igri Whack-a-Mole)

Morate biti dovoljno brzi da pritisnete svako dugme koje zasvijetli. Što duže igrate, tasteri se brže pale. Ovaj je odličan za treniranje reakcija djece i odraslih.

Takmičenje/Takmičarska igra (za 2-4 igrača)

Dobili ste 5 rundi. Svako mora pritisnuti svoje dugme jako brzo nakon što se da signal (melodija novčića iz Maria). Ko prvi pritisne dugme, pobjeđuje u rundi. Broj pobjeda se računa na kraju 5 rundi i proglašava se pobjednik.

Melody Game (Push and Play besplatni način rada za malu djecu i manje)

Ovaj je odličan za malu djecu - svira izmjenične melodije kada pritisnete i zadržite dugme. Nakon početnog testiranja s djecom shvatili smo da naš manji koji je imao 1 godinu zaista želi igrati, ali ne razumije KAKO. Pravila ove igre su - NEMA PRAVILA. Možete pritisnuti bilo koje dugme i ono će proizvesti zvukove.

Ratna igra (za 2-4 odrasle osobe)

Moj prijatelj Alex, koji je programirao slijedeće verzije ove kutije za igre, došao je na ideju za ovu igru tokom krize Trump/Kim o tome ko ima veće nuklearno dugme. Pravila zahtijevaju zaseban video za objašnjenje (možete ga pronaći ovdje i ovdje), ali ukratko, birate broj igrača na početku i tijekom svake runde svaka osoba bira svog neprijatelja. Nakon što je svako odabrao svog neprijatelja, projektili počinju letjeti. Onaj koji je izabran za neprijatelja ima nekoliko trenutaka da pritisne dugme za slanje projektila za raskrsnicu i spasi svoju zemlju. Runde se nastavljaju sve dok ne ostane samo jedna država.

Korak 19: Konačni rezultat

Final Result
Final Result
Final Result
Final Result
Final Result
Final Result

Mi smo 3 prijatelja koji su potrošili vrijeme na stvaranje igre za našu djecu. Zaista se nadamo da će vam se igra toliko svidjeti da ćete izgraditi vlastitu verziju prema ovim uputama. Ako imate bilo kakvih pitanja ili prijedloga - postavite ih u komentarima.

Igra Životno takmičenje
Igra Životno takmičenje
Igra Životno takmičenje
Igra Životno takmičenje

Druga nagrada na takmičenju Game Life

Preporučuje se: