Obsah:

Arduino Sorta Sudoku: 3 kroky (s obrázky)
Arduino Sorta Sudoku: 3 kroky (s obrázky)

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

Video: Arduino Sorta Sudoku: 3 kroky (s obrázky)
Video: Как страдали программисты в 80-х. Подключаем Arduino модуль к БК 0010 и пишем для него игру 2024, Listopad
Anonim
Hra Arduino Sorta Sudoku
Hra Arduino Sorta Sudoku

Mnoho lidí rádo hraje sudoku a vnoučata jako hádání, proto jsem se rozhodl vytvořit přenosnou hru „Sorta Sudoku“. V mé verzi je hra mřížkou 4x4, ale je k dispozici pouze jedno číslo. Cílem je uhodnout zbytek čísel v co nejmenším počtu pokusů. Je to jednoduchá hra, ale při dosažení perfektního skóre 15 to může být trochu návykové. Hra vyžaduje prvek štěstí i logiku a nejlepší skóre, které jsem zatím viděl, je 16. Podívejte se, protože i pokud nemáte zájem stavět hru, mohou existovat některé prvky softwaru, které můžete použít v jednom ze svých vlastních projektů.

Krok 1: Hardware

Hardware
Hardware
Hardware
Hardware
Hardware
Hardware

Hardware může být založen na téměř jakékoli verzi Arduino. Prototypování jsem provedl pomocí Nano a poté vypálil kód na čip ATMega328. Je to stejný čip používaný v Nano, ale jeho použití umožňuje kompaktnější sestavení a menší spotřebu energie. Jak vidíte, obvod jsem postavil na malém prkénku, které propojuje LCD modul. Dalším aspektem, který se liší, je, že Nano běží na 16 MHz pomocí externího krystalu, ale rozhodl jsem se použít vestavěný 8 MHz oscilátor pro čip ATMega328. Šetří to díly a energii.

LCD 2004 se připojuje k Arduinu stejným způsobem jako LCD 1602. Zajímavý rozdíl je v adresování zobrazovacích míst. Očividně existuje rozdíl, protože místo dvou jsou čtyři řádky, ale v roce 2004 je třetí řádek prodloužením prvního řádku a čtvrtý řádek je prodloužením druhého řádku. Jinými slovy, pokud jste měli testovací program, který právě vyslal řetězec znaků na LCD, 21. znak by se zobrazil na začátku třetího řádku a 41. znak se zalomil zpět na začátek prvního řádku. Tento rozdíl software řeší pomocí tabulky pro vyhledávání adres LCD.

Vstupem pro hru je domácí matice 4x4. Každý přepínač odpovídá přímo ekvivalentnímu umístění na displeji. K dispozici je také vypínač a vypínač. Resetovací přepínač vymaže starou hru a vygeneruje novou hru.

Rozhodl jsem se, že nechám svoji verzi napájet bateriemi, takže jsem použil běžnou 18650 Li-ion, 3,6voltovou baterii. To vyžadovalo, abych přidal malou desku umožňující nabíjení USB a další malou desku pro zvýšení napětí baterie na 5 voltů pro LCD a čip ATMega. Obrázky ukazují moduly, které jsem použil, ale existují také moduly typu vše v jednom, které plní obě funkce.

Krok 2: Software

Software je stejný pro čip Nano i ATMega328. Jediný rozdíl je v metodě programování. Používám vlastní barebones verzi softwaru LCD a softwaru pro dekódování matice klávesnice. Jedná se o samostatné soubory „zahrnout“pro projekt.

K vytvoření hry slouží příkazy „random“a „randomSeed“. Přidal jsem uložení do EEPROM „osiva“, abych zajistil, že při každém zapnutí bude vygenerována jiná sekvence. Řádky logické hry jsou odvozeny z 24prvkového vyhledávacího pole. První tři řádky jsou náhodně vybrány z tabulky, přičemž se kontroluje, zda vybraný řádek není v konfliktu s předchozím řádkem. Poslední řádek je vyplněn ručně, protože v daném bodě bude pouze jeden možný vzor. Poté stačí naskenovat matici klávesnice a převést stisknutí kláves na čísla.

Chcete -li uhádnout číslo, opakovaně stiskněte odpovídající přepínač. Každé stisknutí zvýší zobrazené číslo. Pokud překročíte požadované číslo, pokračujte v mačkání. Pokud spínač na sekundu uvolníte, zablokuje se poslední zobrazené číslo. Pokud je číslo nesprávné, číslo vymaže a můžete to zkusit znovu. Každý odhad zvyšuje zobrazený čítač a jakmile je číslo správně uhodnuto, tento přepínač matice je účinně deaktivován.

Krok 3: Displeje

Displeje
Displeje
Displeje
Displeje
Displeje
Displeje

Zde je několik obrázků z různých displejů.

Doporučuje: