Ana içeriğe geç

Alev Sensörlü Eğitsel Oyun

🔥 Arduino Alev Sensörlü Eğitsel Mini Oyun

Arduino alev sensörü ve LCD ekran kullanarak eğitsel mini oyun nasıl yapılır? Bu rehberde oyun mantığı, devre bağlantıları ve tam Arduino kodunu bulabilirsiniz.

Bu projede Arduino, alev sensörü ve I2C 16x2 LCD ekran kullanılarak
yangın farkındalığı kazandıran, süre bazlı eğitsel bir mini oyun geliştirilmiştir.

Oyunun amacı, alev sensöründen alevi uzak tutarak mümkün olduğunca uzun süre oyunda kalmaktır.


🎯 Projenin Amacı

Bu proje ile:

  • Alev sensörünün çalışma mantığı
  • Dijital sensör okuma
  • LCD ekran ile oyun arayüzü
  • Süre bazlı oyun döngüsü
  • Gerçek hayat farkındalığı

öğrenilmiş olur.


🧠 Oyun Mantığı (Basit Anlatım)

  1. Oyun başlar ve süre sayacı çalışır
  2. Alev sensörü alev algılamazsa:
    • Oyun devam eder
    • Süre artar
  3. Alev sensörü alev algılarsa:
    • Oyun biter
    • LCD ekranda GAME OVER yazısı görünür
  4. Arduino resetlenince oyun yeniden başlar

🎮 Oyun Kuralları

  • Oyuncu alevi sensörden uzak tutmalıdır
  • Ne kadar uzun süre alev algılanmazsa skor o kadar yükselir
  • Alev algılandığı anda oyun sona erer

📺 LCD Ekran Görünümü

🟢 Oyun Devam Ediyor

KEEP SAFE!
Time: 12s

🔥 Oyun Bitti

GAME OVER!
FIRE!!!

🧩 Kullanılan Malzemeler

  • Arduino Uno veya Nano
  • Alev sensörü (Flame Sensor Module)
  • I2C 16x2 LCD ekran
  • Breadboard
  • Jumper kablolar

🔌 Devre Bağlantıları

LiquidCrystal_I2C ve alev sensörü bağlantısı

Alev Sensörü

PinArduino
VCC5V
GNDGND
DOD7

Bu projede dijital çıkış (DO) kullanılmıştır.

I2C LCD

LCDArduino
SDAA4
SCLA5
VCC5V
GNDGND

💻 Arduino Kodları (Tam ve Açıklamalı)

I2C LCD Ekran kütüphane ekleme talimatı için tıklayınız

#include <Wire.h>
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27, 16, 2);

#define FLAME_PIN 7

unsigned long startTime;
bool gameOver = false;

void setup() {
pinMode(FLAME_PIN, INPUT);

lcd.init();
lcd.backlight();

lcd.setCursor(0, 0);
lcd.print("Flame Game");
lcd.setCursor(0, 1);
lcd.print("Get Ready!");
delay(2000);
lcd.clear();

startTime = millis();
}

void loop() {
if (gameOver) return;

int flameState = digitalRead(FLAME_PIN);

if (flameState == LOW) { // Alev algılandı
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("GAME OVER!");
lcd.setCursor(0, 1);
lcd.print("FIRE!!!");
gameOver = true;
return;
}

unsigned long elapsed = (millis() - startTime) / 1000;

lcd.setCursor(0, 0);
lcd.print("KEEP SAFE! ");
lcd.setCursor(0, 1);
lcd.print("Time: ");
lcd.print(elapsed);
lcd.print("s ");

delay(500);
}

🧠 Bu Projede Ne Öğrenilir?

KonuKazanım
Alev sensörüYangın algılama mantığını öğrenme
LCD ekranOyun arayüzü ve bilgi gösterimi
Zamanmillis() kullanarak süre takibi
Karar yapılarıif / else ile durum kontrolü
GüvenlikYangın farkındalığı ve erken uyarı

🚀 Geliştirme Fikirleri

Bu proje, aşağıdaki geliştirmelerle daha ileri seviyeye taşınabilir:

  • En iyi süreyi EEPROM’a kaydetme
  • Buzzer ekleyerek sesli alarm oluşturma
  • Joystick ile oyunu başlatma / yeniden başlatma
  • Seviye sistemi ekleyerek oyunu zamanla zorlaştırma
  • Gaz sensörü ekleyerek çoklu tehlike algılama (gaz + alev)

👨‍🎓 Kimler İçin Uygun?

Bu proje özellikle aşağıdaki kişiler için uygundur:

  • Okul projeleri ve STEM çalışmaları
  • Arduino’ya yeni başlayanlar
  • Eğitsel ve oyun tabanlı projeler geliştirmek isteyenler
  • Blog yazısı veya YouTube eğitimi üretenler

✅ Sonuç

Alev sensörü ve I2C LCD ekran kullanılarak geliştirilen bu mini oyun,
hem eğitici hem de eğlenceli bir Arduino projesidir.

Sensörlerin çalışma mantığını oyunlaştırarak öğretmek için
son derece uygun ve geliştirilebilir bir örnek sunar.