Spisu treści:

Gra Sudoku Arduino Sorta: 3 kroki (ze zdjęciami)
Gra Sudoku Arduino Sorta: 3 kroki (ze zdjęciami)

Wideo: Gra Sudoku Arduino Sorta: 3 kroki (ze zdjęciami)

Wideo: Gra Sudoku Arduino Sorta: 3 kroki (ze zdjęciami)
Wideo: HariFun #141 — Arduino против светодиодов — Мега Судоку, часть 4 2024, Grudzień
Anonim
Gra Sudoku Arduino Sorta
Gra Sudoku Arduino Sorta

Wiele osób lubi grać w Sudoku, a wnuki lubią zgadywać, więc postanowiłem stworzyć przenośną grę „Sorta Sudoku”. W mojej wersji gra jest siatką 4x4, ale podana jest tylko jedna liczba. Pomysł polega na odgadnięciu pozostałych liczb w jak najmniejszej liczbie prób. Jest to prosta gra, ale może być trochę uzależniająca, gdy dążysz do idealnego wyniku 15. Gra wymaga zarówno szczęścia, jak i logiki, a najlepszy wynik, jaki do tej pory widziałem, to 16. Spójrz, ponieważ nawet jeśli nie jesteś zainteresowany budowaniem gry, mogą istnieć elementy oprogramowania, które możesz wykorzystać w jednym z własnych projektów.

Krok 1: Sprzęt

Sprzęt komputerowy
Sprzęt komputerowy
Sprzęt komputerowy
Sprzęt komputerowy
Sprzęt komputerowy
Sprzęt komputerowy

Sprzęt może być oparty na praktycznie dowolnej wersji Arduino. Zrobiłem prototypowanie za pomocą Nano, a następnie wypaliłem kod na chipie ATMega328. To ten sam układ, który zastosowano w Nano, ale używanie go samodzielnie pozwala na bardziej kompaktową konstrukcję i mniejsze zużycie energii. Jak widać, zbudowałem układ na małej płytce stykowej, która łączy się z modułem LCD. Innym aspektem, który jest inny, jest to, że Nano działa z częstotliwością 16 MHz przy użyciu zewnętrznego kryształu, ale wybrałem wbudowany oscylator 8 MHz dla układu ATMega328. To oszczędza części i energię.

Wyświetlacz LCD 2004 łączy się z Arduino w taki sam sposób, jak wyświetlacz LCD 1602. Ciekawą różnicą jest adresowanie lokalizacji wyświetlania. Oczywiście jest różnica, ponieważ są cztery linie zamiast dwóch, ale w 2004 roku trzecia linia jest przedłużeniem pierwszej linii, a czwarta linia jest przedłużeniem drugiej linii. Innymi słowy, jeśli masz program testowy, który właśnie wysłał ciąg znaków na LCD, 21. znak pojawi się na początku trzeciej linii, a 41. znak zawinie się z powrotem do początku pierwszej linii. Oprogramowanie radzi sobie z tą różnicą za pomocą tabeli wyszukiwania adresów LCD.

Dane wejściowe do gry to domowa matryca przełączników 4x4. Każdy przełącznik odpowiada bezpośrednio równoważnej lokalizacji na wyświetlaczu. Jest też wyłącznik zasilania i przełącznik resetowania. Przełącznik resetowania czyści starą grę i generuje nową grę.

Postanowiłem, że moja wersja będzie zasilana bateryjnie, więc użyłem zwykłego akumulatora litowo-jonowego 18650, 3,6 V. Wymagało to dodania małej płytki, aby umożliwić ładowanie przez USB, i kolejnej małej płytki, aby zwiększyć napięcie akumulatora do 5 woltów dla wyświetlacza LCD i układu ATMega. Zdjęcia pokazują moduły, których użyłem, ale są też moduły all-in-one, które spełniają obie funkcje.

Krok 2: Oprogramowanie

Oprogramowanie jest takie samo dla układu Nano i ATMega328. Jedyna różnica polega na sposobie programowania. Używam własnej wersji oprogramowania LCD w wersji barebone oraz oprogramowania do dekodowania matrycy klawiatury. Są to osobne pliki „include” dla projektu.

Polecenia „random” i „randomSeed” są używane do tworzenia gry. Dodałem zapis do EEPROM „ziarna”, aby zapewnić, że przy każdym włączeniu generowana jest inna sekwencja. Linie układanki pochodzą z 24-elementowej tablicy wyszukiwania. Pierwsze trzy wiersze są losowo wybierane z tabeli, z kontrolą, aby upewnić się, że wybrana linia nie koliduje z poprzednią linią. Ostatnia linia jest wypełniana ręcznie, ponieważ w tym miejscu będzie tylko jeden możliwy wzór. Potem wystarczy zeskanować matrycę klawiatury i przekonwertować naciśnięcia klawiszy na liczby.

Aby odgadnąć liczbę, naciśnij kilkakrotnie odpowiedni przełącznik. Każde naciśnięcie zwiększa wyświetlaną liczbę. Jeśli przekroczysz pożądaną liczbę, po prostu naciskaj. Jeśli zwolnisz przełącznik na sekundę, zablokuje się na ostatnio wyświetlanej liczbie. Jeśli numer jest niepoprawny, wyczyści numer i możesz spróbować ponownie. Każde odgadnięcie zwiększa wyświetlany licznik, a po prawidłowym odgadnięciu liczby przełącznik matrycy jest skutecznie wyłączany.

Krok 3: Wyświetlacze

Wyświetlacze
Wyświetlacze
Wyświetlacze
Wyświetlacze
Wyświetlacze
Wyświetlacze

Oto kilka zdjęć różnych wyświetlaczy.

Zalecana: