Postanowiłem, że jeśli doprowadziłem już całkiem sporo urządzeń do śmierci, to najwyższa pora odwrócić ten trend i zacząć budować coś samemu.
Z tego powodu zaopatrzyłem się w klon Arduino UNO. Arduino jest to platforma programistyczna Open Hardware/Open Source. Umożliwia ona bardzo łatwe programowanie mikrokontrolerów z serii ATMega. Mikrokontroler to taki miniaturowy komputer – w jednym układzie scalonym jest procesor, pamięć RAM, pamięć Flash, układy wejścia i wyjścia oraz parę innych ciekawych elementów.
W podstawowym modelu Arduino UNO pamięci na program jest całe 32 kilobajty a RAMu „aż” 2 kilobajty. Nie, Crysis na tym nie pójdzie, ale można tam zmieścić zaskakująco dużo.
Postanowiłem zbudować sobie klon gry Scorched Earth (dostępna legalnie za darmo od twórcy tutaj). W tej grze naprzeciwko siebie stają dwa czołgi, które do siebie na przemian strzelają. Ustawia się kąt, siłę wystrzału i trzyma mocno kciuki, żeby trafić.
Potrzebuję podzespołów. Na początek ekran. Do zwykłego monitora się nie podłączę tak prosto (choć jest to możliwe), poza tym chcę, aby moja gra była przenośna. Rozglądałem się za czymś jak najtańszym i okazało się, że obecnie najlepszym rozwiązaniem jest ekran OLED o przekątnej 0.96 cala. Rozdzielczość to 128 x 64. Starczy.
Kontroler także muszę zbudować sam. Jeden przycisk starczy. Aby wygodnie wprowadzać nachylenie i moc armaty, dokładam jeszcze potencjometr. Dobra gra wymaga również efektów dźwiękowych – prosty buzzer/brzęczyk/głośniczek także jest konieczny. Całość osadzę na taniej, chińskiej oczywiście, płytce prototypowej.
Czas na programowanie. Arduino to zasadniczo pisanie w C++, więc dla wielu osób powinno być to bardzo proste. Nie będę się specjalnie rozwodził nad tym, jak wygląda cały kod. Powiem tylko tyle, że mam około 350 linii, a kod wygląda tak. Komentarze niestety są po angielsku, jako że chciałem się podzielić tym dziełem z szerszym światem. Poza tym nauka Arduino bez podstawowej znajomości języka angielskiego to i tak droga przez mękę.
Tak wygląda skończona gra. Nadal jest bardzo prototypowo, ale nie szkodzi. Ważne, że działa. Dla ciekawskich – widok płytki od spodu. Nic do ukrycia, wszystko banalne.
Czas na Let’s play. Niestety tym razem bez komentarza DaeLa. Migotanie ekranu to kwestia nagrywania – na żywo wygląda idealnie.
Na deser koszty całego przedsięwzięcia. Ceny brałem z BangGood.com – bardzo polecam tę stronę. Komponenty elektroniczne mają jedne z najtańszych na rynku, a paczki potrzebują tydzień-dwa aby dotrzeć do Europy. Wysyłka oczywiście gratis.
OLED 0.96”, 21.96
Plytka prototypowa, 3.13
Przycisk, 2.54
Buzzer, 3.80
Potencjometr, 4.70
Rezystory (400 szt.), 15.61
Suma:, 68.37
[/table]Zakładam, że lutownica i kilka kabelków jest na stanie. Cena może być jeszcze niższa, jeśli kupi się część elementów hurtowo. Jeden przycisk, owszem, kosztuje 2.54, ale jak kupi się ich sto, tak jak ja to zrobiłem, to zapłaci się 7.51. Warto. Należy także pamiętać, że wykorzystane elementy nie giną. Szczególnie Arduino można zawsze przeprogramować i wykorzystać do czegoś innego.
Tradycyjnie o tym i o innych odcinkach Rozkręcaj z LLotharem rozmawiamy na Forum.