Gra na refleks – Arduino

5 marca 2019

Gra na refleks – Arduino:

  1. Ogólne założenia
  2. Projektowanie układu
  3. Wymagane elementy
  4. Budowa kodu
  5. Działanie gry

Pora na wykorzystanie naszego Arduino do zbudowania czegoś przyjemnego, czegoś, czym zainteresujesz starsze i młodsze pokolenie, czegoś, co będzie proste do zbudowania oraz równe proste w zrozumieniu działania kodu. Będzie to gra na refleks dla dwóch osób.

1. Ogólne założenia

Gra powinna być zbudowana z dwóch elementów, które będą testowały reakcję graczy oraz trzech sygnalizatorów : dwóch informujących kto pierwszy wcisnął przycisk oraz jednego informującego graczy o tym, kiedy mogą rozpocząć rywalizację (START/STOP). Oto lista założeń działania gry :

  • Sygnalizator świeci przez losowy czas
  • Sygnalizator gaśnie aktywując elementy testujące refleks graczy
  • Sprawdzenie refleksu graczy
  • Zapalenie sygnalizatora gracza, który miał szybszy refleks
  • Dioda sygnalizatora z punktu wyżej
  • Powrót do punktu pierwszego

2. Projektowanie układu

Jako dwóch sygnalizatorów informujących o tym, który gracz popisał się szybszym refleksem możemy użyć pary czerwonych diod LED natomiast jako sygnalizatora START/STOP użyjemy zielonej diody LED. Przyciski „tact switch” będą idealne do sprawdzenia, który gracz wygrał – wcisnął go jako pierwszy od momentu zgaśnięcia zielonej diody. Na podstawie tego możemy zrobić listę wymaganych elementów.

Całość podłączamy jak na zdjęciu poniżej :

3. Wymagane elementy

Kliknij na dany element, aby sprawdzić go w sklepie

4. Budowa kodu

Opiszę tylko najważniejsze elementy kodu natomiast cały sketch jest dostępny pod tym linkiem

int ledG = 4; –> Informujesz Arduino, że podłączyłeś diodę zieloną do pinu 4

int stanR = LOW; –> stan diody czerwonej jest niski (dioda nie świeci się)
int stanG = HIGH; –> stan diody zielonej jest wysoki (dioda świeci się)

long rndm; –> deklarujesz zmienną rndm, która przechowuje czas świecenia się zielonej diody

pinMode(ledG, OUTPUT); –> pin, pod który podłączona jest dioda działa jako wyjście
pinMode(buttonL, INPUT); –> pin, pod który podłączony jest przycisk działa jako wejście

digitalWrite(ledG, stanG); –> przypisz diodzie stan ze zmiennej stanG

randomSeed(millis()); –> losowanie liczby

stanL = digitalRead(buttonL); –> przypisz zmiennej stanL (stanLeft) odczyt z lewgo przycisku (buttonLeft)

if (i == 0)
{
digitalWrite(ledG, stanG);
rndm = random(2000, 7000);
delay(rndm);
stanG = !stanG;
digitalWrite(ledG, stanG);
i++;
}

Jeżeli zmienna i jest równa 0 to wtedy :

  • przypisz zielonej diodzie stan ze zmiennej stanG
  • wylosuj liczbę z przedziału od 2000 do 7000
  • odczekaj tyle czasu ile wynosi wylosowana liczba (w milisekundach)
  • zmień stanG na przeciwny
  • przypisz zielonej diodzie stan ze zmiennej stanG
  • dodaj 1 do zmiennej i

5. Działanie gry na refleks – Arduino

https://www.instagram.com/p/BqkAf1PnuTY/
ZBUDUJ WŁASNĄ GRĘ I POKONAJ KOLEGÓW 😀

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *