Kazalo:

Igra Arduino Sorta Sudoku: 3 koraki (s slikami)
Igra Arduino Sorta Sudoku: 3 koraki (s slikami)

Video: Igra Arduino Sorta Sudoku: 3 koraki (s slikami)

Video: Igra Arduino Sorta Sudoku: 3 koraki (s slikami)
Video: Sudoku solved by World Sudoku Champion 2024, November
Anonim
Arduino Sorta Sudoku igra
Arduino Sorta Sudoku igra

Veliko ljudi se rad igra Sudoku in vnuki radi ugibajo, zato sem se odločil za prenosno igro Sorta Sudoku. V moji različici je igra 4x4, vendar je navedena samo ena številka. Ideja je uganiti preostale številke v najmanj poskusih. To je preprosta igra, ki pa je lahko zasvojenost, saj si prizadevate za popoln rezultat 15. Igra zahteva tako element sreče kot tudi logiko, najboljši rezultat, ki sem ga doslej videl, pa je 16. Poglejte, ker celo če vas igra ne zanima, lahko nekatere elemente programske opreme uporabite v enem od svojih projektov.

1. korak: Strojna oprema

Strojna oprema
Strojna oprema
Strojna oprema
Strojna oprema
Strojna oprema
Strojna oprema

Strojna oprema lahko temelji na skoraj vsaki različici Arduina. Naredil sem izdelavo prototipov z Nano, nato pa kodo zapisal v čip ATMega328. To je isti čip, ki se uporablja v Nano, vendar njegova uporaba sama po sebi omogoča bolj kompaktno izdelavo in manjšo porabo energije. Kot lahko vidite, sem vezje zgradil na majhni ploščici, ki se je vrnila na modul LCD. Drugi vidik, ki je drugačen, je, da Nano deluje pri 16-MHz z zunanjim kristalom, vendar sem se odločil uporabiti vgrajen 8-MHz oscilator za čip ATMega328. To prihrani dele in moč.

LCD iz leta 2004 se povezuje z Arduinom na enak način kot LCD 1602. Zanimiva razlika je pri naslavljanju prikazovalnih mest. Očitno je razlika, ker so namesto dveh štiri vrstice, toda leta 2004 je tretja vrstica podaljšek prve vrstice, četrta vrstica pa podaljšek druge vrstice. Z drugimi besedami, če bi imeli preskusni program, ki je ravno poslal niz znakov na LCD, bi se 21. znak prikazal na začetku tretje vrstice, 41. znak pa se vrne nazaj na začetek prve vrstice. Programska oprema to razliko obravnava z iskalno tabelo naslovov LCD.

Vhod za igro je domača matrika stikala 4x4. Vsako stikalo ustreza neposredno enakovrednemu mestu na zaslonu. Obstaja tudi stikalo za vklop in stikalo za ponastavitev. Stikalo za ponastavitev izbriše staro igro in ustvari novo igro.

Odločil sem se, da bom svojo različico napajal z baterijo, zato sem uporabil običajno 18650 Li-ion, 3,6-voltno baterijo. To je zahtevalo, da dodam majhno ploščo za polnjenje USB in drugo majhno ploščo za povečanje napetosti baterije na 5 voltov za LCD in ATMega čip. Slike prikazujejo module, ki sem jih uporabil, obstajajo pa tudi moduli vse v enem, ki opravljajo obe funkciji.

2. korak: Programska oprema

Programska oprema je enaka za čip Nano in ATMega328. Edina razlika je v načinu programiranja. Uporabljam svojo barebones različico programske opreme LCD in programsko opremo za dekodiranje matrične tipkovnice. To so ločene datoteke za vključitev projekta.

Ukazi "random" in "randomSeed" se uporabljajo za pomoč pri ustvarjanju igre. V EEPROM sem dodal shranjevanje "semena", da zagotovim, da se ob vsakem vklopu ustvari drugačno zaporedje. Vrstice uganke izhajajo iz 24-elementne matrike za iskanje. Prve tri vrstice so naključno izbrane iz tabele s preverjanjem, ali izbrana vrstica ni v sporu s prejšnjo vrstico. Zadnja vrstica je ročno izpolnjena, ker bo na tej točki le en možen vzorec. Po tem je le še skeniranje matrike tipkovnice in pretvorba pritiskov tipk v številke.

Če želite uganiti številko, večkrat pritisnite ustrezno stikalo. Vsak pritisk poveča prikazano število. Če presežete želeno številko, pritisnite. Če za sekundo spustite stikalo, se zaklene zadnja prikazana številka. Če številka ni pravilna, jo boste izbrisali in lahko poskusite znova. Vsako ugibanje poveča prikazani števec in ko je številka pravilno uganina, je to matrično stikalo dejansko onemogočeno.

3. korak: Zasloni

Zasloni
Zasloni
Zasloni
Zasloni
Zasloni
Zasloni

Tukaj je nekaj slik različnih zaslonov.

Priporočena: