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

Nowy zakup

Zakupiliśmy nowy moduł Arduino Leonardo i Yun z obsługą sieci przez Ethernet i WiFi.

Nowe czujniki

Mamy nowe czujniki żyroskopowe. Możemy kontrolować położenie robota.

Zajęcia otwarte

Zapraszamy na zajęcia otwarte uczniów klas SP, które odbywają się w każdy poniedziałek w godz. 15.00-16.00 (Prosimy o kontakt w celu zebrania grupy).