Përmbajtje:

Arduino Sorta Sudoku Lojë: 3 hapa (me fotografi)
Arduino Sorta Sudoku Lojë: 3 hapa (me fotografi)

Video: Arduino Sorta Sudoku Lojë: 3 hapa (me fotografi)

Video: Arduino Sorta Sudoku Lojë: 3 hapa (me fotografi)
Video: Simon & Mark Solve Sudokus Live: Our "500k Special" Puzzles Part 3 2024, Nëntor
Anonim
Lojë Arduino Sorta Sudoku
Lojë Arduino Sorta Sudoku

Shumë njerëzve u pëlqen të luajnë Sudoku dhe nipërit duan lojëra me mend, kështu që vendosa të bëj një lojë portative "Sorta Sudoku". Në versionin tim loja është një rrjet 4x4 por jepet vetëm një numër. Ideja është që të hamendësoni pjesën tjetër të numrave në më pak përpjekje. Ashtë një lojë e thjeshtë, por mund të jetë një lloj varësie pasi ndjek rezultatin e përsosur prej 15. Loja kërkon si një element fati ashtu edhe logjikë dhe rezultati më i mirë që kam parë deri më tani është 16. Hidhini një sy sepse edhe nëse nuk jeni të interesuar në ndërtimin e lojës, mund të ketë disa elementë të softuerit që mund t'i përdorni në një nga projektet tuaja.

Hapi 1: Pajisje kompjuterike

Hardware
Hardware
Hardware
Hardware
Hardware
Hardware

Pajisja mund të bazohet në pothuajse çdo version Arduino. Kam bërë prototipin duke përdorur një Nano dhe më pas e kam djegur kodin në një çip ATMega328. Ky është i njëjti çip i përdorur në Nano, por përdorimi i tij në vetvete lejon një ndërtim më kompakt dhe më pak konsum të energjisë. Siç mund ta shihni, unë e ndërtova qarkun në një dërrasë të vogël buke që ishte derrkuc në modulin LCD. Aspekti tjetër që është i ndryshëm është se Nano funksionon në 16-MHz duke përdorur një kristal të jashtëm, por unë zgjodha të përdor oshilatorin e integruar 8-MHz për çipin ATMega328. Kjo kursen pjesë dhe fuqi.

LCD 2004 ndërfaqet me Arduino në të njëjtën mënyrë si një LCD 1602. Një ndryshim interesant është në adresimin e vendeve të shfaqjes. Natyrisht që ka një ndryshim sepse ka katër rreshta në vend të dy, por, në vitin 2004, rreshti i tretë është një shtrirje e vijës së parë dhe rreshti i katërt është një shtrirje e vijës së dytë. Me fjalë të tjera, nëse do të kishit një program testimi që sapo dërgonte një varg karakteresh në LCD, personazhi i 21 -të do të shfaqej në fillim të rreshtit të tretë dhe personazhi i 41 -të mbyllet në fillim të rreshtit të parë. Softueri e trajton atë ndryshim me një tabelë të kërkimit të adresave LCD.

Hyrja për lojën është një matricë kalimi 4x4 e bërë në shtëpi. Çdo ndërprerës korrespondon drejtpërdrejt me vendndodhjen ekuivalente në ekran. Ekziston gjithashtu një ndërprerës i energjisë dhe një çelës rivendosjeje. Çelësi i rivendosjes pastron lojën e vjetër dhe gjeneron një lojë të re.

Vendosa ta bëj versionin tim me bateri, kështu që përdor një bateri të zakonshme 18650 Li-ion, 3.6 volt. Kjo kërkoi që të shtoja një tabelë të vogël për të lejuar rimbushjen USB dhe një tabelë tjetër të vogël për të rritur tensionin e baterisë në 5 volt për LCD dhe çipin ATMega. Fotografitë tregojnë modulet që kam përdorur, por ka edhe module të gjitha në një që bëjnë të dy funksionet.

Hapi 2: Softueri

Softueri është i njëjtë si për çipin Nano ashtu edhe për ATMega328. Dallimi i vetëm është në metodën e programimit. Unë përdor versionin tim barebones të softuerit LCD dhe softuerit të dekodimit të matricës së tastierës. Këto janë skedarë të veçantë "përfshi" për projektin.

Komandat "random" dhe "randomSeed" përdoren për të ndihmuar në krijimin e lojës. Unë shtova një kursim në EEPROM të "farës" për të siguruar që një sekuencë e ndryshme të gjenerohet në secilën fuqi. Linjat për enigmën rrjedhin nga një grup kërkimi me 24 elementë. Tre rreshtat e parë zgjidhen rastësisht nga tabela, me kontrolle për t'u siguruar që një rresht i zgjedhur nuk bie ndesh me një rresht të mëparshëm. Rreshti i fundit mbushet me dorë sepse do të ketë vetëm një model të mundshëm në atë pikë. Pas kësaj është vetëm një çështje e skanimit të matricës së tastierës dhe shndërrimit të shtypjeve të tastit në numra.

Për të marrë me mend një numër, shtypni vazhdimisht çelësin përkatës. Çdo shtyp shton numrin e shfaqur. Nëse tejkaloni numrin që dëshironi, thjesht vazhdoni të shtypni. Nëse e lëshoni çelësin për një sekondë, ai do të kyçet në numrin e fundit të shfaqur. Nëse numri është i pasaktë, ai do të pastrojë numrin dhe mund të provoni përsëri. Çdo supozim rrit numëruesin e shfaqur dhe sapo një numër të merret me mend si duhet, ky ndërprerës matricash çaktivizohet në mënyrë efektive.

Hapi 3: Shfaqet

Shfaqet
Shfaqet
Shfaqet
Shfaqet
Shfaqet
Shfaqet

Këtu janë disa fotografi të ekraneve të ndryshme.

Recommended: