INHOUDSOPGAWE:

Arduino Sorta Sudoku -spel: 3 stappe (met foto's)
Arduino Sorta Sudoku -spel: 3 stappe (met foto's)

Video: Arduino Sorta Sudoku -spel: 3 stappe (met foto's)

Video: Arduino Sorta Sudoku -spel: 3 stappe (met foto's)
Video: 💡 Arduino - Обзор стартового набора Sunfounder RFID Kit - EP1 2024, November
Anonim
Arduino Sorta Sudoku spel
Arduino Sorta Sudoku spel

Baie mense hou daarvan om Sudoku te speel, en die kleinkinders hou van raai -speletjies, en ek het besluit om 'n draagbare "Sorta Sudoku" -speletjie te maak. In my weergawe is die spel 'n 4x4 -rooster, maar slegs een nommer word verskaf. Die idee is om die res van die getalle in die minste drieë te raai. Dit is 'n eenvoudige spel, maar dit kan verslawend wees as u die perfekte telling van 15. Die spel behaal 'n element van geluk sowel as logika, en die beste telling wat ek tot dusver gesien het, is 16. Kyk, want selfs As u nie die spel wil bou nie, is daar moontlik 'n paar elemente van die sagteware wat u in een van u eie projekte kan gebruik.

Stap 1: Hardeware

Hardeware
Hardeware
Hardeware
Hardeware
Hardeware
Hardeware

Die hardeware kan op feitlik enige Arduino -weergawe gebaseer wees. Ek het die prototipe gemaak met 'n Nano en daarna die kode in 'n ATMega328 -chip verbrand. Dit is dieselfde chip wat in die Nano gebruik word, maar as u dit op sigself gebruik, kan u 'n meer kompakte konstruksie en minder kragverbruik kry. Soos u kan sien, het ek die stroombaan op 'n klein broodbord gebou wat op die LCD -module spoel. Die ander aspek wat anders is, is dat die Nano met 'n eksterne kristal op 16-MHz werk, maar ek het gekies om die ingeboude 8-MHz-ossillator vir die ATMega328-chip te gebruik. Dit bespaar dele en krag.

Die 2004 LCD koppelvlak met die Arduino op dieselfde manier as 'n 1602 LCD. 'N Interessante verskil is in die aanspreek van die vertoonplekke. Daar is duidelik 'n verskil, want daar is vier reëls in plaas van twee, maar in 2004 is die derde reël 'n verlenging van die eerste reël en die vierde reël 'n verlenging van die tweede reël. Met ander woorde, as u 'n toetsprogram gehad het wat pas 'n string karakters na die LCD gestuur het, verskyn die 21ste karakter aan die begin van die derde reël en die 41ste karakter draai terug na die begin van die eerste reël. Die sagteware hanteer die verskil met 'n LCD -adres -soektafel.

Die insette vir die spel is 'n tuisgemaakte 4x4 -skakelmatriks. Elke skakelaar stem direk ooreen met die ekwivalente ligging op die skerm. Daar is ook 'n kragskakelaar en 'n terugstelskakelaar. Die reset -skakelaar maak die ou spel skoon en skep 'n nuwe speletjie.

Ek het besluit om my weergawe-battery aan te dryf, en ek gebruik 'n gewone 18650 Li-ion, 3.6-volt battery. Dit het vereis dat ek 'n klein bordjie byvoeg om USB te herlaai en nog 'n klein bord om die batteryspanning tot 5 volt vir die LCD en die ATMega -chip te verhoog. Die foto's toon die modules wat ek gebruik het, maar daar is ook alles-in-een modules wat albei funksies verrig.

Stap 2: sagteware

Die sagteware is dieselfde vir beide die Nano- en die ATMega328 -chip. Die enigste verskil is in die programmeermetode. Ek gebruik my eie barebones weergawe van LCD sagteware en sleutelbordmatriks dekodeer sagteware. Dit is aparte 'sluit' lêers vir die projek in.

Die opdragte "random" en "randomSeed" word gebruik om die spel te help skep. Ek het 'n stoor by EEPROM van die 'saad' bygevoeg om te verseker dat 'n ander volgorde by elke opstart gegenereer word. Die lyne vir die legkaart is afgelei van 'n 24-element opsoekskikking. Die eerste drie reëls word lukraak uit die tabel gekies, met kontrole om seker te maak dat 'n geselekteerde reël nie in stryd is met 'n vorige reël nie. Die laaste reël word handmatig ingevul, want daar sal slegs een moontlike patroon op daardie stadium wees. Daarna is dit net om die sleutelbordmatriks te skandeer en die druk van die sleutels in getalle om te skakel.

Druk herhaaldelik op die ooreenstemmende skakelaar om 'n nommer te raai. Elke druk verhoog die getal wat vertoon word. As u die nommer wat u wil oorskry, bly druk. As u die skakelaar vir 'n sekonde los, word die laaste nommer wat verskyn, gesluit. As die nommer verkeerd is, sal dit die nommer uitvee en u kan weer probeer. Elke raaiskoot verhoog die toonbank en sodra 'n getal korrek geraai word, word die matriksskakelaar effektief uitgeskakel.

Stap 3: Vertoon

Vertoon
Vertoon
Vertoon
Vertoon
Vertoon
Vertoon

Hier is 'n paar foto's van die verskillende uitstallings.

Aanbeveel: