Gra na refleks - Podstawy Arduino

2020-11-27
Gra na refleks - Podstawy Arduino

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 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 lewego 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 :D
Pokaż więcej wpisów z Listopad 2020
pixelpixelpixelpixel