Taula de continguts:
- Pas 1: material
- Pas 2: disseny
- Pas 3: Muntatge electrònic
- Pas 4: Programació del joc
- Pas 5: proves i millores
Vídeo: Mastermind Star Wars amb Arduino MEGA: 5 passos (amb imatges)
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:12
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:
- Es poden repetir els colors
- Una llum blanca indica que heu aconseguit el color i la posició adequats
- Una llum violeta indica que heu colpejat el color però no la posició
- 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
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
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
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
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:
Tingueu en compte ATLAS - STAR WARS - Death Star II: 7 passos (amb imatges)
Tingueu en compte ATLAS - STAR WARS - Death Star II: construït a partir del model de plàstic Bandai Death Star II. Les funcions principals inclouen: ✅Efecte de so i llum ✅ Reproductor MP3 ✅ Comandament a distància infraroig ✅ Sensor de temperatura✅ Temporitzador de 3 minuts Blog: https://kwluk717.blogspot.com/2020/12/be-aware-of-atlas-star-wars- estrella de la mort
Il·luminat LED Holocron (Star Wars): Made in Fusion 360: 18 passos (amb imatges)
Il·luminat LED Holocron (Star Wars): Made in Fusion 360: estic molt encantat de treballar amb Fusion 360 per crear alguna cosa bonic, especialment per fer alguna cosa amb il·luminació. Per què no fer un projecte combinant la pel·lícula de Star Wars amb la il·luminació? Per tant, vaig decidir fer aquest projecte instructiu
Pòster Light-Up R2D2 Star Wars: 15 passos (amb imatges)
Pòster Light-Up R2D2 Star Wars: feu un pòster senzill de la pel·lícula i afegiu llum i interactivitat. Qualsevol pòster amb un caràcter il·luminat mereix aportar llum de la vida real. Feu que passi amb només uns quants materials. En un tres i no res la vostra habitació serà l'enveja de tots els amants del cinema
Q5 a Star Wars Themed Astromech Driod: 10 passos (amb imatges)
P5 un Star Wars Theme Astromech Driod: Així que sou fan de l'Univers Star Wars i voleu construir la vostra pròpia representació d'un Astomech Driod en funcionament. Si no us preocupa la precisió, sinó que només voleu alguna cosa que sembli bo i que funcioni, aquest instructiu és per a vosaltres. Per mar
Rellotge de pirografia de Star Wars: 5 passos (amb imatges)
Rellotge de pirografia de Star Wars: podeu animar la vostra paret fàcilment amb un rellotge dissenyat. Tot el que necessiteu és un tros de fusta, un rellotge i soldador, un trepant i creativitat