Indholdsfortegnelse:

Mastermind Star Wars With Arduino MEGA: 5 trin (med billeder)
Mastermind Star Wars With Arduino MEGA: 5 trin (med billeder)

Video: Mastermind Star Wars With Arduino MEGA: 5 trin (med billeder)

Video: Mastermind Star Wars With Arduino MEGA: 5 trin (med billeder)
Video: Arduino MASTERCLASS | Full Programming Workshop in 90 Minutes! 2024, Juli
Anonim
Mastermind Star Wars Med Arduino MEGA
Mastermind Star Wars Med Arduino MEGA
Mastermind Star Wars Med Arduino MEGA
Mastermind Star Wars Med Arduino MEGA
Mastermind Star Wars Med Arduino MEGA
Mastermind Star Wars Med Arduino MEGA

Det er ugunstige tider for oprør. Selvom Death Star er blevet ødelagt, bruger de kejserlige tropper gratis hardware og Arduino som et hemmeligt våben.

Det er fordelen ved gratis teknologier, enhver person (enten god eller dårlig) kan bruge dem.

I en skjult base placeret på planeten Anoat bygger de en 3D -printer, der er i stand til at replikere Imperial Destroyer.

Den eneste løsning for at besejre imperiet er, at en gruppe oprørere under kommando af Luke Skycuartielles og Obi-Wan Banzi, besejrer de kejserlige tropper og får nøglen, der giver adgang til planerne om at ødelægge det hemmelige våben.

Denne nøgle består af 4 farver, og du har 10 forsøg på at få den dechiffreret. Der er kun fire regler:

  1. Farverne kan gentages
  2. Et hvidt lys angiver, at du har ramt den rigtige farve og position
  3. Et violet lys angiver, at du har ramt farven, men ikke positionen
  4. Hvis der ikke er noget lys, har du ikke gættet farven eller positionen.

Du skal skynde dig, da den onde Darth Ballmer i den anden ekstreme vil forsøge at få nøglen foran dig. I så fald vil du ikke kunne finde ud af, hvad det er, og du vil ikke have adgang til planerne for det hemmelige våben. Din mission vil have mislykkedes.

Lille Padawan, må kraften ledsage dig til at tyde nøglen og dermed kunne redde galaksen.

Trin 1: Materiale

Materiale
Materiale

Materialet, der er nødvendigt for at lave Mastermind Star Wars med Arduino, er opdelt i tre dele.

  • Tømrerarbejde og papirvarer til realisering af boligen
  • Komponenter, kabler og Arduino til al elektronik
  • Værktøjer

Lad os starte med tømrerarbejde. Følgende materiale er nødvendigt:

  • 2 x MDF -plader fra 90x60
  • 1 x grøntsagspapirark

I den elektroniske del er følgende materiale nødvendigt:

  • 1 x NeoPixel Strip 5 meter
  • 1 x Arduino MEGA
  • 1 x kondensator 100 µF
  • 4 x modstand 470 Ω
  • 5 x sort knap
  • 5 x hvid knap
  • 1 x effekt 5V-5A
  • 1 x strøm 5V-2A

Endelig har vi i værktøjsdelen brugt følgende:

  • Varm silikonepistol
  • Laser CNC de MxN
  • Elektrisk svejser
  • Svejser tin

Trin 2: Design

Design
Design
Design
Design
Design
Design

En af de vigtigste dele af dette projekt er husets design. Den består af 3 stykker skåret med laserskærer.

Basen er taget fra et 90x60 stykke i MDF. Tag højde for materialets dimensioner, da du skal bruge en laserskærer stor nok.

Du kan finde SVG -filen i slutningen af dette trin.

Topdækslet er det, der indeholder de tematiske tegninger af Star Wars samt hullerne til både knapperne og pixel.

Den har samme form som basen.

Sidevæggene er fremstillet ved hjælp af en laserskæringsteknik kaldet kerf. Dette gør det muligt for materialet at være fleksibelt. For at placere væggene er nogle stykker designet til at tjene som en vejledning.

Endelig har hver NeoPixel -matrix et gitter, hvor NeoPixel på den ene side er fastgjort, og på den anden side er et vegetabilsk papir fastgjort for at sprede NeoPixels lys. Her har du alle SVG -filer, så du selv kan klippe og fremstille dem.

Trin 3: Elektronisk samling

Elektronisk samling
Elektronisk samling
Elektronisk samling
Elektronisk samling
Elektronisk samling
Elektronisk samling
Elektronisk samling
Elektronisk samling

Den første fase af samlingen af elektronikken var at skære strimlen på 5 meter NeoPixel i 8 strimler på 10 pixels og 4 separate pixels for hver spiller. I alt 84 pixels pr. Spiller. På den ene side samles de 10 strimler efterfulgt af et andet, der efterlader nok kabel til at sætte hver strimmel parallelt med et par millimeter. Denne matrix af pixels vil vise hvert spil og resultatet. 4 pixels viser tastens fire farver, og de andre fire pixels viser resultatet. Jeg minder dig om, at vi derfor skal:

  • Hvis pixlen er hvid, har den været vellykket position og farve.
  • Hvis pixlen er violet, er farven korrekt, men ikke placeringen.
  • Hvis pixlen er slukket, er hverken farve eller position korrekt.

En af de fejl, vi har begået, er strømledninger og GND. Det kunne have været enklere, men vi indså det senere. Datakablet skal følge en ordre, da nummereringen af pixels går fra bund til top.

På den anden side har vi 4 separate pixels, der skal forbindes mellem dem. Disse pixels viser os den farve, vi vælger med knapperne.

Serieforbundet til hver strimmel er en 470Ω modstand for at beskytte dataene. Datakablet for hver pixelstrimmel er forbundet til en digital pin. Stifterne valgt i Arduino MEGA er 6, 7, 8 og 9.

For eksempel er 6 og 7 for spiller 1 og 8 og 9 for spiller 2.

Knapperne, som vi har brugt, er de typiske knapper på arkademaskinerne. Vi troede, de ville se godt ud, og sådan var det.

Andre trykknapper kan bruges, men det skal tages i betragtning, at hvis de er mindre eller større, skal DXF -filen ændres, før den skæres med laser -CNC.

For at skelne spillerne er nogle knapper hvide og andre er sorte.

Hver spiller har 4 knapper op og 1 knap ned. De 4 øverste knapper tjener til at vælge farven på hver position af tasten.

Den nederste knap bruges til at validere, det vil sige, at den sender nøglen til at blive vist i pixelmatrixen med den relevante verifikation af, om farven og positionen har været vellykket.

Inden vi samlede alt lodde vi alle kablerne. Så du skal bruge meget kabel. Det vil afhænge af spillets størrelse. I vores tilfælde har det været ret stort.

For eksempel kan du bruge et ethernet -kabel til at åbne det og tage de interne kabler. Det er en god løsning. Prøv at have dem så velordnede som muligt, for så vil det være nødvendigt at lave forbindelserne med Arduino MEGA, som du ser i det elektriske diagram.

Når du først er soldat, før du monterer det, skal du prøve det. Det er testet, fordi når det er installeret i huset, vil det sidde fast med varm silikone, og hvis det mislykkes, vil det være kompliceret, så tag det af. For at placere pixelmatricerne er der designet et gitter med de samme dimensioner som låget på låget, hvor pixlerne på den ene side sidder fast og på den anden side et vegetabilsk papir.

Dette papir diffunderer lyset for hver pixel, hvilket giver en meget smukkere effekt. Derefter klæber denne struktur til den øverste del indeni. Det er lidt kompliceret, men med omhu opnås et godt resultat.

Fodringen har været noget kompliceret. I princippet og set på ordningen skulle vi kun bruge en enkelt oplader. Efter de første tests og NeoPixel -forbruget så vi imidlertid, at det ville tage to opladere.

Hver pixel kan maksimalt forbruge 60 mA. Hvis vi gange med 168 pixels, får du et forbrug på cirka 10 A.

Selvom dette ville være i værste tilfælde. I programmeringen har vi allerede taget højde for ikke at maksimere intensiteten af NeoPixel.

Vi når derfor ikke engang 50%, med en 5V og 5A oplader er mere end nok.

På den anden side har Arduino MEGA en separat oplader, der kan tilsluttes via jackstikket eller via USB -porten. En mulig forbedring ville være at have en enkelt oplader til hele systemet.

Trin 4: Spilprogrammering

Programmering af spil
Programmering af spil
Programmering af spil
Programmering af spil

Programmeringen er udført ved hjælp af to biblioteker: OneButton og Adafruit_NeoPixel.

OneButton -biblioteket gør det muligt at styre knapperne på en enkel måde med afbrydelser.

Adafruit_NeoPixel -biblioteket har givet os mulighed for at styre NeoPixel -stripen på en meget enkel måde.

Programmeringen er baseret på forskellige tilstande, hvor softwareprogrammet kan være:

Starter spillet. Stat = 0

I denne tilstand startes spillet, og der er en række lys i begge spillere, der angiver, at spillet kommer til at starte. Under denne tilstand reagerer trykknapperne ikke.

Oprindelig tilstand. Stat = 1

I den oprindelige tilstand skal du vente på, at en af de to spillere skal dobbeltklikke på bekræftelsesknappen (den femte knap). Denne handling gør det muligt at starte spillet.

Forberedelse af spillet. Stat = 2

I tilstanden forberedelse af spillet nulstilles alle variablerne, og det tilfældige udvalg af farver til nøglen lanceres.

Play State = 3

I tilstand 3 starter spillet. Hver spiller vælger en nøgle med knapperne og validerer den ved at klikke på bekræftelsesknappen. Denne tilstand kan ende på to måder: når en spiller opdager nøglen, eller når de to spillere bruger de 10 forsøg, de har.

Én vinderstat = 4

Hvis en spiller vinder en grøn check vil blive vist på hans bræt og den vindende kombination og et rødt kryds på taberen.

Bundet spil. Stat = 5

I tilfælde af uafgjort vises intet på noget bræt og den vindende kombination på begge spillernes brætter.

Uanset om der er en vinder eller uafgjort i spillet, vil den næste tilstand være den første, der venter på et dobbeltklik.

Du kan finde al koden herunder. Det eneste der er på spansk:)

Trin 5: Test og forbedringer

Spillet testes ved at spille. I videoen ovenfor kan du se et komplet spil.

Herfra kan vi tænke på flere forbedringer, der kan føjes til Mastermind Star Wars med Arduino.

Dernæst lister jeg dem.

  • At kunne spille på skift med i alt 10 forsøg for de to spillere. Når en spiller prøver en nøgle, vil den anden spiller se spillet.
  • En individuel spiltilstand, så kun en person kan spille.
  • Tilstand hver med sin nøgle.
  • Inkluder en OLED -skærm.
  • Brug en enkelt oplader til alt.
  • Tilslut til en NodeMCU ESP8266

Jeg er sikker på, at mange mennesker vil komme med mange forbedringer. Jeg afventer kommentarerne herunder.

Og må kraften være med dig.

Anbefalede: