Tüm Türkiye'ye Kargo 149,90₺

Proje #001 — Arduino Uno ile Trafik Işığı

Tarih: 14.05.2026 19:29
Proje #001 — Arduino Uno ile Trafik Işığı
Arduino Uno ve 3 LED ile trafik ışığı yap. mBlock ve Arduino IDE kodları, bağlantı şeması ve adım adım montaj rehberiyle eksiksiz proje anlatımı.

??? Proje #001 — Arduino Uno ile Trafik Işığı

Kategori: Proje İçerikleri
Seviye: ★★☆☆☆ Başlangıç
Süre: 30–45 dakika
Hedef anahtar kelimeler: arduino trafik ışığı projesi, arduino led proje, arduino başlangıç projesi, mblock arduino
Meta açıklama: Arduino Uno ve 3 LED ile trafik ışığı yap. mBlock ve Arduino IDE kodları, bağlantı şeması ve adım adım montaj rehberiyle eksiksiz proje anlatımı.


Proje Tanımı

Bu projede Arduino Uno ve 3 renkli LED kullanarak gerçek hayattaki trafik ışığını simüle edeceğiz. Kırmızı, sarı ve yeşil ışıklar sırayla yanıp söner. Hem mBlock (blok kodlama) hem Arduino IDE (metin kodlama) ile yapılır.

Bu projede öğrenilecekler: Dijital çıkış pinleri · delay() fonksiyonu · LED bağlantısı · Döngü mantığı · Sıralı komutlar


Gerekli Malzemeler

AdetMalzemeDeğer / ModelSette var mı?
1Arduino Uno R3✅ Evet
1BreadboardTam boy✅ Evet
1Kırmızı LED5mm✅ Evet
1Sarı LED5mm✅ Evet
1Yeşil LED5mm✅ Evet
3Direnç220Ω✅ Evet
4Jumper kabloErkek-erkek✅ Evet
1USB kabloTipo-B✅ Evet

Tüm malzemeler Arduino Uno Başlangıç Seti içinde mevcuttur.


Bağlantı Şeması

BileşenBağlantı noktasıAçıklama
? Kırmızı LED (+)Arduino Pin 13 → 220Ω dirençAnot (uzun bacak) dirençten, katot (kısa bacak) GND'ye
? Sarı LED (+)Arduino Pin 12 → 220Ω dirençAnot (uzun bacak) dirençten, katot (kısa bacak) GND'ye
? Yeşil LED (+)Arduino Pin 11 → 220Ω dirençAnot (uzun bacak) dirençten, katot (kısa bacak) GND'ye
Tüm LED (−)Arduino GNDTüm katotlar breadboard'un eksi (−) rayına bağlanır
Arduino GNDBreadboard eksi (−) rayOrtak toprak hattı
Arduino Uno
┌──────────────┐
│ Pin 13 ──────┼──[220Ω]──?(+) LED (−) ──┐
│ Pin 12 ──────┼──[220Ω]──?(+) LED (−) ──┤
│ Pin 11 ──────┼──[220Ω]──?(+) LED (−) ──┤
│ GND ─────────┼───────────────────────────┘
└──────────────┘

Montaj adımları

  1. LED'leri yerleştir — Üç LED'i breadboard'a yan yana koy. Uzun bacak (anot +) sağa, kısa bacak (katot −) sola.
  2. Dirençleri bağla — Her LED'in anot bacağına seri olarak 220Ω direnç bağla.
  3. Arduino pinlerini bağla — Pin 13 → kırmızı, Pin 12 → sarı, Pin 11 → yeşil LED direnci.
  4. GND bağlantısını yap — Arduino GND'yi breadboard'un eksi (−) rayına bağla. Tüm LED katotlarını bu raya bağla.
  5. Arduino'yu bilgisayara bağla — USB kablo ile bağla. Güç LED'i yanacaktır.

Kodlama — mBlock (Blok Kodlama)

mBlock, Scratch tabanlı görsel kodlama ortamıdır. 7–10 yaş için önerilir. mblock.makeblock.com adresinden ücretsiz indirilir.

[ Başlat — Bayrak tıklandığında ]
↓
[ Sonsuza Kadar Tekrarla ]
┌──────────────────────────────────────────┐
│ Pin 13'ü YÜKSEK yap ← ? KIRMIZI │
│ Pin 12'yi DÜŞÜK yap │
│ Pin 11'i DÜŞÜK yap │
│ 2000 milisaniye bekle │
│ │
│ Pin 13'ü DÜŞÜK yap │
│ Pin 12'yi YÜKSEK yap ← ? SARI │
│ 500 milisaniye bekle │
│ │
│ Pin 12'yi DÜŞÜK yap │
│ Pin 11'i YÜKSEK yap ← ? YEŞİL │
│ 2000 milisaniye bekle │
└──────────────────────────────────────────┘

Kodlama — Arduino IDE (Metin Kodlama)

Arduino IDE, gerçek C++ kodu yazılan ortamdır. 10 yaş ve üzeri için önerilir. arduino.cc adresinden ücretsiz indirilir.

// ═══════════════════════════════════════════════
// ALPGEN Robotics — Proje #001
// Arduino Uno ile Trafik Işığı
// alpgenrobotics.com
// ═══════════════════════════════════════════════
// Pin tanımlamaları
const int KIRMIZI = 13; // Kırmızı LED — Pin 13
const int SARI = 12; // Sarı LED — Pin 12
const int YESIL = 11; // Yeşil LED — Pin 11
// Süre tanımlamaları (milisaniye)
const int KIRMIZI_SURE = 2000;
const int SARI_SURE = 500; // 0.5 saniye
const int YESIL_SURE = 2000;
// ───────────────────────────────────────────────
void setup() {
// Pinleri ÇIKIŞ olarak tanımla
pinMode(KIRMIZI, OUTPUT);
pinMode(SARI, OUTPUT);
pinMode(YESIL, OUTPUT);
// Başlangıçta tüm ışıkları söndür
digitalWrite(KIRMIZI, LOW);
digitalWrite(SARI, LOW);
digitalWrite(YESIL, LOW);
}// ───────────────────────────────────────────────
void loop() {
// ? KIRMIZI — Dur
digitalWrite(KIRMIZI, HIGH);
digitalWrite(SARI, LOW);
digitalWrite(YESIL, LOW);
delay(KIRMIZI_SURE);
// ? SARI — Hazırlan
digitalWrite(KIRMIZI, LOW);
digitalWrite(SARI, HIGH);
digitalWrite(YESIL, LOW);
delay(SARI_SURE);
// ? YEŞİL — Geç
digitalWrite(KIRMIZI, LOW);
digitalWrite(SARI, LOW);
digitalWrite(YESIL, HIGH);
delay(YESIL_SURE);
}// ───────────────────────────────────────────────

Kodun satır satır açıklaması

KodNe yapar?
const int KIRMIZI = 13;Pin 13'ü 'KIRMIZI' adıyla tanımlar. Sayı yerine isim kullanmak kodu okunabilir yapar.
pinMode(KIRMIZI, OUTPUT);Bu pini 'çıkış' moduna alır. LED'e sinyal göndereceğiz, almayacağız.
void setup()Arduino açıldığında sadece bir kez çalışan fonksiyon.
void loop()Sürekli tekrar eden ana fonksiyon. Trafik ışığı döngüsü burada çalışır.
digitalWrite(KIRMIZI, HIGH);Pin 13'ü 5V yapar → kırmızı LED yanar.
digitalWrite(KIRMIZI, LOW);Pin 13'ü 0V yapar → kırmızı LED söner.
delay(2000);2000 milisaniye (2 saniye) bekler.

Kodu yüklemek

  1. Arduino IDE'yi aç, kodu yapıştır.
  2. Araçlar → Kart → Arduino Uno
  3. Araçlar → Port → COM3 (bilgisayarınızda görünen port)
  4. Sağ ok (→) butonuna tıkla → "Yükleme tamamlandı" mesajını bekle.
  5. Trafik ışığın otomatik çalışmaya başlar.

Sorun Giderme

 ProblemÇözüm
LED hiç yanmıyorGND bağlantısını kontrol et. LED yönünü kontrol et (uzun bacak = anot = +).
Sadece bir LED yanıyorO LED'in pin numarasını kodda kontrol et.
Yükleme hatasıDoğru COM portunu seç. Arduino'yu çıkarıp tekrar tak.
LED çok sönük220Ω direnci 100Ω ile değiştirmeyi dene.
⚠️Işıklar çok hızlıdelay() değerlerini artır — 2000 yerine 4000 yaz.

Projeyi Geliştir

  • Yaya butonu: Buton ile yayaların geçişini kontrol et. digitalRead() fonksiyonunu araştır.
  • Gece modu: LDR ışık sensörü ile ortam karardığında sadece sarı LED yanıp sönsün.
  • İkinci kavşak: 6 LED ile kavşak simülasyonu — bir yön kırmızıyken diğer yön yeşil.
  • Sesli uyarı: Yeşil ışıkta buzzer ile bip sesi — görme engelliler için erişilebilirlik özelliği.

ALPGEN Robotics Teknoloji A.Ş. — Teknopark Ankara — alpgenrobotics.com
@AlpgenRobotics • Proje #001 • Başlangıç Seviye

Yükleniyor...