• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Gra na Arduino. Czyli Arkanoid na wyświetlaczu matrycowym LED 8x8.
#1


Witam. Chciałem opisać tutaj jeden ze swoich pierwszych projektów, z wykorzystaniem Arduino Uno. Odgrzebałem go ostatnio z dna szuflady - jest to gra Arkanoid, czyli zbijanie kafelków u góry ekranu odbijając poruszającą się piłkę rakietką. Moja fascynacja wykorzystywaniem domowo wykonanych płytek PCB trwała w najlepsze, więc płytki dodane do Arduino zostały stworzone własnoręcznie.

Motywacja
Główną przyczyną wykonania tego urządzenia był walor edukacyjny jak i wykonanie projektu do zaliczenia przedmiotu na studiach. Ogólnie zanim wspomniane zaliczenie projektu, to najpierw drzemała we mnie chęć zrobienia pierwszej dwuwarstwowej płytki PCB. Bez większego zastanawiania się stwierdziłem, że zrobię matrycę ledów 8x8. W późniejszym etapie z uwagi na to, że na studiach mieliśmy przedmiot oparty o zabawy z Arduino wykorzystałem istniejący już wyświetlacz do tego właśnie projektu. Inspiracją była taka straganowa gierka z mojego dzieciństwa (załóżmy, że chociaż co do odtworzenia jednej z gierek, bo raczej nie wyglądu [Obrazek: icon_biggrin.gif]).
[Obrazek: 7687252500_1589395371_thumb.jpg]

Wyświetlacz
Projekt wyświetlacza sprowadził się do ułożenia 64 diod obok siebie w kwadrat 8 na 8 i dodania złącz na wyjście wierszów i kolumn. Po zaprojektowaniu z pomocą żelazka, drukarki laserowej i wytrawiacza B327 powstała płytka PCB. Wybaczcie jakość powierconych otworów i lutowania, ale jak mówi klasyk - pierwsze koty za płoty. Zamówiłem najtańsze diody, jakie znalazłem, a jako złącza użyłem linijki goldpinów.

[Obrazek: 6537456900_1589396845_thumb.jpg] [Obrazek: 6344284000_1589396847_thumb.jpg]
[Obrazek: 9903507700_1589396930_thumb.jpg] [Obrazek: 8793169400_1589396933_thumb.jpg]

Shield do Arduino
Do wysterowywania wierszy i kolumn wyświetlacza powstała przejściowa płytka PCB w formie shielda na Arduino Uno. Zawiera ona w sobie dwa rejestry przesuwne 74HC595 połączone tak, aby można było szeregowo załadować do nich 16 bitów naraz. Trzy przyciski microswitch oraz szereg 8 tranzystorów BC547 + rezystory na bazach.

[Obrazek: 2571117600_1589397729_thumb.jpg] [Obrazek: 4942129600_1589397734_thumb.jpg] [Obrazek: 1263765700_1589397738_thumb.jpg]

[Obrazek: 8552726500_1589397814_thumb.jpg] 

Programowanie i sposób użycia
Do oprogramowania platformy Arduino Uno wykorzystałem, jak można się domyślić, Arduino IDE. Wszystko zostało zakodowane w dość prymitywny sposób bez równań ruchu i jakiś ambitniejszych technik (dodawanie if-ów, aby rozwiązywać napotkane problemy wystarczyło). Wszystko sprowadzało się do porządnego przedebugowania gierki w realu. Właśnie ten proces debugowania przyniósł mi chyba najwięcej frajdy. Dwa skrajne przyciski służą do poruszania rakietką lewo-prawo, natomiast środkowy pozwalał uruchomić grę od nowa. Na powitanie ekran startowy z odliczaniem 3..2..1... W zależności od rezultatu rozgrywki pożegnalny napis WIN lub GAME OVER. Pozycje poszczególnych elementów gry (kafelki, rakietka i piłka) są przechowywane w dwuwymiarowych tablicach zer i jedynek.

Podsumowanie
Bardzo fajnie powspominać sobie, jak to kiedyś było i zobaczyć, z jakimi problemami projektowymi człowiek borykał się kilka lat temu. A Wy jak wspominacie swoje pierwsze konstrukcje?
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości