Kazalo:

Mastermind Star Wars z Arduino MEGA: 5 korakov (s slikami)
Mastermind Star Wars z Arduino MEGA: 5 korakov (s slikami)

Video: Mastermind Star Wars z Arduino MEGA: 5 korakov (s slikami)

Video: Mastermind Star Wars z Arduino MEGA: 5 korakov (s slikami)
Video: Приказ комиссара. Warhammer 40k 2024, Julij
Anonim
Mastermind Star Wars z Arduino MEGA
Mastermind Star Wars z Arduino MEGA
Mastermind Star Wars z Arduino MEGA
Mastermind Star Wars z Arduino MEGA
Mastermind Star Wars z Arduino MEGA
Mastermind Star Wars z Arduino MEGA

To so neugodni časi za upor. Čeprav je bila Zvezda smrti uničena, cesarske čete uporabljajo brezplačno strojno opremo in Arduino kot tajno orožje.

To je prednost brezplačnih tehnologij, ki jih lahko uporablja vsaka oseba (dobra ali slaba).

V skriti bazi, ki se nahaja na planetu Anoat, gradijo 3D tiskalnik, ki je sposoben posnemati Imperial Destroyer.

Edina rešitev za poraz Imperija je, da skupina upornikov pod poveljstvom Luke Skycuartiellesa in Obi-Wan Banzi premaga cesarske čete in dobi ključ, ki bo omogočil dostop do načrtov za uničenje tajnega orožja.

Ta ključ je sestavljen iz 4 barv in imate 10 poskusov, da ga dešifrirate. Obstajajo le štiri pravila:

  1. Barve se lahko ponovijo
  2. Bela lučka označuje, da ste izbrali pravo barvo in položaj
  3. Vijolična lučka označuje, da ste zadeli barvo, ne pa tudi položaja
  4. Če ni svetlobe, niste uganili barve ali položaja.

Pohiteti morate, saj bo v drugi skrajnosti zlobni Darth Ballmer poskušal ključ dobiti pred vami. V tem primeru ne boste mogli ugotoviti, kaj je in ne boste imeli dostopa do načrtov skrivnega orožja. Vaše poslanstvo bo neuspešno.

Mali Padawan, naj vas spremlja sila, da dešifrirate ključ in tako rešite Galaksijo.

1. korak: Material

Material
Material

Material, potreben za izdelavo Mastermind Star Wars z Arduinom, je razdeljen na tri dele.

  • Mizarstvo in pisalne potrebščine za realizacijo stanovanja
  • Komponente, kabli in Arduino za vso elektroniko
  • Orodja

Začnimo z mizarstvom. Potreben je naslednji material:

  • 2 x MDF plošče 90x60
  • 1 x list zelenjavnega papirja

V elektronskem delu je potrebno naslednje gradivo:

  • 1 x NeoPixel trak 5 metrov
  • 1 x Arduino MEGA
  • 1 x kondenzator 100 µF
  • 4 x upor 470 Ω
  • 5 x črni gumb
  • 5 x bel gumb
  • 1 x napajanje 5V-5A
  • 1 x napajanje 5V-2A

Na koncu smo v orodnem delu uporabili naslednje:

  • Silikonska pištola vroča
  • Laserski CNC de MxN
  • Električni varilec
  • Varilni kositer

2. korak: Oblikovanje

Oblikovanje
Oblikovanje
Oblikovanje
Oblikovanje
Oblikovanje
Oblikovanje

Eden najpomembnejših delov tega projekta je zasnova ohišja. Sestavljen je iz 3 kosov, razrezanih z laserskim rezalnikom.

Osnova je vzeta iz kosa 90x60 v MDF. Upoštevajte dimenzije materiala, saj boste potrebovali dovolj velik laserski rezalnik.

Datoteko SVG najdete na koncu tega koraka.

Zgornji pokrov je tisti, ki vsebuje tematske risbe Vojne zvezd ter luknje za gumbe in slikovne pike.

Ima enako obliko kot osnova.

Stranske stene so bile narejene s tehniko laserskega rezanja, imenovane kerf. To omogoča prilagodljivost materiala. Za postavitev sten so bili nekateri kosi zasnovani kot vodilo.

Končno ima vsaka matrika NeoPixel mrežo, kjer so na eni strani pritrjeni NeoPixel, na drugi strani pa je pritrjen rastlinski papir, ki razprši svetlobo NeoPixela. Tukaj imate vse datoteke SVG, da jih lahko sami izrežete in izdelate.

Korak: Elektronska montaža

Elektronski sklop
Elektronski sklop
Elektronski sklop
Elektronski sklop
Elektronski sklop
Elektronski sklop
Elektronski sklop
Elektronski sklop

Prva faza sestavljanja elektronike je bila razrezati trak 5 metrov NeoPixela na 8 trakov po 10 slikovnih pik in 4 ločene slikovne pike za vsakega igralca. Skupaj 84 pik na igralca. Po eni strani je 10 trakov sestavljenih eden za drugim, tako da ostane dovolj kabla, da je vsak trak vzporeden na nekaj milimetrov. Ta matrika slikovnih pik bo prikazala vsako igro in rezultat. 4 slikovne pike prikazujejo štiri barve tipke, ostale štiri slikovne pike pa rezultat. Spomnim vas, da moramo posledično:

  • Če je piksla bela, sta bila položaj in barva uspešna.
  • Če je slikovna pika vijolična, je barva pravilna, položaj pa ne.
  • Če je slikovna pika izklopljena, niti barva niti položaj nista pravilna.

Ena od napak, ki smo jih naredili, je ožičenje in GND. Lahko bi bilo enostavneje, vendar smo to spoznali kasneje. Podatkovni kabel mora slediti vrstnemu redu, saj je oštevilčenje slikovnih pik od spodaj navzgor.

Po drugi strani pa imamo med seboj povezane 4 ločene slikovne pike. Te slikovne pike nam bodo pokazale barvo, ki jo izbiramo z gumbi.

Na vsak trak je zaporedno povezan 470Ω upor za zaščito podatkov. Podatkovni kabel vsakega traku slikovnih pik je povezan z digitalnim zatičem. Zatiči, izbrani v Arduino MEGA, so 6, 7, 8 in 9.

Na primer, 6 in 7 sta za igralca 1, 8 in 9 za igralca 2.

Gumbi, ki smo jih uporabili, so tipični gumbi arkadnih strojev. Mislili smo, da bodo videti dobro in tako je bilo.

Uporabljajo se lahko tudi drugi gumbi, vendar je treba upoštevati, da je treba datoteko DXF pred rezanjem z laserskim CNC spremeniti, če so manjše ali večje.

Za razlikovanje igralcev so nekateri gumbi beli, drugi pa črni.

Vsak igralec ima 4 gumbe navzgor in 1 gumb navzdol. 4 zgornji gumbi služijo za izbiro barve vsakega položaja tipke.

Spodnji gumb se uporablja za preverjanje, to pomeni, da pošlje ključ, ki se prikaže v matriki slikovnih pik, z ustreznim preverjanjem, ali sta bila barva in položaj uspešna.

Preden smo vse sestavili, smo spajkali vse kable. Zato boste potrebovali veliko kabla. Odvisno bo od velikosti igre. V našem primeru je bil precej velik.

Na primer, lahko z ethernetnim kablom odprete in vzamete notranje kable. To je dobra rešitev. Poskusite jih narediti čim bolj urejene, ker bo potem potrebno vzpostaviti povezave z Arduino MEGA, kot vidite na električnem diagramu.

Ko ste vsi vojak, preden ga namestite, morate poskusiti. Preizkušeno je, ker se ob vgradnji v ohišje zatakne z vročim silikonom in če ne uspe, bo zapleteno, potem ga odstranite. Za postavitev matric slikovnih pik je bila zasnovana mreža enakih dimenzij kot mreža pokrova, kjer so na eni strani piksli zataknjeni, na drugi strani pa rastlinski papir.

Ta papir razprši svetlobo vsake piksle in daje veliko lepši učinek. Nato se ta struktura drži zgornjega dela znotraj. To je nekoliko zapleteno, a z nego je dosežen dober rezultat.

Hranjenje je bilo nekoliko zapleteno. Načeloma in glede na shemo smo nameravali uporabiti samo en polnilec. Vendar smo po prvih testih in porabi NeoPixela videli, da bosta potrebovala dva polnilnika.

Vsak piksel lahko porabi največ 60 mA. Če pomnožimo s 168 slikovnimi pikami, dobimo porabo približno 10 A.

Čeprav bi bilo to v najslabšem primeru. Pri programiranju smo že upoštevali, da ne povečamo intenzivnosti NeoPixela.

Ne dosežemo niti 50%, zato je s polnilnikom 5V in 5A več kot dovolj.

Po drugi strani ima Arduino MEGA ločen polnilnik, ki ga je mogoče priključiti prek priključka za vtičnico ali prek vrat USB. Ena od možnih izboljšav bi bila enoten polnilnik za celoten sistem.

4. korak: programiranje iger

Programiranje iger
Programiranje iger
Programiranje iger
Programiranje iger

Programiranje je potekalo z dvema knjižnicama: OneButton in Adafruit_NeoPixel.

Knjižnica OneButton omogoča preprost nadzor nad gumbi s prekinitvami.

Knjižnica Adafruit_NeoPixel nam je omogočila, da nadzorujemo trak NeoPixel na zelo preprost način.

Programiranje temelji na različnih stanjih, v katerih je lahko program:

Začetek igre. Stanje = 0

V tem stanju se igra zažene in v obeh igralcih je zaporedje lučk, ki označujejo, da se bo igra začela. V tem stanju se gumbi ne odzivajo.

Začetno stanje. Stanje = 1

V začetnem stanju počakajte, da eden od dveh igralcev dvakrat klikne na potrditveni gumb (peti gumb). To dejanje bo omogočilo začetek igre.

Priprava igre. Stanje = 2

V času priprave igre se vse spremenljivke ponastavijo in sproži se naključna izbira barv za ključ.

Stanje igre = 3

V stanju 3 se igra začne. Vsak igralec izbere ključ z gumbi in ga potrdi s klikom na gumb za potrditev. To stanje se lahko konča na dva načina: ko igralec odkrije ključ ali ko igralca porabita 10 poskusov, ki ju imata.

Ena zmagovalna država = 4

Če igralec zmaga, bo na njegovi deski prikazan zeleni ček, zmagovalna kombinacija in rdeči križ na poražencu.

Vezana igra. Stanje = 5

V primeru neodločenega izida ni nič prikazano na kateri koli tabli, zmagovalna kombinacija pa na deskah obeh igralcev.

Ne glede na to, ali je v igri zmagovalec ali neodločeno, bo naslednje stanje prvo, ki čaka na dvojni klik.

Vse kode najdete spodaj. Edino kar je v španščini:)

5. korak: Preizkušanje in izboljšave

Igra se preizkuša z igranjem. V zgornjem videu si lahko ogledate celotno igro.

Od tu si lahko omislimo več izboljšav, ki jih je mogoče dodati v Mastermind Star Wars z Arduinom.

Nato jih naštejem.

  • Da lahko igrata izmenično s skupno 10 poskusi za oba igralca. Ko igralec poskusi s ključem, bo drugi igralec videl igro.
  • Posamezen način igre, tako da lahko igra samo ena oseba.
  • Način vsakega s svojim ključem.
  • Vključite zaslon OLED.
  • Za vse uporabite en polnilec.
  • Povežite se z NodeMCU ESP8266

Prepričan sem, da bo marsikdo prišel do številnih izboljšav. Čakam na spodnje komentarje.

In naj bo sila z vami.

Priporočena: