Zapisz na liście zakupowej
Stwórz nową listę zakupową

6. Kostka do gry

Kostka do gry

Wstęp

Czy kiedykolwiek chciałeś zrobić swoją własną kostkę do gry? Ten poradnik pokaże Ci, jak stworzyć kostkę do gry z wykorzystaniem Arduino, MPU6050 i wyświetlacza matrix 8x8. Kostka do gry będzie wyświetlać losową liczbę oczek od 1 do 6.

Zarys historyczny

Starożytność i Początki Kostek Do Gry:

Historia kostek do gry sięga starożytności, gdy były one używane w różnych kulturach do wróżb, rytuałów i rozrywki. Pierwsze kostki wykonywano z różnych materiałów, takich jak drewno, kość słoniowa czy kamień. Kostki były nieodłącznym elementem gier hazardowych i strategicznych, przekształcając się w narzędzie do podejmowania decyzji.

Ewolucja Do Współczesnych Kostek Do Gry:

Wraz z rozwojem cywilizacji, kostki do gry przeszły ewolucję. W średniowieczu zaczęto nad nimi dbać bardziej, zdobiono je i umieszczano w specjalnych puszkach. W XIX wieku pojawiły się standardowe sześciościenne kostki, które stały się popularne w wielu tradycyjnych grach planszowych i strategicznych.

Era Cyfrowa i Technologiczna Rewolucja:

Współczesność przyniosła nam cyfrową rewolucję, która zmieniła sposób, w jaki gramy w gry. Kostki do gry zostały przeniesione na ekrany smartfonów i komputerów, umożliwiając dostęp do wielu różnorodnych gier na wyciągnięcie ręki. Jednak rosnące zainteresowanie projektami DIY spowodowało, że kostki do gry wracają do rzeczywistości w innowacyjny sposób.

Przygotowaliśmy dla was projekt, w którym stworzycie własną kostkę do gry za pomocą technologii Arduino, czujnika MPU6050 oraz matrycy LED. Dzięki temu projektem będziecie mogli połączyć tradycję z nowoczesnością, tworząc interaktywną i cyfrową kostkę, która może być wykorzystana w różnorodnych grach i zabawach.

Użyte elementy:

Element Ilość
Arduino Uno 1
MPU6050 1
Matryca LED 8x8 1
Rezystory 330 Ohm 8
Przewody m-m 12
Przewody m-ż 16

Schemat połączeń:

Działanie programu:

W kodzie wykorzystywane są dwie kluczowe koncepcje: wyświetlanie wzorów na matrycy LED oraz reakcja na nagłe zmiany przyspieszenia.

  1. Wyświetlanie wzorów na matrycy LED: W kodzie zdefiniowane są dwie tablice pinów: rowPins dla wierszy i colPins dla kolumn matrycy LED. Funkcje clearDisplay() i setPoint(int x, int y) służą do obsługi matrycy, a każda z funkcji displayOne() do displaySix() odpowiada za wyświetlenie konkretnego wzoru. Funkcja clearDisplay() wyłącza wszystkie diody, aby wyczyścić wyświetlacz. Funkcja setPoint(int x, int y) włącza diodę o określonych współrzędnych (x, y), tworząc w ten sposób określony punkt na matrycy.

  2. Reakcja na nagłe zmiany przyspieszenia: W pętli loop(), kod odczytuje wartości przyspieszenia osi x, y i z z sensora MPU6050. Jeśli dowolna wartość przekroczy próg (15000), program wybiera losową liczbę z zakresu 1-6 i na tej podstawie wywołuje jedną z funkcji displayOne() do displaySix(). Każda z tych funkcji odpowiada za wyświetlenie określonego wzoru na matrycy LED. Po wyświetleniu wzoru program czeka przez sekundę, a następnie wraca do początku pętli.

Działanie całego programu polega na tym, że kiedy sensor wykryje nagłą zmianę przyspieszenia, program wybierze losowo jeden z sześciu wzorów i wyświetli go na matrycy LED. Wzory te mogą przypominać wzory kostki do gry, np. wyświetlić "oczko" odpowiadającą wylosowanej liczbie. Dzięki temu program może tworzyć efektowną reakcję wizualną na wstrząsy lub ruchy urządzenia, co może mieć zastosowanie w grach, zabawach czy projektach artystycznych.

Schemat blokowy programu kostki do gry

Kod programu:

Test działania projektu:

Sprawdzenie, czy nasz projekt działa polega na zwyczajnym potrząśnięciu kostką, jeżeli wyświetla się nam odpowiednia liczba oczek, oznacza to, że wszystko działa poprawnie. Jeżeli coś nie działa, warto w pierwszej kolejności sprawdzić podłączenie układu (głupia sytuacja, ale czasem może coś przypadkiem się odczepić, lub podłączy się coś gdzie nie trzeba). Pamietaj, by wszelkie modyfikacje układu przeprowadzać z wyłączonym zasilaniem (odłączonym Arduino/baterią), ponieważ może to prowadzić do uszkodzenia komponentów. Jeżeli to nic nie wskórało, trzeba spojrzeć na sam kod programu. Sprawdź wszystkie instrukcje warunkowe (if) oraz same zmienne czy nie ma w nich literówek (zwłaszcza adresy przycisków), oraz na same czasy opóźnienia (delay).

Dodatkowe modyfikacje:

  • Spróbuj zmienić jasność świecenia kostki (podpowiedź to rezystor),
  • Spróbuj zmodyfikować program oraz układ tak, aby można było losować liczbę przy pomocy przycisku zamiast ruchu.

Podsumowanie

Świetnie, właśnie wykonałeś swoją prywatną elektroniczną kostkę do gry, teraz możesz ją na spokojnie wypróbować w jakieś planszówce z rodziną lub znajomymi. Życzymy miłej zabawy!

pixel