Taula de continguts:

Mastermind Star Wars amb Arduino MEGA: 5 passos (amb imatges)
Mastermind Star Wars amb Arduino MEGA: 5 passos (amb imatges)

Vídeo: Mastermind Star Wars amb Arduino MEGA: 5 passos (amb imatges)

Vídeo: Mastermind Star Wars amb Arduino MEGA: 5 passos (amb imatges)
Vídeo: Indian or American - Sundar Pichai . #shorts #sundarpichai 2024, Juliol
Anonim
Mastermind Star Wars Amb Arduino MEGA
Mastermind Star Wars Amb Arduino MEGA
Mastermind Star Wars Amb Arduino MEGA
Mastermind Star Wars Amb Arduino MEGA
Mastermind Star Wars Amb Arduino MEGA
Mastermind Star Wars Amb Arduino MEGA

Són temps adversos per a la rebel·lió. Tot i que l'Estrella de la Mort ha estat destruïda, les tropes imperials utilitzen maquinari gratuït i Arduino com a arma secreta.

Aquest és l'avantatge de les tecnologies lliures, que qualsevol persona (bona o dolenta) les pot utilitzar.

En una base oculta situada al planeta Anoat, estan construint una impressora 3D capaç de reproduir Imperial Destroyer.

L'única solució per derrotar l'Imperi és que un grup de rebels comandats per Luke Skycuartielles i Obi-Wan Banzi, derroten les tropes imperials i obtinguin la clau que donarà accés als plans per destruir l'arma secreta.

Aquesta clau consta de 4 colors i teniu 10 intents per desxifrar-la. Només hi ha quatre regles:

  1. Es poden repetir els colors
  2. Una llum blanca indica que heu aconseguit el color i la posició adequats
  3. Una llum violeta indica que heu colpejat el color però no la posició
  4. Si no hi ha llum, no heu endevinat el color ni la posició.

Cal afanyar-se, ja que, a l’altre extrem, el malvat Darth Ballmer intentarà aconseguir la clau abans que vostè. En aquest cas, no podreu esbrinar què és i no tindreu accés als plans de l'arma secreta. La vostra missió haurà fracassat.

Petit Padawan, que la força t’acompanyi a desxifrar la clau i així poder salvar la galàxia.

Pas 1: material

Material
Material

El material necessari per fer Mastermind Star Wars amb Arduino es divideix en tres parts.

  • Fusteria i papereria per a la realització de l'habitatge
  • Components, cables i Arduino per a tota electrònica
  • Eines

Comencem per la fusteria. Es necessita el següent material:

  • 2 x taules MDF de 90x60
  • 1 x full de paper vegetal

A la part electrònica, es necessita el següent material:

  • 1 x NeoPixel Strip de 5 metres
  • 1 x Arduino MEGA
  • 1 x condensador 100 µF
  • 4 x resistència 470 Ω
  • 5 botons negres
  • 5 botons blancs
  • 1 x potència 5V-5A
  • 1 x potència 5V-2A

Finalment, a la part d'eines hem utilitzat el següent:

  • Pistola de silicona calenta
  • Làser CNC de MxN
  • Soldador elèctric
  • Estany de soldador

Pas 2: disseny

Disseny
Disseny
Disseny
Disseny
Disseny
Disseny

Una de les parts més importants d’aquest projecte és el disseny de l’habitatge. Consta de 3 peces tallades amb tallador làser.

La base està extreta d'una peça de 90x60 en MDF. Tingueu en compte les dimensions del material, ja que necessitareu un tallador làser prou gran.

Podeu trobar el fitxer SVG al final d’aquest pas.

La portada superior és la que conté els dibuixos temàtics de Star Wars, així com els forats tant dels botons com dels píxels.

Té la mateixa forma que la base.

Les parets laterals s’han fet mitjançant una tècnica de tall per làser anomenada kerf. Això permet que el material sigui flexible. Per col·locar les parets, algunes peces han estat dissenyades per servir de guia.

Finalment, cada matriu de NeoPixel té una quadrícula on per un costat es fixen el NeoPixel i per altra banda es fixa un paper vegetal per difondre la llum del NeoPixel. Aquí teniu tots els fitxers SVG perquè els pugueu tallar i fabricar vosaltres mateixos.

Pas 3: Muntatge electrònic

Muntatge electrònic
Muntatge electrònic
Muntatge electrònic
Muntatge electrònic
Muntatge electrònic
Muntatge electrònic
Muntatge electrònic
Muntatge electrònic

La primera fase del muntatge de l’electrònica va ser tallar la tira de 5 metres de NeoPixel en 8 tires de 10 píxels i 4 píxels separats per a cada reproductor. En total 84 píxels per jugador. D'una banda, es munten les 10 tires, seguides d'una altra, deixant el cable suficient per posar cada tira paral·lela a uns pocs mil·límetres. Aquesta matriu de píxels servirà per mostrar cada jugada i el resultat. 4 píxels mostren els quatre colors de la tecla i els altres quatre píxels mostren el resultat. Us recordo que, com a resultat, hem de:

  • Si el píxel és blanc, la posició i el color han estat satisfactoris.
  • Si el píxel és violeta, el color és correcte però no la posició.
  • Si el píxel està apagat, ni el color ni la posició són correctes.

Un dels errors que hem comès és el cablejat d’alimentació i el GND. Podria haver estat més senzill, però ens vam adonar més tard. El cable de dades ha de seguir un ordre ja que la numeració dels píxels va de baix a dalt.

D'altra banda, tenim 4 píxels separats que s'han de connectar entre ells. Aquests píxels ens mostraran el color que estem seleccionant amb els botons.

Connectat en sèrie a cada tira hi ha una resistència de 470Ω per protegir les dades. El cable de dades de cada tira de píxels està connectat a un pin digital. Els pins seleccionats a l’Arduino MEGA són 6, 7, 8 i 9.

Per exemple, 6 i 7 són per al jugador 1 i 8 i 9 per al jugador 2.

Els botons que hem utilitzat són els botons típics de les màquines arcade. Vam pensar que quedarien bé i així va ser.

Es poden utilitzar altres polsadors, però cal tenir en compte que, si són més petits o més grans, s’ha de modificar el fitxer DXF abans de tallar amb el làser CNC.

Per distingir els jugadors, alguns botons són blancs i altres són negres.

Cada jugador té 4 botons cap amunt i 1 botó cap avall. Els 4 botons superiors serveixen per seleccionar el color de cada posició de la tecla.

El botó inferior s’utilitza per validar, és a dir, envia la clau perquè aparegui a la matriu de píxels amb la verificació pertinent de si el color i la posició han tingut èxit.

Abans de muntar-ho tot vam soldar tots els cables. Per tant, necessitareu molts cables. Dependrà de la mida del joc. En el nostre cas ha estat força gran.

Per exemple, podeu utilitzar un cable ethernet per obrir-lo i agafar els cables interns. És una bona solució. Proveu de tenir-los el més ordenats possibles perquè llavors caldrà fer les connexions amb l'Arduino MEGA tal com veieu al diagrama elèctric.

Un cop sou soldats abans de muntar-lo, heu de provar-ho. Es prova perquè, quan s’instal·la a la carcassa, s’enganxarà amb silicona calenta i, si falla, serà complicat, traieu-lo. Per col·locar les matrius de píxels, s’ha dissenyat una quadrícula amb les mateixes dimensions que la quadrícula de la tapa on en un costat s’enganxen els píxels i a l’altra cara un paper vegetal.

Aquest document difon la llum de cada píxel donant un efecte molt més bell. Aleshores, aquesta estructura s’adhereix a la part superior de l’interior. És una mica complicat, però amb molta cura s’aconsegueix un bon resultat.

L’alimentació ha estat una mica complicada. En principi i mirant l'esquema, només faríem servir un sol carregador. No obstant això, després de les primeres proves i el consum de NeoPixel vam veure que es necessitarien dos carregadors.

Cada píxel pot consumir un màxim de 60 mA. Si multipliquem per 168 píxels, obtindreu un consum d’uns 10 A.

Tot i que això seria en el pitjor dels casos. A la programació ja hem tingut en compte no maximitzar la intensitat del NeoPixel.

Per tant, ni arribem al 50%, amb un carregador de 5V i 5A és més que suficient.

D'altra banda, l'Arduino MEGA té un carregador independent que es pot connectar mitjançant el connector jack o mitjançant el port USB. Una possible millora seria tenir un únic carregador per a tot el sistema.

Pas 4: Programació del joc

Programació de jocs
Programació de jocs
Programació de jocs
Programació de jocs

La programació s'ha fet utilitzant dues llibreries: OneButton i Adafruit_NeoPixel.

La biblioteca OneButton permet controlar els botons d’una manera senzilla amb interrupcions.

La biblioteca Adafruit_NeoPixel ens ha permès controlar la tira NeoPixel d’una manera molt senzilla.

La programació es basa en diferents estats en què el programa pot ser:

Començant el joc. Estat = 0

En aquest estat, el joc s'inicia i hi ha una seqüència de llums en els dos jugadors que indiquen que el joc començarà. Durant aquest estat els polsadors no responen.

Estat inicial. Estat = 1

En l'estat inicial, espereu que un dels dos jugadors faci doble clic al botó de confirmació (el cinquè botó). Aquesta acció permetrà iniciar el joc.

Preparant el joc. Estat = 2

En l'estat de preparació del joc es restableixen totes les variables i s'inicia la selecció aleatòria de colors per a la tecla.

Estat de joc = 3

En l'estat 3 comença el joc. Cada jugador selecciona una tecla amb els botons i la valida fent clic al botó de confirmació. Aquest estat pot acabar de dues maneres: quan un jugador descobreix la clau o quan els dos jugadors consumeixen els 10 intents que tenen.

Un estat guanyador = 4

Si un jugador guanya un xec verd es mostrarà al seu tauler i la combinació guanyadora i una creu vermella al perdedor.

Joc empatat. Estat = 5

En cas d'empat, no es mostra res a cap tauler i la combinació guanyadora als taulers dels dos jugadors.

Tant si hi ha un guanyador com un empat en el joc, el següent estat serà l’inicial que espera un doble clic.

Podeu trobar tot el codi a continuació. L'únic que hi ha en castellà:)

Pas 5: proves i millores

El joc es prova jugant. Al vídeo anterior podeu veure un joc complet.

A partir d’aquí podem pensar en diverses millores que es poden afegir a Mastermind Star Wars amb Arduino.

A continuació els enumero.

  • Poder jugar per torns amb un total de 10 intents per als dos jugadors. Quan un jugador prova una tecla, l’altre jugador veurà la jugada.
  • Un mode de joc individual perquè només pugui jugar una persona.
  • Mode cadascun amb la seva clau.
  • Incloeu una pantalla OLED.
  • Utilitzeu un sol carregador per a tot.
  • Connecteu-vos a un NodeMCU ESP8266

Estic segur que molta gent arribarà amb moltes millores. Espero els comentaris a continuació.

I que la força us acompanyi.

Recomanat: