Indholdsfortegnelse:
Video: Arduino Sorta Sudoku -spil: 3 trin (med billeder)
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:25
Mange mennesker kan lide at spille Sudoku, og børnebørnene kan lide at gætte spil, så jeg besluttede at lave et bærbart "Sorta Sudoku" -spil. I min version er spillet et 4x4 -gitter, men der findes kun et nummer. Ideen er at gætte resten af tallene i de færreste forsøg. Det er et simpelt spil, men det kan være lidt vanedannende, når du forfølger den perfekte score på 15. Spillet kræver både et element af held såvel som logik, og den bedste score, jeg har set hidtil, er 16. Tag et kig, fordi selv hvis du ikke er interesseret i at bygge spillet, kan der være nogle elementer i softwaren, som du kan bruge i et af dine egne projekter.
Trin 1: Hardware
Hardwaren kan være baseret på stort set enhver Arduino -version. Jeg lavede prototypen ved hjælp af en Nano og brændte derefter koden til en ATMega328 -chip. Det er den samme chip, der bruges i Nano, men ved at bruge den i sig selv giver mulighed for en mere kompakt konstruktion og mindre strømforbrug. Som du kan se, byggede jeg kredsløbet på et lille brødbræt, der piggybacks på LCD -modulet. Det andet aspekt, der er anderledes, er, at Nano kører ved 16-MHz ved hjælp af en ekstern krystal, men jeg valgte at bruge den indbyggede 8-MHz-oscillator til ATMega328-chippen. Det sparer dele og strøm.
2004 LCD -grænseflader til Arduino på samme måde som en 1602 LCD. En interessant forskel er i adresseringen af displayplaceringerne. Der er naturligvis en forskel, fordi der er fire linjer i stedet for to, men i 2004 er den tredje linje en forlængelse af den første linje og den fjerde linje er en forlængelse af den anden linje. Med andre ord, hvis du havde et testprogram, der lige sendte en række tegn til LCD'et, ville det 21. tegn dukke op i starten af den tredje linje, og det 41. tegn ombrydes tilbage til starten af den første linje. Softwaren håndterer denne forskel med en LCD -adresseopslagstabel.
Input til spillet er en hjemmelavet 4x4 switch matrix. Hver switch svarer direkte til den tilsvarende placering på displayet. Der er også en afbryder og en nulstillingskontakt. Nulstillingskontakten rydder det gamle spil og genererer et nyt spil.
Jeg besluttede at få min version batteri drevet, så jeg brugte et almindeligt 18650 Li-ion, 3,6-volts batteri. Det krævede, at jeg tilføjede et lille kort til USB -genopladning og et andet lille kort til at øge batterispændingen til 5 volt for LCD'en og ATMega -chippen. Billederne viser de moduler, jeg brugte, men der er også alt-i-et-moduler, der udfører begge funktioner.
Trin 2: Software
Softwaren er den samme for både Nano- og ATMega328 -chippen. Den eneste forskel er i programmeringsmetoden. Jeg bruger min egen barebones -version af LCD -software og tastaturmatrix -dekoder -software. Disse er separate "inkluder" -filer til projektet.
Kommandoerne "random" og "randomSeed" bruges til at hjælpe med at oprette spillet. Jeg tilføjede en gemning til EEPROM af "seed" for at sikre, at der genereres en anden sekvens ved hver opstart. Linjerne til puslespillet er afledt af et opslagsarray med 24 elementer. De tre første linjer vælges tilfældigt fra tabellen med kontroller for at sikre, at en valgt linje ikke er i konflikt med en tidligere linje. Den sidste linje udfyldes manuelt, fordi der kun vil være et muligt mønster på det tidspunkt. Derefter er det bare et spørgsmål om at scanne tastaturmatrixen og konvertere tastetrykkene til tal.
For at gætte et tal skal du trykke gentagne gange på den tilhørende kontakt. Hvert tryk øger det viste nummer. Hvis du overskrider det ønskede nummer, skal du bare trykke på. Hvis du slipper kontakten et sekund, låser den det sidste viste nummer. Hvis nummeret er forkert, slettes nummeret, og du kan prøve igen. Hvert gæt øger den viste tæller, og når et tal er korrekt gættet, deaktiveres matrixkontakten effektivt.
Trin 3: Viser
Her er nogle billeder af de forskellige displays.
Anbefalede:
Sådan gør du: Installation af Raspberry PI 4 Headless (VNC) med Rpi-imager og billeder: 7 trin (med billeder)
Sådan gør du: Installation af Raspberry PI 4 Headless (VNC) med Rpi-imager og billeder: Jeg planlægger at bruge denne Rapsberry PI i en masse sjove projekter tilbage i min blog. Tjek det gerne ud. Jeg ville tilbage til at bruge min Raspberry PI, men jeg havde ikke et tastatur eller en mus på min nye placering. Det var et stykke tid siden jeg konfigurerede en hindbær
Arduino Halloween Edition - Pop -out -skærm med zombier (trin med billeder): 6 trin
Arduino Halloween Edition - Zombies Pop -out -skærm (trin med billeder): Vil du skræmme dine venner og lave skrigende støj i Halloween? Eller vil du bare lave en god sjov? Denne pop-out-skærm fra Zombies kan gøre det! I denne Instructable vil jeg lære dig, hvordan du nemt laver jump-out zombier ved hjælp af Arduino. HC-SR0
Shadow Light Box - Styring med IR -fjernbetjening med Arduino: 8 trin (med billeder)
Shadow Light Box - Styring med IR -fjernbetjening med Arduino: Denne instruktion vil guide dig til, hvordan du laver skygge -lysboks til næste jul. Du kan lave det selv til at dekorere dit værelse eller gøre det til din ven som en gave. Denne skyggeæske kan lave forskellige slags farver ved at blande farve med rød, blå, grøn farve
Sådan adskilles en computer med nemme trin og billeder: 13 trin (med billeder)
Sådan adskilles en computer med nemme trin og billeder: Dette er en instruktion om, hvordan du adskiller en pc. De fleste af de grundlæggende komponenter er modulopbyggede og nemme at fjerne. Det er dog vigtigt, at du er organiseret omkring det. Dette hjælper med at forhindre dig i at miste dele og også ved at lave genmonteringen til
Sådan styrer du husholdningsapparater med fjernsyn med fjernbetjening med timerfunktion: 7 trin (med billeder)
Sådan styrer du husholdningsapparater med fjernsyn med fjernbetjening med timerfunktion: Selv efter 25 års introduktion til forbrugermarkedet er infrarød kommunikation stadig meget relevant i de seneste dage. Uanset om det er dit 55 tommer 4K -fjernsyn eller dit billydsystem, har alt brug for en IR -fjernbetjening for at reagere på vores