Obsah:

Hra Arduino Sorta Sudoku: 3 kroky (s obrázkami)
Hra Arduino Sorta Sudoku: 3 kroky (s obrázkami)

Video: Hra Arduino Sorta Sudoku: 3 kroky (s obrázkami)

Video: Hra Arduino Sorta Sudoku: 3 kroky (s obrázkami)
Video: Китайская контактная сварка на 1500 Ампер за копейки [миф или правда] 2024, November
Anonim
Hra Sudoku Arduino Sorta
Hra Sudoku Arduino Sorta

Veľa ľudí rád hrá sudoku a vnúčatá, ako sú hádanky, a tak som sa rozhodol vytvoriť prenosnú hru „Sorta Sudoku“. V mojej verzii je hra mriežkou 4x4, ale je k dispozícii iba jedno číslo. Cieľom je uhádnuť ostatné čísla v čo najmenšom počte pokusov. Je to jednoduchá hra, ale pri dosahovaní perfektného skóre 15 to môže byť trochu návykové. Hra vyžaduje prvok šťastia aj logiku a najlepšie skóre, aké som zatiaľ videl, je 16. Pozrite sa, pretože aj Ak nemáte záujem stavať hru, môžu existovať niektoré prvky softvéru, ktoré môžete použiť v jednom z vašich vlastných projektov.

Krok 1: Hardvér

Hardvér
Hardvér
Hardvér
Hardvér
Hardvér
Hardvér

Hardvér môže byť založený na takmer akejkoľvek verzii Arduino. Urobil som prototyp pomocou Nano a potom som kód napálil na čip ATMega328. Je to ten istý čip používaný v Nano, ale jeho použitie umožňuje kompaktnejšie zostavenie a nižšiu spotrebu energie. Ako vidíte, obvod som postavil na malom breadboarde, ktorý sa pripája na LCD modul. Ďalším aspektom, ktorý sa líši, je to, že Nano beží na 16 MHz pomocou externého kryštálu, ale rozhodol som sa použiť vstavaný 8 MHz oscilátor pre čip ATMega328. To šetrí diely a energiu.

LCD displej z roku 2004 je prepojený s Arduino rovnako ako 1602 LCD. Zaujímavý rozdiel je v adresovaní miest zobrazenia. Je zrejmé, že existuje rozdiel, pretože namiesto dvoch sú štyri riadky, ale v roku 2004 je tretí riadok predĺžením prvého riadku a štvrtý riadok je predĺžením druhého riadku. Inými slovami, ak ste mali testovací program, ktorý práve odoslal reťazec znakov na LCD, 21. znak by sa zobrazil na začiatku tretieho riadka a 41. znak by sa zalomil späť na začiatok prvého riadka. Tento rozdiel softvér rieši pomocou tabuľky na vyhľadávanie adries LCD.

Vstupom do hry je domáca matica prepínačov 4x4. Každý prepínač priamo zodpovedá ekvivalentnému umiestneniu na displeji. K dispozícii je tiež vypínač a vypínač. Resetovací spínač vymaže starú hru a vygeneruje novú hru.

Rozhodol som sa, že moju verziu budem napájať batériou, takže som použil bežnú lítium-iónovú batériu 18650, 3,6 voltov. To si vyžiadalo, aby som pridal malú dosku, ktorá umožní nabíjanie cez USB, a ďalšiu malú dosku na zvýšenie napätia batérie na 5 voltov pre LCD a čip ATMega. Obrázky ukazujú moduly, ktoré som použil, ale existujú aj moduly typu všetko v jednom, ktoré vykonávajú obe funkcie.

Krok 2: Softvér

Softvér je rovnaký pre čip Nano aj ATMega328. Jediný rozdiel je v metóde programovania. Používam vlastnú barebones verziu softvéru LCD a softvér na dekódovanie matice klávesnice. Sú to samostatné súbory „include“pre projekt.

Na pomoc pri vytváraní hry slúžia príkazy „random“a „randomSeed“. Pridal som uloženie „semena“do EEPROM, aby som zaistil, že pri každom zapnutí sa vygeneruje iná sekvencia. Riadky hádanky sú odvodené z 24-elementového vyhľadávacieho poľa. Prvé tri riadky sú náhodne vybraté z tabuľky so skontrolovaním, či vybraný riadok nie je v rozpore s predchádzajúcim riadkom. Posledný riadok je vyplnený ručne, pretože v tomto bode bude iba jeden možný vzor. Potom už stačí len skenovať maticu klávesnice a previesť stlačenia klávesov na čísla.

Ak chcete uhádnuť číslo, opakovane stlačte príslušný prepínač. Každé stlačenie zvýši zobrazené číslo. Ak prestrelíte požadované číslo, stlačte a podržte tlačidlo. Ak vypínač na sekundu uvoľníte, uzamkne sa posledné zobrazené číslo. Ak je číslo nesprávne, číslo vymaže a môžete to skúsiť znova. Každý odhad zvýši zobrazený počítadlo a akonáhle je číslo správne uhádnuté, tento prepínač matice je účinne deaktivovaný.

Krok 3: Displeje

Displeje
Displeje
Displeje
Displeje
Displeje
Displeje

Tu je niekoľko fotografií z rôznych displejov.

Odporúča: