Taula de continguts:

Pumpktris: la carbassa del Tetris: 10 passos (amb imatges)
Pumpktris: la carbassa del Tetris: 10 passos (amb imatges)

Vídeo: Pumpktris: la carbassa del Tetris: 10 passos (amb imatges)

Vídeo: Pumpktris: la carbassa del Tetris: 10 passos (amb imatges)
Vídeo: BARCELÓ RESORT PORTINATX Ibiza, Spain 🇪🇸【4K Resort Tour & Review】STUNNING Setting! 2024, De novembre
Anonim
Pumpktris: la carbassa del Tetris
Pumpktris: la carbassa del Tetris

Qui vol cares i espelmes somrients quan puguis tenir una carbassa interactiva aquest Halloween? Juga el teu joc d’apilament de blocs preferit en una quadrícula de 8x16 tallada a la cara de la carbassa, il·luminada per LEDs i utilitzant la tija com a controlador. Es tracta d’un projecte moderadament avançat i que requereix experiència de soldadura i programació a l’entorn Arduino. Treballareu amb matèria orgànica i totes les seves peculiaritats inherents, de manera que és possible que hàgiu d’adaptar les mesures perquè s’adapti a la carbassa que utilitzeu.

Pas 1: materials necessaris

Materials requerits
Materials requerits
Materials requerits
Materials requerits

Per construir el vostre propi Pumpktris necessitareu el següent: Components

  • 128 LED de color ambre de 5 mm (els he fet servir de Mouser). Compra'n més per cobrir qualsevol error o prova. Tinc 140. L’ambre s’assembla més a la flama que hi hauria dins d’un fanal tradicional, però podeu utilitzar qualsevol color que vulgueu.
  • Microcontrolador Arduino
  • Tub retràctil de 1/16 "(peces de 11 peus o 256 1/2" de llarg)
  • Joystick Arcade amb un mànec extraïble (aquest de SparkFun em va funcionar bé)
  • 4 # 6 ancoratges de guix de niló Aquest no és el tipus de palanca, sinó el que sembla cargols amb fils profunds
  • 4 cargols de mitja polzada de llargada de la mateixa mida i tipus que acompanyaven els ancoratges de panells de guix. Els que vénen amb els ancoratges seran massa llargs.
  • Cargol de 6 mm x 50 mm (o qualsevol mida que coincideixi amb la muntura del mànec del joystick)
  • Femella d'acoblament de 6 mm (o la mida que sigui necessària per coincidir amb el pern anterior) Una femella d'acoblament sembla una femella normal, però fa aproximadament una polzada de llarg i s'utilitza per unir dos parabolts o trossos de barra roscada.

I per últim, però no menys important, necessitareu 1 carbassa. Només en necessiteu un, però us en recomano dos perquè en pugueu fer un per practicar la perforació i el tall. La vostra matriu LED cobrirà una àrea d'aproximadament 4 "d'ample per 8" d'alçada, de manera que desitgeu una carbassa amb una superfície tan llisa i plana com sigui possible perquè la matriu no s'envolti massa. Es podria utilitzar una carbassa d’escuma, però, on hi ha la màgia? No puc parlar de les tècniques de talla necessàries en una carbassa d’escuma. Eines i consumibles

  • Soldador
  • Soldar
  • Talladors de filferro
  • Decapants de filferro
  • Trepant elèctric
  • Serra mecànica
  • Ganivet X-Acto
  • Broca de 13/64"
  • Broca 1-1 / 8 "(he utilitzat una broca Forstner, però també podria funcionar una broca)
  • Tauler de nucli d'escuma de 1/4"

Pas 2: construir una matriu LED

Construint una matriu LED
Construint una matriu LED
Construint una matriu LED
Construint una matriu LED
Construint una matriu LED
Construint una matriu LED

Cada matriu està formada per 64 LEDs i 128 trossos de filferro. És més fàcil tallar i despullar tots els cables de cada matriu abans d’hora. Talla el 112 en trossos de 2,5 "i tira de 1/4" de cada extrem. Talla els 16 restants en trossos de 12 "i tira els dos extrems. Com més coherent pugui obtenir la longitud del fil, més fàcil serà la seva construcció i instal·lació.

Començareu construint setze cadenes de cables de margarides de vuit segments, cadascuna amb 7 fils curts i 1 llargs. Gireu cada extrem junt amb la següent peça i soldeu. Per connectar els cables als LED necessitareu una plantilla per subjectar-los. Dibuixeu una quadrícula de 8x8 amb espaiat de mitja polzada en un tros de tauler de nucli espuma de 1/4 "de gruix i, a continuació, utilitzeu un punxó per fer un forat lleugerament menor de diàmetre que el LED de cada intersecció. Tindreu 64 forats quan ja heu acabat. A la fila superior de forats introduïu 8 LED. El nucli d'escuma s'estendrà per ajustar-se als LED i els mantindrà fermament. Alineeu els LED de manera que la cama més llarga (el cable de l'ànode) estigui orientada cap a vosaltres. Comproveu-ho de nou, perquè si us equivoqueu, la matriu no funcionarà. Retireu cada cable d'ànode a aproximadament 1/4 "de longitud i esteneu-lo amb soldadura per facilitar la connexió dels cables. Tallar vuit trossos de tub termorretractable en segments de 1/2 ". Feu lliscar un tros de tub sobre la primera connexió de filferro, empenyeu-lo cap enrere perquè no es vegi afectat per la calor de la soldadura i, a continuació, soldeu la connexió de filferro a l'ànode LED. Feu lliscar el tub cap avall sobre la connexió un cop es refredi. Continueu fins al següent LED, repetint set vegades més el procés de lliscar sobre un tros de tub, soldant la connexió i baixant el tub sobre la junta. Quan tingueu un conjunt de vuit LED connectats tots els uns als altres, traieu-los de la plantilla i torneu a repetir-los per set files més, assegurant-vos que feu totes les connexions al cable d’ànode de cada LED. Podeu utilitzar la fila de la plantilla que sigui més fàcil d’arribar, ja que només esteu treballant amb una a la vegada. Després de soldar les vuit files, és hora d'unir les columnes i fer una matriu. Inseriu totes les cordes de LED a la plantilla que heu fet. Mantingueu el fil llarg al mateix Tallar i estanyar el cable del càtode de cada LED al primer col umn, igual que vau fer per construir la cadena. Agafeu una altra cadena de filferro i repetiu el procés de soldar-lo als LED, només que aquesta vegada el connecteu a 90 graus amb el primer conjunt de cables que heu fet. Mantingueu el cable llarg al mateix costat de la matriu. A mesura que completeu cada columna, traieu-la de la plantilla de nucli d'escuma i plegueu-la per facilitar l'accés a la següent columna. Quan hàgiu acabat, tindreu 64 LED units en 8 files i 8 columnes. Malauradament, cal repetir el procés de nou per a la segona matriu. Si necessiteu un descans, aneu als passos 3, 4 i 5 per treballar el codi i torneu-hi.

Pas 3: Control dels LEDs

Control dels LEDs
Control dels LEDs
Control dels LEDs
Control dels LEDs
Control dels LEDs
Control dels LEDs
Control dels LEDs
Control dels LEDs

Les matrius LED que heu fabricat estaran controlades per dues motxilles Mini Matrix LED 8x8 d'Adafruit. Cada controlador us permet conduir 64 LED amb només dos cables de l'Arduino i podeu encadenar diversos controladors en aquests mateixos dos cables. Seguiu les instruccions que s'inclouen amb la motxilla LED Matrix per soldar a la capçalera d'alimentació / dades / rellotge de 4 pins. Després, en lloc de soldar la matriu de LED que s’acompanya, soldeu dues files de capçaleres femenines a la motxilla. Connecteu la mini matriu LED inclosa a les capçaleres. Connecteu la matriu a una placa de connexió i connecteu-la de la manera següent:

  • Connecteu el pin CLK de la motxilla al pin analògic 5 de l’Arduino.
  • Connecteu el pin DAT al pin analògic 4 de l'Arduino.
  • Connecteu GND al pin de terra de l'Arduino.
  • Connecteu VCC + a 5V d'alimentació.

Baixeu-vos la biblioteca Adafruit LED Backpack i les biblioteques Adafruit GFX i instal·leu-les a l'ordinador copiant-les a la carpeta "biblioteques" de la carpeta d'esbossos Arduino de l'ordinador. Pengeu el fitxer "matrix8x8" al vostre Arduino i verifiqueu que la motxilla LED funcioni. És possible que els pins de la matriu LED no facin un bon contacte a les capçaleres femenines, de manera que és possible que hàgiu de moure-ho o eliminar-lo parcialment per establir contacte i permetre que s’il·luminin totes les files i columnes. Repetiu el procés amb la segona motxilla LED, però aquesta vegada haureu d’establir una nova adreça soldant un pont a través dels coixinets A0 de la motxilla. Torneu a executar el codi "matrix8x8", però canvieu la línia "matrix.begin (0x70)" a "matrix.begin (0x71)" de manera que el codi es dirigeixi a la nova motxilla LED.

Pas 4: connectar el joystick

Connexió del joystick
Connexió del joystick
Connexió del joystick
Connexió del joystick

El joystick hauria de tenir quatre interruptors amb dos terminals cadascun. Quan moveu el joystick cap a la dreta, activa l'interruptor de l'esquerra, quan el moveu cap avall, activa l'interruptor a la part superior, etc. En un terminal de cada interruptor, soldeu un cable de 3 ". Gireu l'altre extrem d'aquests quatre cables i soldeu-los a un cable de 12". Aquest és el terreny comú per als quatre commutadors. Soldeu un cable de 12 "al terminal restant de cada commutador i, a continuació, connecteu-los de la següent manera:

  • Connecteu l'interruptor inferior (activat en prémer cap amunt) al pin analògic 0 de l'Arduino.
  • Connecteu l'interruptor esquerre (activat quan premeu a la dreta) al pin analògic 1 de l'Arduino.
  • Connecteu l'interruptor superior (activat quan premeu cap avall) al pin analògic 2 de l'Arduino.
  • Connecteu l'interruptor dret (activat quan premeu a l'esquerra) al pin analògic 3 de l'Arduino.
  • Connecteu el cable de terra comú al pas de terra de l'Arduino.

Pas 5: programació del joc

Programació del joc
Programació del joc

Baixeu-vos el Pumpktris.ino.zip adjunt, descomprimiu-lo i obriu el fitxer a l'entorn de desenvolupament Arduino. Compileu-lo i pengeu-lo al vostre Arduino. Ara hauríeu de poder jugar a la mini matriu LED que heu configurat al pas anterior. He intentat comentar el codi tant com sigui possible, però aquí teniu una visió general dels principals processos: Descripció de les formes Hi ha set tetromins, cadascun amb 4 píxels i cadascun amb quatre possibles rotacions. Emmagatzemem tot això en una matriu multidimensional: la primera dimensió que consta de set formes, la segona dimensió que conté les quatre rotacions de cada forma, la tercera que conté quatre descripcions de píxels que consisteixen cadascuna en coordenades X i Y. Per exemple, es descriu la forma "T": / * T * / {/ * angle 0 * / {{0, 1}, {1, 1}, {2, 1}, {1, 2}}, / * angle 90 * / {{1, 0}, {1, 1}, {2, 1}, {1, 2}}, / * angle 180 * / {{1, 0}, {0, 1}, {1, 1}, {2, 1}}, / * angle 270 * / {{1, 0}, {0, 1}, {1, 1}, {1, 2}}}

Seguiment de la peça activa Per fer un seguiment de la peça en joc, el programa manté una variable activePiece. Aquest és l'índex de la forma activa al nivell més alt de la matriu. També manté una variable de rotació que conté l’índex de rotació actual. Una variable xOffset fa un seguiment de la distància a l'esquerra o la dreta (0-7) de cada peça i yOffset fa un seguiment de la distància (0-15) a la que ha caigut el tauler. Per dibuixar la peça activa, el programa afegeix els valors de desplaçament X i Y a les coordenades X i Y de cada píxel extretes de la rotació actual de la peça seleccionada. Seguiment de les peces fixes El programa utilitza una matriu de 16 bytes per fer un seguiment de la fixació peces, amb cada byte que representa una fila. Per exemple, la matriu següent representaria una forma de L asseguda al centre de les dues files inferiors (tal com s’indica amb els 1 dels dos darrers bytes): byte sampleGrid [16] = {B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00100000, B00111000}; Detecció de col·lisions Quan s'intenta moure la peça activa, el programa comprova primer la nova posició contra la matriu de peces fixes. Si no hi ha col·lisions, es permet el moviment i es torna a dibuixar la matriu. Si es detecta una col·lisió mentre s'intenta moure cap a l'esquerra, cap a la dreta o cap a la rotació, l'acció està prohibida. Si es detecta una col·lisió en intentar deixar caure una peça, la peça es fixa a la seva posició i s’afegeix a la matriu de píxels fixos. Cada bucle del programa augmenta stepCounter i cada vegada que stepCounter aconsegueix el recompte emmagatzemat al gravityTrigger, deixa caure la peça activa un nivell. A mesura que avança el joc, el gravityTrigger es redueix de manera que la peça activa cau cada vegada amb més freqüència fins que finalment cau a tots els bucles del programa. Cada cop que es fixa una peça activa a la quadrícula, el programa comprova si hi ha bytes / files completes (B11111111). Si en troba algun, els parpelleja tres i tres vegades, després els elimina i deixa caure les files de sobre per omplir el buit. Solució de problemes Si les peces no cauen de dalt a baix, sinó que van d'un costat a l'altre, canvieu valor passat a les línies "matrixTop.setRotation (1);" i / o "matrixBottom.setRotation (1);" al bucle "setup ()". Si les peces comencen amb una matriu equivocada, canvieu la ubicació física de cada matriu o inverteu les adreces declarades al "matrixTop.begin (0x70);" i "matrixBottom.begin (0x71);" línies del bucle "setup ()". Si algunes files o columnes no s’encenen, moure la mini matriu de LED a les capçaleres femenines. És possible que no estiguin en bon contacte.

Pas 6: Connexió de la matriu LED

Connexió de la matriu LED
Connexió de la matriu LED
Connexió de la matriu LED
Connexió de la matriu LED
Connexió de la matriu LED
Connexió de la matriu LED

Quan s'hagi verificat que tot el codi i els controls funcionen amb les mini matrius LED, és hora d'endollar les matrius LED grans que heu soldat.

Podeu connectar cada cable a les capçaleres de la motxilla de la matriu de manera individual, però probablement estareu endollant i desconnectant, de manera que podria arribar a ser una autèntica molèstia. En lloc d’això, voleu soldar cada fil en una tira de capçalera masculina i connectar-lo a la motxilla de la matriu. Vaig muntar les tires de capçalera en un tros de tauler de prototipus per poder connectar i desconnectar els 16 pins junts. Les files 1-4 es connecten als pins 1-4 de la motxilla matricial (la numeració dels pins comença a la part superior esquerra mentre mireu cap avall a la motxilla amb els pins d’alimentació / terra / dades / rellotge de 4 pins a la part superior). Les columnes 1-4 es connecten als pins 5-8. La numeració dels pins s’ajusta de manera que el pin 9 quedi a la part inferior dreta. Les files 5-8 es connecten als pins 12-9 i les columnes 5-8 es connecten als pins 16-13. Consulteu el diagrama per obtenir més claredat. Connecteu cada matriu a una motxilla i executeu el mateix programa "matrix8x8" que heu fet per a les mini matrius LED del pas 4. Si cadascuna funciona, podeu carregar el programa del joc. Si no funciona, comproveu que les files i columnes de la gran matriu LED estiguin connectades als pins correctes de la motxilla. El muntatge de la matriu LED a la plantilla de nucli d’escuma que heu fet per al muntatge pot facilitar la prova de tot el sistema.

Pas 7: tallar la carbassa

Talla la carbassa
Talla la carbassa
Talla la carbassa
Talla la carbassa
Talla la carbassa
Talla la carbassa

No feu cap tallat a la carbassa fins que tots els vostres productes electrònics no funcionin. Una carbassa tallada té una vida útil limitada i, si primer la esculpeu i després passeu 2 dies a l’electrònica, són dos dies de diversió que heu perdut.

Cerqueu el costat més pla de la carbassa perquè el vostre panell LED no s’enrotlli massa i, a continuació, talleu una obertura al costat oposat. Sigues generós; necessitaràs espai per posar-hi les mans a la feina. No tallareu la part superior com en una carbassa tradicional perquè cal deixar-la intacta per al joystick. El carbó i l'electrònica no són els millors amics, així que netegeu bé l'interior. Per als Pumpktris més atractius, voleu que la xarxa de LEDs estigui recta i ben alineada amb la carbassa. S'adjunta un PDF amb espaiat de 8x16, a mig centímetre de distància. Imprimiu-lo (o feu-lo vostre amb el vostre propi espaiat), talleu-lo al voltant de les vores i enganxeu-lo a la part frontal de la carbassa. Assegureu-vos que estigui recte amunt i avall. Amb un clau, un escuradents o una altra eina similar, introduïu un forat pilot al centre de cada LED marcat al paper. No es recomana perforar directament pel paper perquè és probable que es desplaci o es trenqui. Un cop s'hagin fet tots els forats del pilot, traieu la plantilla de paper i utilitzeu una broca de 13/64 "al trepant per perforar cada forat. No alineeu el trepant perpendicular a la cara de la carbassa. Si ho feu, la curvatura de la carbassa pot provocar que els forats que es troben a mig centímetre de distància es trobin a l'interior i serà difícil inserir els LED. En lloc d'això, intenteu mantenir tots els forats paral·lels. Quan tots els forats es perforin, utilitzeu el ganivet X-Acto per tallar un "píxel" quadrat al voltant de cada forat. Inclineu el ganivet cap al centre de cada forat i deixeu aproximadament 1/8 "entre píxels. Us recomano comprar una carbassa pràctica i utilitzar-la per perfeccionar la vostra tècnica de perforació i talla de píxels. Domineu-lo abans d’arriscar la carbassa perfecta que heu trobat per al producte acabat.

Pas 8: muntatge de la tija al joystick

Muntatge de la tija al joystick
Muntatge de la tija al joystick
Muntatge de la tija al joystick
Muntatge de la tija al joystick
Muntatge de la tija al joystick
Muntatge de la tija al joystick
Muntatge de la tija al joystick
Muntatge de la tija al joystick

Ara adaptarà la tija per utilitzar-la com a joystick per controlar el joc.

Talleu la tija el més a prop possible de la base. Si el tall no és suau i net, utilitzeu un bloc de polir per aplanar-lo. Traieu un forat de 1-1 / 8 "directament a través de la base de la tija i cap a la carbassa. Desenrosqueu la bola del joystick i alineeu l'eix amb el centre del forat des de l'interior de la carbassa. Assegureu-vos que la part frontal de el joystick és quadrat amb la cara frontal de la carbassa; quan jugueu voleu empènyer cap a l'esquerra i la dreta per moure les peces, no en un angle. Quan estigui centrat i quadrat, utilitzeu un clau o un escuradents per introduir forats a l'interior de la carbassa per sobre dels forats de muntatge de la base del joystick. Traieu el joystick. Amb els talladors de filferro, talleu les puntes d'expansió dels ancoratges de panells de guix perquè siguin més curts que el gruix de la pell de la carbassa. als forats pilot que heu fet. Els detalls de la següent part dependran del joystick que hàgiu comprat. El que he fet servir de SparkFun tenia un accessori de 6 mm per a la nansa de bola que serà substituït per la tija. Si el vostre joystick és diferent, utilitzeu les femelles i els cargols de qualsevol mida que coincideixin centre de la tija i foradeu un forat de 13/64 "(de la mateixa mida que vau fer servir per als forats LED, coincidentment) aproximadament una polzada directament a la tija. Aquest seria un bon pas per provar la vostra carbassa de pràctica, per assegurar-vos que el cargol es cargola fermament al forat. Tallar el cap d’un cargol de 6 mm x 50 mm amb una serra per a metalls. Col·loqueu cola de fusta o epoxi sobre els fils propers a l'extrem tallat del cargol i torneu-lo a la tija. Voleu una polzada més o menys a la tija i una polzada a l’exterior. Enrosqueu la femella d’acoblament de 6 mm a l’eix del joystick, però encara no el munteu a la carbassa.

Pas 9: Col·locació del LED i del joystick

Col·locació de LED i Joystick
Col·locació de LED i Joystick

Des de l'interior de la carbassa, introduïu els LED fila per fila als seus forats fins que les seves bases quedin al mateix nivell que la superfície interna de la carbassa. Quan tots estiguin al seu lloc, utilitzeu un pinxo de bambú per empènyer-los més profundament cap a la part frontal. Vaig deixar la vora frontal asseguda d'1 / 4 "a 3/8" sota la superfície exterior. Si estan massa per sota de la superfície, la llum s’abocarà a la carn de la carbassa i cada píxel serà menys diferent.

Afegiu una capa d’embolcall de plàstic a la part superior del joystick, amb el propi eix ficant-se a través. D’aquesta manera, s’evitarà com a mínim una mica d’humitat. Col·loqueu el joystick amb cargols de 1/2 als ancoratges de la paret seca. Els cargols inclosos amb els ancoratges seran massa llargs i passarien per la carbassa.

Pas 10: jugar al joc

Jugant al joc
Jugant al joc

Col·loqueu un bol o un recipient de plàstic per guardar aliments a la part inferior de la carbassa per evitar que qualsevol electrònica penjant toqui el fons. Introduïu el joystick a l’Arduino, les motxilles LED a l’Arduino i les matrius LED a les motxilles. Connecteu una font d'alimentació al vostre Arduino. Ara jugueu-vos a Pumpktris! Idees per explorar-les més En lloc de muntar el joystick a la part superior de la carbassa amb els LED, podeu utilitzar una carbassa remota, ja sigui sense fils o amb un cable decorat per semblar una vinya. En lloc d'un joc, podríeu mostrar missatges de desplaçament a la vostra llanterna. És possible que vulgueu muntar les matrius de costat (16 d’amplada per 8 d’alçada) o fins i tot fer servir només una matriu. Això pot ser perillós per a la vostra salut i pot provocar problemes a la vostra electrònica. El millor és treure tots els aparells electrònics un cop vegeu un creixement a la carbassa o a la mateixa, de manera que pugueu tornar a utilitzar-los més tard sense necessitat de neteja Haz-Mat.

Concurs de decoracions de Halloween
Concurs de decoracions de Halloween
Concurs de decoracions de Halloween
Concurs de decoracions de Halloween

Accèssit al concurs de decoracions de Halloween

Recomanat: