SNAKE na Arduino #1

SNAKE na Arduino #1

Witam,

Nazywam się Rafał i chciałbym przedstawić projekt sławnej gry Snake  na Arduino. W drugiej części pokażę  wam jak zrobić fajną obudowę na  grę.

Co nam będzie potrzebne:

– Arduino, w moim przypadku Uno,

– Wyświetlacz LCD graficzny 84x48px – Nokia 5110,

– Buzzer 5v,

– Przewody połączeniowe,

– Płytka stykowa,

– Rezystor 100Ω i 330Ω,

–Tact Switch 5 szt,

Wszystkie potrzebne elementy widać na zdjęciu.

5

Od czego zacząć?

Ściągamy i instalujemy wszystkie potrzebne biblioteki:

Teraz czas złożyć nasz układ:

snake_bb

Podłączenie LCD:

pin 7 – Serial clock out (CLK)
pin 6 – Serial data out (DIN)
pin 5 – Data/Command select (DC)
pin 4 – LCD chip select (CE)
pin 3 – LCD reset (RST)

Buzzer podłączyłem przez rezystor 100Ω, aby nie był byt głośny.

Wgrywanie sketcha

Aby na wyświetlaczu zobaczyć wszystko dokładnie należy pamiętać o dobrym ustawieniu kontrastu- display.setContrast(25);  w moim przypadku jest to 20.

Sterowanie

Sterowanie jest bardzo proste 4 przyciski odpowiadają za kierunek poruszania się węża(góra, dół, prawo, lewo), natomiast 5 przycisk pełni funkcję pauzy.

Mechanika gry

Gra jest bardzo prosta, poruszasz się wężem i zjadasz pokarm za który otrzymujesz 1 punkt i się powiększasz. Gra staje się trudniejsza wraz z ilością zjadanego pokarmu.

Gotowe!

Jeśli zrobiłeś wszystko dobrze możesz cieszyć się grą.

3

2

4

1

Myślę, że poradnik się przyda, pozdrawiam RaV:)

Źródła: SnakeDuinoSnake Game, Nokia 5110.

Ocena: 4.47/5 (głosów: 15)

Podobne posty

14 komentarzy do “SNAKE na Arduino #1

  • Witaj,
    Fajnie opisane. Plus za to, że analizowałeś kod. Chociaż:
    digitalWrite(LEFT, HIGH); //Stany
    Nie oznacza ustawienie “stanów” na pinach, ale rezystorów podciągających (PULL_UP). Tylko dzięki temu Twoje klawisze nie szaleją:)
    Wydaje mi się, że trochę zatrzymałeś się w pół kroku… W stosunku do oryginalnych projektów (i tu chwała Ci za podanie źródeł) można było wiele zrobić. Dla przykładu – podłączenie buzzera. To nie jest najszczęśliwszy sposób na rozwiązanie tego problemu. Buzzer potrafi “wyciągnąć” trochę prądu i przez to zasilanie go z pinu cyfrowego nie jest… zalecane – nawet jeżeli dodałeś rezystor. Lepiej to zrobić na tranzystorze – jeden element i 3 kabelki więcej, a zrobi różnicę. A może joystick? Jakaś obudowa?
    Kod też można usprawnić – jak pewnie zauważyłeś po skompilowaniu zajmuje 80% pamięci zmiennych. Są tam duże tablice, brzmi jak wyzwanie!
    Podsumowując – doceniam Twoje zaangażowanie, widać, że popracowałeś nad tekstem, plus za podanie źródeł – przydałoby się więcej Twojej inwencji:) Ten tekst traktuję jak wstęp, czekam na część #2:)
    Pozdrawiam.

    Odpowiedz
  • “Kod też można usprawnić – jak pewnie zauważyłeś po skompilowaniu zajmuje 80% pamięci zmiennych.”
    Z tym by optymalizować różne kody, zgodzę się w 100%
    Jednak nie widzę problemu w tym, by pamięć wykorzystywać do tego do czego została stworzona
    Mówienie, że to źle, że 80% pamięci jest zapełnione w końcowym projekcie jest przerostem formy nad treścią
    Gdyby to było w połowie projektu – to tutaj był by problem, jednak przy skończonym projekcie nie widzę w tym nic złego

    Odpowiedz
  • Witam,

    artykuł bardzo dobry chociaż pragnę zwrócić Ci uwagę na jedną rzecz – wyświetlacz z nokia 5110 powinien być zasilany napięciem 2,7-3,3V. Ty tutaj podłączasz go pod 5V (poza podświetleniem). Mimo że na Arduino UNO masz możliwość zasilenia 3,3V to mimo wszystko polecam zastosowanie rezystorów. Wiem po sobie bo niedawno kupiłem właśnie taki wyświetlacz i w sumie nie podziałał mi dłużej niż 24 godziny :/ Cała reszta cacy i gratulacje artykułu! Pozdrawiam!

    Odpowiedz
  • Można zamienić płytkę na nano? Bo jeżeli można je zamienić, to spoko, bo widzę, że to fajny projekt jak na początek zabawy z arduino. Tak. Jak mi przyjdzie arduino, zacznę się w to bawić jako kompletny laik

    Odpowiedz

Odpowiedz

anuluj

Masz uwagi?