Taula de continguts:
Vídeo: Joc Arduino Sorta Sudoku: 3 passos (amb imatges)
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:10
A molta gent li agrada jugar al Sudoku i als néts els agraden els jocs d’endevinar, així que vaig decidir fer un joc portàtil de “Sorta Sudoku”. A la meva versió, el joc és una quadrícula 4x4, però només es proporciona un número. La idea és endevinar la resta de números en el menor nombre d’intents. És un joc senzill, però pot resultar addictiu a mesura que persegueixes la puntuació perfecta de 15. El joc requereix tant un element de sort com de lògica i la millor puntuació que he vist fins ara és 16. Fes una ullada perquè fins i tot si no us interessa crear el joc, és possible que hi hagi alguns elements del programari que pugueu utilitzar en algun dels vostres propis projectes.
Pas 1: maquinari
El maquinari es pot basar pràcticament en qualsevol versió d'Arduino. Vaig fer el prototipat amb un Nano i després vaig gravar el codi en un xip ATMega328. Aquest és el mateix xip que s’utilitza al Nano, però utilitzar-lo per si mateix permet una construcció més compacta i menys consum d’energia. Com podeu veure, he construït el circuit en una petita tauleta de suport que es troba al mòdul LCD. L'altre aspecte que és diferent és que el Nano funciona a 16 MHz mitjançant un cristall extern, però vaig optar per utilitzar l'oscil·lador integrat de 8 MHz per al xip ATMega328. Això estalvia peces i potència.
La pantalla LCD del 2004 s’interface amb l’Arduino de la mateixa manera que una pantalla LCD de 1602. Una diferència interessant es troba en l’adreça de les ubicacions de visualització. Viouslybviament hi ha una diferència perquè hi ha quatre línies en lloc de dues, però, el 2004, la tercera línia és una extensió de la primera línia i la quarta línia és una extensió de la segona línia. Dit d’una altra manera, si tinguéssiu un programa de prova que acabés d’enviar una cadena de caràcters a la pantalla LCD, el 21è caràcter apareixeria al principi de la tercera línia i el 41è caràcter es tornaria al començament de la primera línia. El programari gestiona aquesta diferència amb una taula de cerca d’adreces LCD.
L’entrada del joc és una matriu de commutadors 4x4 casolans. Cada commutador correspon directament a la ubicació equivalent a la pantalla. També hi ha un interruptor d’alimentació i un interruptor de reinici. El commutador de reinici esborra el joc antic i genera un joc nou.
Vaig decidir que la meva versió fos alimentada per bateria, de manera que vaig utilitzar una bateria comuna de 18650 Li-ion de 3,6 volts. Això requeria que afegir una petita placa per permetre la recàrrega USB i una altra petita per augmentar el voltatge de la bateria a 5 volts per a la pantalla LCD i el xip ATMega. Les imatges mostren els mòduls que he utilitzat, però també hi ha mòduls tot en un que fan les dues funcions.
Pas 2: programari
El programari és el mateix tant per al xip Nano com per al xip ATMega328. L’única diferència està en el mètode de programació. Utilitzo la meva pròpia versió barebones del programari LCD i el programari de descodificació de matriu de teclat. Es tracta de fitxers "inclosos" separats per al projecte.
Les ordres "random" i "randomSeed" s'utilitzen per ajudar a crear el joc. He afegit un guardat a EEPROM de la "llavor" per assegurar-me que es genera una seqüència diferent a cada engegada. Les línies del trencaclosques es deriven d'una matriu de cerca de 24 elements. Les tres primeres línies se seleccionen a l'atzar de la taula, amb comprovacions per assegurar-se que una línia seleccionada no entri en conflicte amb una línia anterior. L'última línia s'omple manualment perquè només hi haurà un patró possible en aquest punt. Després d’això, només es tracta d’escanejar la matriu del teclat i convertir les tecles premudes en números.
Per endevinar un número, premeu el commutador corresponent diverses vegades. Cada premsa augmenta el nombre mostrat. Si sobrepasseu el número que voleu, continueu pressionant. Si deixeu anar l'interruptor durant un segon, es bloquejarà l'últim número mostrat. Si el número és incorrecte, s'esborrarà i podreu tornar-ho a provar. Cada conjectura augmenta el comptador mostrat i, un cop s'ha endevinat correctament un número, aquest commutador de matriu es desactiva efectivament.
Pas 3: pantalles
Aquí teniu algunes imatges de les diverses pantalles.
Recomanat:
Joc de laberint 3d amb Arduino: 8 passos (amb imatges)
Joc de laberint 3d amb Arduino: Hola amics, així que avui farem un joc de laberint amb ARDUINO UNO. Com que Arduino Uno és el tauler més utilitzat, és molt divertit fer jocs amb ell. En aquest Instructable permet fer el joc de laberint que es controla mitjançant palanques de control. No oblideu
Joc magnètic de Plinko amb Makey Makey: 6 passos (amb imatges)
Magnetic Plinko Game With Makey Makey: Olá, em seguida, mostrarei com criar amb un joc magnètic de Plinko com Makey Makey. Makey.Para a construção do painel, fui
QuizzPi, un joc de trivia Raspberry Pi amb Python: 7 passos (amb imatges)
QuizzPi, un joc de trivia Raspberry Pi amb Python: QuizzPi és un joc de trivia tipus arcade. QuizzPi va néixer perquè tenia la necessitat de divertir-me a la meva filla. Té 7 anys i ja exigeix l’ús de noves tecnologies, la idea era crear quelcom que fos alhora divertit i educatiu
Joc de memòria amb tacte (Simon Says) - Si això és així: 6 passos (amb imatges)
Joc de memòria amb tacte (Simon Says) - If This Then That: vaig fer un joc de memòria amb coixinets tàctils de fabricació pròpia i un anell de neopíxels per a un projecte escolar. Aquest joc és similar a Simon Says, tret que moltes formes d’entrada i retroalimentació (sons i efectes de llum) són diferents. Vaig programar sons de Su
Joc de plataformes controlat per Arduino amb joystick i receptor IR: 3 passos (amb imatges)
Joc de plataformes controlat per Arduino amb joystick i receptor IR: Avui farem servir un microcontrolador Arduino per controlar un simple joc de plataformes basat en C #. Estic fent servir l'Arduino per agafar l'entrada d'un mòdul de joystick i enviar aquesta entrada a l'aplicació C # que escolta i descodifica l'entrada a través d'un Serial c