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






