woyna Napisano Styczeń 28, 2019 Udostępnij Napisano Styczeń 28, 2019 WSTĘP W ramach projektu na studia, zaprojektowałem i zbudowałem elektroniczną wersję gry logicznej Mastermind dla dwóch graczy. Celem tej gry jest odgadnięcie przez jednego z graczy szyfru wymyślonego przez drugiego gracza. Szyfr składa się z czterech kolorów wybieranych spośród pięciu dostępnych (czerwony, zielony, niebieski, magenta, cyan). Gracz odgadujący musi w ciągu ośmiu rund złamać kod przeciwnika. Po każdej próbie odgadnięcia, odgadujący dostaje informację ile kolorów z obecnej próby znajduje się w szyfrze na tym samym miejscu, a ile z nich znajduje się na innym miejscu. Gracz odgadujący może posiłkować się wiedzą z poprzednich rund poprzez funkcjonalność przeglądania historii odgadnięć. Oryginalne zasady gry Mastermind możecie znaleźć pod tym linkiem. BUDOWA UKŁADU Układ zbudowany jest na uniwersalnej płytce drukowanej PCB o wymiarach 12x8cm. Ma ona przylutowane goldpiny, na które wtyka się płytkę Arduino Uno R3 (klon).Cztery diody RGB reprezentują pozycje szyfru, dwa wyświetlacze 7-segmentowe wyświetlają informacje niezbędne do złamania szyfru, a trzeci wyświetlacz pokazuje aktualną rundę. Kluczowym elementem całego układu jest pięć rejestrów przesuwnych 74HC595, które umożliwiają (na ograniczonej przecież liczbie pinów Arduino) sterować diodami oraz wyświetlaczami. Budowa tego układu na uniwersalnej płytce drukowanej PCB przysporzyła wielu trudności, ponieważ ilość połączeń jest naprawdę spora. Gdybym ponownie robił ten projekt, spróbowałbym wykonania własnej płytki PCB metodą termotransferu. Poniższe zdjęcia ukazują, jak wiele połączeń znajduje się na płytce. Układ zasilany jest sześcioma bateriami AA 1,5V znajdującymi się w koszyku. Baterie zasilają płytkę poprzez wejście VIN. OBUDOWA Cały układ znajduje się w obudowie wydrukowanej w drukarce 3D. Obudowa składa się z dwóch części. W dolnej części umieszcza się koszyk na baterie oraz płytkę. Górna część przykrywa płytkę, zasłaniając przed użytkownikiem niewykorzystane pola płytki oraz rezystory. Złączenie części polega na przykręceniu czterech śrubek M3 w rogach obudowy. Projekt obudowy stworzony został w środowisku Autocad Tinkercad. Koszt filamentu zużytego przy druku to ok. 25 zł. SCHEMAT I OPROGRAMOWANIE Do napisania programu wykorzystałem program Visual Studio Code wraz z zainstalowanym środowiskiem PlatformIO IDE, które jest znacznie wygodniejsze oraz ma bogatsze możliwości od klasycznego Arduino IDE (opis środowiska z bloga Forbot). Napisałem własne pliki nagłówkowe 7seg.h oraz RGB.h, które zawierają funkcje obsługujące sterowanie wyświetlaczami 7-segmentowymi oraz diodami RGB za pomocą rejestrów przesuwnych 74HC595. Poniżej zamieszczam także schemat układu. OBSŁUGA Gra rozpoczyna się od wprowadzeniu szyfru przez osobę wymyślającą kod. Po zaakceptowaniu kodu, urządzenie przejmuje osoba zgadująca. W ciągu maksymalnie ośmiu rund, osoba zgadująca sprawdza różne kombinacje kolorów, uzyskując na wyświetlaczach 7-segmentowych informacje odnośnie tego, ile kolorów z aktualnej rundy odpowiada kolorom z szyfru. W trakcie rozgrywki istnieje możliwość przeglądania historii rund, co znacząco ułatwia złamanie szyfru. W przypadku pomyślnego złamania szyfru, na wyświetlaczu CORRECT PLACE pojawia się liczba 4, a wszystkie wyświetlacze zaczynają migać z częstotliwością 1 Hz. W przypadku, kiedy w ciągu ośmiu rund nie uda się osobie odgadującej odgadnąć szyfru, na diodach ujawnia się szyfr, a wszystkie wyświetlacze zaczynają migać z częstotliwością 1 Hz. W celu zresetowania rozgrywki wystarczy przytrzymać przycisk acceptButton przez ponad 3 sekundy. 2 Cytuj Link do komentarza Share on other sites More sharing options...
Treker (Damian Szymański) Styczeń 28, 2019 Udostępnij Styczeń 28, 2019 @woyna, witam na forum 😉 Widzę, że to Twoje pierwsze kroki na Forbocie, oto najważniejsze informacje na start: Chcesz przywitać się z innymi członkami naszej społeczności? Skorzystaj z tematu powitania użytkowników. Opis najciekawszych funkcji, które ułatwiają korzystanie z forum znajdziesz w temacie instrukcja korzystania z forum - co warto wiedzieć? Poszczególne posty możesz oceniać (pozytywnie i negatywnie) za pomocą reakcji - ikona serca w prawym dolnym rogu każdej wiadomości. Właśnie zaakceptowałem Twój opis, możesz go teraz zgłosić do akcji rabatowej umieszczając link w temacie zbiorczym. Dziękuję za przedstawienie ciekawego projektu, zachęcam do prezentowania kolejnych DIY oraz aktywności na naszym forum 🙂 1 Cytuj Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
Dołącz do dyskusji, napisz odpowiedź!
Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!