Arduino Projeleri
#22Başlangıç

Reaksiyon Hızı Test Cihazı

~45 dkYok

Proje Amacı

Rastgele bir gecikmeden sonra yanan LED'e ne kadar hızlı tepki verdiğinizi milisaniye hassasiyetinde ölçer — ortalama insan görsel tepki süresi 200-250 ms civarındadır, kendi sonucunuzla karşılaştırabilirsiniz.

Gerekli Malzemeler

  • Arduino Uno
  • LED
  • Buton
  • 220Ω direnç
  • Breadboard

Gerekli Kütüphaneler

Gerekli ek kütüphane yok, sadece Arduino IDE'nin yerleşik fonksiyonları kullanılıyor.

Pin Bağlantıları

Bileşen PiniBağlantı
LED Anot (220Ω üzerinden)
D9
LED Katot
GND
Buton
D2 (INPUT_PULLUP)

Devre Şeması

Arduino Kodu

arduino-22-reaksiyon-hizi-test-cihazi.ino
1const int led=9, buton=2;
2unsigned long baslangicZamani;
3
4void setup(){
5 pinMode(led, OUTPUT);
6 pinMode(buton, INPUT_PULLUP);
7 Serial.begin(9600);
8 randomSeed(analogRead(A5));
9}
10
11void loop(){
12 digitalWrite(led, LOW);
13 int bekleme = random(2000, 6000);
14 delay(bekleme);
15
16 digitalWrite(led, HIGH);
17 baslangicZamani = millis();
18
19 while(digitalRead(buton) == HIGH);
20
21 unsigned long tepkiSuresi = millis() - baslangicZamani;
22 Serial.print("Tepki süresi: ");
23 Serial.print(tepkiSuresi);
24 Serial.println(" ms");
25
26 digitalWrite(led, LOW);
27 delay(2000);
28}

Çalışma Açıklaması

random(2000, 6000) aralığı LED'in ne zaman yanacağını öngörülemez kılmak için kasıtlı geniş tutulmuştur. 16x2 LCD eklenerek sonucun ekranda gösterilmesi de mümkündür.

Test Bilgisi

Devreyi kurun, kodu yükleyin, Seri Monitör'ü açın. LED yanana kadar bekleyin, yanar yanmaz butona hızlıca basın; Seri Monitör'de tepki sürenizi (ms) görün. Arkadaşlarınızla karşılaştırın!

Olası Sorunlar ve Çözümleri

Süre hep aynı/mantıksız çıkıyorsa: randomSeed(analogRead(A5)) satırının A5 boş/bağlı olmayan bir pine bakmasına dikkat edin, rastgelelik bu okumaya dayanır. Buton basılı algılanmıyor gibi görünüyorsa endişelenmeyin: while döngüsü butona basılana kadar programı kasıtlı olarak durdurur, bu bir hata değil tasarımın kendisidir.

Alternatif Çözümler

Tek oyunculu yerine 2 butonla 2 oyunculu yarışma modu eklenebilir. Sonuç sayısal olarak LCD/OLED ekranda gösterilebilir. En iyi skor (en düşük süre) EEPROM'a kaydedilerek kalıcı bir rekor tablosu tutulabilir.

Bu projenin kodunu AI ile özelleştir

Farklı pin, ek özellik ya da başka bir sensör mü istiyorsun?