↯ Robotik KodlamaTüm projeler

Mesafe hedefi oyunu

Düğmeyle hedef mesafe seç ve ölçüm hedefe yakınsa başarı göster.

13+ yaş · 35 dakika ·

İnteraktif atölyede aç →

Neler öğreneceğiz?

Düğmeyle hedef mesafe seç ve ölçüm hedefe yakınsa başarı göster.
Ultrasonik darbenin gidiş-dönüş süresini ölçeriz. Yaklaşık us/58 dönüşümü santimetre verir. -1 yankı alınamadığını belirtir. Örnekler arasında en az 60 ms bekle; 2 cm altı ve eğimli/yumuşak yüzeyler güvenilmez olabilir. ECHO 5 V olduğundan bu bağlantı Uno içindir.
Orta uç 0–5 V arasında değişir. Uno 10 bit ADC ile yaklaşık 0–1023 değer üretir; dış uçlar yer değiştirirse dönüş yönü ters olur.
D9 dijital çıkıştır ve PWM de destekler. Direnç LED akımını sınırlar. LED’in kısa bacağı katottur; kesik kenarını da kontrol et.
Pasif piezo tone() ile sürülür. Aktif buzzer farklı davranır. Düşük ses düzeyiyle çalış; kulağa yaklaştırma. Uno tone() kullanırken D3/D11 PWM etkilenebilir.

Mesafe hedefi oyunu — proje görseli
Bu projeye ait algoritma, deney veya elektriksel bağlantı görselidir. Donanım görselindeki semboller gerçek breadboard yerleşimi değildir.

Malzeme listesi

  1. 1 × Arduino Uno R3
  2. 1 × USB veri kablosu
  3. 1 × breadboard
  4. Yeterli sayıda jumper kablo
  5. 1 × HC-SR04 ultrasonik sensör
  6. 1 × 10 kΩ potansiyometre
  7. 1 × LED
  8. 1 × 330 Ω direnç
  9. 1 × düşük akımlı pasif piezo buzzer
  10. 1 × 100 Ω seri direnç

Bağlantı tablosu

BaşlangıçBağlantı
HC-SR04 VCC5V
HC-SR04 GNDGND
HC-SR04 TRIGD12
HC-SR04 ECHOD11
Potansiyometre dış uç 15V
Potansiyometre dış uç 2GND
Potansiyometre orta uçA0
D9330 Ω direnç → LED anot (+)
LED katot (−)GND
D4100 Ω → pasif piezo +
Pasif piezo −GND

Adım adım yapalım

  1. Önce bağlantı görselini ve malzeme listesini oku. 6–8 yaş grubunda bir yetişkin devreyi kurarken çocuk komutları ve sonucu takip eder.
  2. USB ve harici beslemeyi çıkar. Breadboard güç raylarının bağlı/ayrık bölümlerini kontrol et.
  3. HC-SR04 VCC ucunu 5V noktasına bağla.
  4. HC-SR04 GND ucunu GND noktasına bağla.
  5. HC-SR04 TRIG ucunu D12 noktasına bağla.
  6. HC-SR04 ECHO ucunu D11 noktasına bağla.
  7. Potansiyometre dış uç 1 ucunu 5V noktasına bağla.
  8. Potansiyometre dış uç 2 ucunu GND noktasına bağla.
  9. Potansiyometre orta uç ucunu A0 noktasına bağla.
  10. D9 ucunu 330 Ω direnç → LED anot (+) noktasına bağla.
  11. LED katot (−) ucunu GND noktasına bağla.
  12. D4 ucunu 100 Ω → pasif piezo + noktasına bağla.
  13. Pasif piezo − ucunu GND noktasına bağla.
  14. Bir yetişkinle güç, GND, parça yönü ve dirençleri bağlantı tablosuna göre tek tek kontrol et.
  15. Arduino IDE’de Arduino Uno kartını ve bağlı portu seç. Servo veya LCD kullanılan projelerde ilgili Servo/LiquidCrystal kütüphanesini kur.
  16. Aşağıdaki bağımsız kodu yeni eskize yapıştır ve karta yükle. Seri Monitör gerekiyorsa 9600 baud seç.
  17. Beklenen sonucu gözle, ardından yalnız bir değişkeni değiştirerek “Sıra sende” görevini yap.

Kod · Arduino C++

// Arduino Uno R3 — Mesafe hedefi oyunu

bool last=false;
long distanceCm(){digitalWrite(12,LOW);delayMicroseconds(2);digitalWrite(12,HIGH);delayMicroseconds(10);digitalWrite(12,LOW);unsigned long us=pulseIn(11,HIGH,25000UL);return us==0?-1:long(us/58UL);}
int knob(){return analogRead(A0);}
void led(bool on) { digitalWrite(9, on ? HIGH : LOW); }
void beep(int hz,int ms){tone(4,hz,ms);delay(ms);noTone(4);}
void setup(){
  Serial.begin(9600);
  pinMode(12,OUTPUT); pinMode(11,INPUT);
  pinMode(9, OUTPUT);
  pinMode(4,OUTPUT);
}
void loop(){
  long d=distanceCm();int target=map(knob(),0,1023,10,60);bool hit=d>=2&&abs(d-target)<=3;led(hit);if(hit&&!last)beep(880,100);last=hit;Serial.println(target);delay(100);
}

Kod nasıl çalışır?

Düğmeyle hedef mesafe seç ve ölçüm hedefe yakınsa başarı göster.
setup() bir kez çalışıp pin yönlerini ve haberleşmeyi hazırlar. loop() içindeki komutlar sürekli tekrarlanır. Ultrasonik darbenin gidiş-dönüş süresini ölçeriz. Yaklaşık us/58 dönüşümü santimetre verir. -1 yankı alınamadığını belirtir. Örnekler arasında en az 60 ms bekle; 2 cm altı ve eğimli/yumuşak yüzeyler güvenilmez olabilir. ECHO 5 V olduğundan bu bağlantı Uno içindir.
Orta uç 0–5 V arasında değişir. Uno 10 bit ADC ile yaklaşık 0–1023 değer üretir; dış uçlar yer değiştirirse dönüş yönü ters olur.
D9 dijital çıkıştır ve PWM de destekler. Direnç LED akımını sınırlar. LED’in kısa bacağı katottur; kesik kenarını da kontrol et.
Pasif piezo tone() ile sürülür. Aktif buzzer farklı davranır. Düşük ses düzeyiyle çalış; kulağa yaklaştırma. Uno tone() kullanırken D3/D11 PWM etkilenebilir.

Beklenen sonuç

Nesne hedefin ±3 cm içindeyken LED yanar; girişte ses çıkar.

Sıra sende

Toleransı 2 cm yaparak oyunu zorlaştır.

Güvenli atölye

Yalnız düşük gerilimli eğitim devresi. Şebeke/priz bağlantısı yapma. Bağlantıları enerji kapalıyken ve bir yetişkinle kur. Motor/servo hareket alanını boş tut. Bu proje fiziksel devrede test edilmiş olarak işaretlenmemiştir.

Çalışmıyorsa kontrol et

  1. Kod yüklenmiyorsa kart, port ve USB veri kablosunu kontrol et.
  2. Gücü çıkarıp her bağlantıyı tablodaki satırla eşleştir; ortak GND olmadan sinyaller güvenilir olmayabilir.
  3. Beklenen sonuçla gerçek sonucu karşılaştır. Sensör eşikleri bulunduğun ortama göre ayar ister.
  4. LED yanmıyorsa seri direnci ve anot/katot yönünü kontrol et; LED içermeyen projede sensörün pin etiketlerini incele.

https://docs.arduino.cc/hardware/uno-rev3/

https://docs.arduino.cc/language-reference/