Lekcja 18: Gra w szybką reakcję
Tematem tej lekcji jest prosta gra sprawdzającą nasz czas reakcji przez włączenie przełącznika po włączeniu się diody.
Do projektu będziemy potrzebowali:
- wyświetlacz lcd,
- Arduino Uno,
- rezystory 220ohm,
- 1 diodę led,
- 1 potencjometr,
- 1 przycisk,
- biblioteki arduino.
Układ montujemy wg schematu poniżej:
Piszemy kod w arduino IDE:
#include < LiquidCrystal.h> LiquidCrystal lcd(12, 11, 5, 4, 3, 2); volatile int a=0; void setup() { pinMode(8,OUTPUT); pinMode(1,INPUT); digitalWrite(8,HIGH); lcd.begin(16, 2); } void loop() { lcd.setCursor(0,0); lcd.print(" Czas reakcji"); digitalWrite(8,HIGH); a++; delay(1); if(digitalRead(1)) { digitalWrite(8,LOW); lcd.setCursor (4,1); lcd.print(a); lcd.print(" ms"); delay(5000); a=0; lcd.clear(); }}
Dokładne podłączenie wyświetlacza lcd możecie zobaczyc w lekcji 9.
- Linia 1 deklarujemy bibliotekę wyświetlacza lcd,
- Linia 2 podajemy piny sterujące wyświetlaczem,
- Linia 3 deklarujemy zmienną, która będzie przechowywać czas naszej reakcji,
- Linia 6-7 deklarujemy pin 8 jako wyjście a pin 1 jako wejście,
- linia 8 wysyłamy sygnał na pin 8 (dioda powinna się zaświecić),
- linia 9 podajemy liczbę znaków i wierszy w wyświetlaczu,
- linia 12 ustawiamy kursor na pierwszy znak i wiersz,
- linia 13 wyświetlamy czas reakcji,
- linia 14 wysyłamy sygnał na pin 8 (dioda powinna się zaświecić),
- linia 15 zwiększamy wartość zmiennej,
- linia 16 sprawdzamy czy przycisk na podłączony na pin 1 został wciśnięty,
- linia 17 wyłączamy diodę,
- linia 18 ustawiamy kursor na 4 znak w pierwszym wierszu,
- linia 19-20 wyświetlamy czas w milisekundach, który oznacza czas reakcji,
- linia 21 robimy opóźnienie 5-sekundowe,
- linia 22 zerujemy zmienną a,
- linia 23 czyścimy ekran.
Powrót do spisu materiałów