🤖 Arduino Otonom Mini Araç Projesi: Engelleri Algılayan Akıllı Robot Araba
Arduino ile robotik kodlama öğrenmenin en eğlenceli yollarından biri, kendi kendine hareket edebilen bir otonom mini araç geliştirmektir. Bu projede Arduino, ultrasonik mesafe sensörü ve motor sürücü kullanarak önündeki engelleri algılayan ve uygun yöne hareket ederek yoluna devam eden akıllı bir robot araç tasarlayacağız.
Bu proje yalnızca bir robot araba yapmakla sınırlı değildir. Öğrenciler bu çalışma sayesinde sensörlerden veri okuma, koşullu programlama, motor kontrolü, PWM, servo motor kullanımı, algoritma geliştirme ve otonom karar verme gibi robotik kodlamanın temel konularını uygulamalı olarak öğrenebilir.
Arduino tabanlı otonom araç projelerinde engel algılama için HC-SR04 gibi ultrasonik sensörlerin, hareket kontrolü için DC motorların ve motor sürücü devrelerinin kullanılması yaygın bir yaklaşımdır. Arduino Project Hub’daki benzer projelerde de Arduino UNO ve HC-SR04 kombinasyonu kullanılarak araçların belirli bir mesafeden daha yakındaki engelleri algılayıp yön değiştirmesi sağlanmaktadır.
🚗 Arduino Otonom Mini Araç Nedir?
Arduino otonom mini araç, herhangi bir kumanda veya insan müdahalesine ihtiyaç duymadan çevresini algılayarak hareket edebilen küçük bir robot araçtır.
Araç üzerindeki sensörler çevreden bilgi toplar. Arduino bu bilgileri işler ve önceden programlanmış algoritmaya göre karar verir.
Örneğin:
Önünde engel yoksa:
İLERİ GİT
Önünde engel varsa:
DUR → GERİ GEL → SAĞI KONTROL ET → SOLU KONTROL ET → UYGUN YÖNE DÖN
Bu yapı aslında basit bir robotik karar mekanizmasıdır.
Daha gelişmiş sistemlerde bu mantık; çizgi takip, kamera görüntüsü, yapay zekâ, haritalama ve SLAM gibi teknolojilerle geliştirilebilir.
🎯 Projenin Amacı
Bu projenin temel amacı, öğrencilerin Arduino kullanarak çevresinden veri alan ve bu veriye göre kendi hareket kararını verebilen bir robot geliştirmesidir.
Proje sonunda robotun:
- İleri hareket etmesi
- Geri hareket etmesi
- Sağa dönmesi
- Sola dönmesi
- Durması
- Önündeki mesafeyi ölçmesi
- Engel algılaması
- Engel karşısında alternatif yön belirlemesi
beklenmektedir.
Bu nedenle proje, özellikle robotik kodlama, STEM ve maker eğitimleri için oldukça güçlü bir uygulamadır.
🧰 Gerekli Malzemeler
Projeyi 2 tekerlekli bir mini robot araç üzerinden gerçekleştirebiliriz.
| Malzeme | Adet | Görevi |
|---|---|---|
| Arduino UNO R3 | 1 | Ana kontrolcü |
| 2WD robot araba şasisi | 1 | Mekanik gövde |
| DC redüktörlü motor | 2 | Hareket |
| Tekerlek | 2 | Hareket aktarımı |
| Sarhoş teker / caster | 1 | Denge |
| L298N motor sürücü | 1 | Motor kontrolü |
| HC-SR04 ultrasonik sensör | 1 | Mesafe ölçümü |
| SG90 servo motor | 1 | Sensörü sağa-sola çevirmek |
| Pil/batarya paketi | 1 | Güç |
| Jumper kablo | Yeterli | Bağlantılar |
| Mini breadboard | 1 | Prototipleme |
| Açma/kapama anahtarı | 1 | Güç kontrolü |
Arduino UNO’nun 14 dijital giriş/çıkışının 6’sı PWM desteğine sahiptir. Bu özellik motor hızlarının kontrol edilmesinde kullanılabilir.
🧠 Sistemin Çalışma Mantığı
Otonom aracın temel çalışma mantığı beş aşamadan oluşur:
1️⃣ Mesafeyi Ölç
HC-SR04 sensörü aracın önündeki nesneye ultrasonik dalga gönderir.
Dalganın nesneye çarpıp geri dönmesi için geçen süre ölçülür.
Arduino bu süreyi kullanarak mesafeyi hesaplar.
Basitleştirilmiş formül:
Mesafe = Süre × Ses hızı / 2
Buradaki /2 işleminin nedeni ses dalgasının nesneye gidip tekrar sensöre dönmesidir.

Arduino Otonom Mini Araç Projesi Çalışma Mantığını Anlatan İnfografik
2️⃣ Engel Yoksa İleri Git
Örneğin sensör:
50 cm
ölçüyorsa araç ileri doğru hareket etmeye devam eder.
3️⃣ Engel Algılanırsa Dur
Örneğin mesafe:
20 cm’nin altına düşerse
Arduino aracın önünde bir engel olduğunu kabul eder.
Araç:
DUR
komutu verir.
4️⃣ Sağ ve Sol Tarafı Kontrol Et
Burada servo motor devreye girer.
HC-SR04 servo motor üzerine yerleştirilmiştir.
Servo:
90° → Ön
30° → Sol
150° → Sağ
konumlarına döndürülerek farklı yönlerde mesafe ölçümü yapılabilir.
Bu yaklaşım, ultrasonik sensörü servo üzerinde sağa ve sola çevirerek aracın alternatif yolları değerlendirmesini sağlayan yaygın otonom araç tasarımlarından biridir.
5️⃣ En Açık Yöne Dön
Örneğin:
Sol = 18 cm
Sağ = 65 cm
ise Arduino sağ tarafın daha açık olduğunu belirler.
Robot:
SAĞA DÖN
komutunu uygular.
Sonrasında tekrar ileri hareket eder.
🔄 Algoritmanın Basit Gösterimi
BAŞLA
│
▼
Mesafeyi Ölç
│
▼
Mesafe > 20 cm?
/ \
EVET HAYIR
│ │
▼ ▼
İLERİ GİT DUR
│
▼
Geri Git
│
▼
Sağı Ölç
│
▼
Solu Ölç
│
▼
Mesafeleri Karşılaştır
/ \
/ \
Sağ daha açık Sol daha açık
│ │
▼ ▼
SAĞA DÖN SOLA DÖN
\ /
\ /
▼
İLERLE
│
└──────► Tekrar
Bu yapı aslında robotun basit bir karar verme algoritması oluşturmasını sağlar.
🔌 Arduino Otonom Araç Devre Bağlantıları
Örnek bir Arduino UNO bağlantı planı şu şekilde oluşturulabilir:
HC-SR04
| HC-SR04 | Arduino |
|---|---|
| VCC | 5V |
| GND | GND |
| TRIG | D7 |
| ECHO | D8 |
Servo Motor
| Servo | Arduino |
|---|---|
| Sinyal | D9 |
| VCC | 5V |
| GND | GND |
L298N Motor Sürücü
| L298N | Arduino |
|---|---|
| ENA | D5 |
| IN1 | D2 |
| IN2 | D4 |
| IN3 | D12 |
| IN4 | D13 |
| ENB | D6 |
Motorlar ise L298N’nin motor çıkışlarına bağlanır.
Önemli: Motorları doğrudan Arduino pinlerinden beslemeyin. Arduino UNO’nun bir I/O pininin önerilen akımı 20 mA seviyesindedir; DC motorlar bunun çok üzerinde akım çekebilir. Motorlar ayrı bir motor sürücü üzerinden çalıştırılmalıdır.

Arduino Otonom Mini Araç Projesi Devre Şeması
⚡ Güç Sistemi Nasıl Olmalı?
Otonom araç projelerinde en sık yapılan hatalardan biri güç sistemini küçümsemektir.
Arduino’nun USB üzerinden çalışması, motorların da USB’den çalıştırılabileceği anlamına gelmez.
Motorlar çalışırken ani akım çekebilir.
Bu nedenle daha sağlıklı bir sistem için:
Batarya → Motor sürücü → DC motorlar
ve
Arduino → uygun regüle edilmiş besleme
mantığı tercih edilmelidir.
Ayrıca Arduino ile motor sürücünün GND bağlantıları ortak olmalıdır.
Bu ayrıntı küçük görünür ama robotun “çalışıyor gibi yapıp saçmalaması” ile gerçekten çalışması arasındaki fark olabilir.
🧩 Mekanik Montaj
Robotun mekanik yapısı da elektronik kadar önemlidir.
İlk olarak 2WD robot şasisi üzerine iki DC motor yerleştirilir.
Motorların aynı hizada olması gerekir.
Ardından:
- Tekerlekler motorlara takılır.
- Ön veya arka bölüme caster tekerlek yerleştirilir.
- Arduino şasi üzerine sabitlenir.
- L298N motor sürücü yerleştirilir.
- Servo motor ön bölüme sabitlenir.
- HC-SR04 servo üzerine monte edilir.
- Kablolar düzenlenir.
- Batarya uygun bölüme sabitlenir.
Ultrasonik sensörün mümkün olduğunca aracın ön merkezine yakın konumlandırılması ölçümlerin daha tutarlı olmasını sağlar.
📡 HC-SR04 Nasıl Çalışır?
HC-SR04 iki temel parçadan oluşur:
- Trig
- Echo
Arduino önce Trig pininden kısa bir tetikleme sinyali gönderir.
Sensör ultrasonik dalga üretir.
Dalga nesneye çarpar ve geri döner.
Echo pini üzerinden dönüş süresi okunur.
Arduino daha sonra bu süreyi mesafeye dönüştürür.
Örneğin:
Arduino
│
▼
TRIG
│
▼
Ultrasonik Dalga
│
▼
███████
Engel
███████
│
▼
Yankı
│
▼
ECHO
│
▼
Arduino
Bu sensör sayesinde robot çevresindeki nesneleri temas etmeden algılayabilir.
⚙️ Motor Kontrol Mantığı
Robotun sağ ve sol motorları bağımsız kontrol edilir.
Örneğin:
İleri
Sol Motor → İLERİ
Sağ Motor → İLERİ
Geri
Sol Motor → GERİ
Sağ Motor → GERİ
Sağa Dön
Sol Motor → İLERİ
Sağ Motor → DUR / GERİ
Sola Dön
Sol Motor → DUR / GERİ
Sağ Motor → İLERİ
Daha hassas dönüşler için iki motorun hızları farklılaştırılabilir.
Örneğin:
Sol Motor = 180
Sağ Motor = 80
Robot sağa doğru kavisli hareket eder.
Arduino UNO’daki PWM destekli pinler, analogWrite() kullanılarak motor hız kontrolünde kullanılabilir.
🧠 Otonom Karar Algoritması
Örnek olarak 25 cm güvenlik mesafesi belirleyelim.
MESAFE > 25 cm
↓
İLERİ
MESAFE ≤ 25 cm
↓
DUR
↓
GERİ GEL
↓
SAĞI ÖLÇ
↓
SOLU ÖLÇ
↓
Karşılaştır
↓
Daha açık yöne dön
↓
İLERLE
Bu algoritma basit olmasına rağmen öğrencilerin if-else mantığını gerçek dünyada kullanmasını sağlar.
Arduino Otonom Mini Araç devresine uygun olacak şekilde daha düzenli ve eğitim amaçlı hale getirdim. Her önemli satırın yanında açıklaması bulunuyor. Ayrıca öğrencilerin kodu sadece kopyalamak yerine neden o satırın yazıldığını anlayabilmesi için bölümler halinde açıklıyorum.
🤖 Arduino Otonom Mini Araç – Satır Satır Açıklamalı Kod
Kullanılan bağlantılar
| Bileşen | Arduino pini |
|---|---|
| L298N ENA | D5 PWM |
| L298N IN1 | D2 |
| L298N IN2 | D4 |
| L298N IN3 | D12 |
| L298N IN4 | D13 |
| L298N ENB | D6 PWM |
| HC-SR04 TRIG | D7 |
| HC-SR04 ECHO | D8 |
| SG90 Servo | D9 |
Not: L298N üzerindeki ENA ve ENB jumper’larını PWM ile hız kontrolü yapacaksanız çıkarmanız gerekir.
💻 Tam Arduino Kodu
🧠 Kodu Bölüm Bölüm Anlayalım
1. Servo.h Kütüphanesi
Bu satır Arduino’ya servo motor kontrolü için gerekli hazır kütüphaneyi ekler.
Kütüphane sayesinde:
gibi komutlarla servoyu belirli bir açıya gönderebiliriz.
2. Pinleri Tanımlıyoruz
Örneğin:
Arduino’ya:
HC-SR04’ün TRIG bağlantısı D7, ECHO bağlantısı D8’de.
demiş oluyoruz.
Bunun avantajı kod içerisinde sürekli:
yazmak yerine:
yazabilmemizdir.
Kod böylece daha okunabilir hale gelir.
3. Robotun Hızını Belirliyoruz
Arduino PWM değerleri genel olarak:
0 – 255
arasında belirlenir.
Örneğin:
| Değer | Yaklaşık anlam |
|---|---|
| 0 | Motor kapalı |
| 50 | Çok yavaş |
| 100 | Yavaş |
| 170 | Orta-yüksek |
| 220 | Hızlı |
| 255 | Maksimum |
170 değerini değiştirerek robotun hızını ayarlayabilirsiniz.
4. Güvenli Mesafe
Burada robotun önündeki engel için güvenlik sınırını belirliyoruz.
25 cm’den daha uzaksa:
25 cm veya daha yakınsa:
kabul ediyoruz.
Örneğin:
yaparsanız robot daha erken manevra yapar.
5. HC-SR04 Ölçümünün Kalbi
En önemli bölüm:
Arduino, ECHO pininin HIGH kalma süresini ölçüyor.
Bu süre bize ultrasonik dalganın:
Sensör → Engel → Sensör
yolculuğunun süresini verir.
Daha sonra:
ile mesafeyi hesaplıyoruz.
Buradaki:
sesin yaklaşık olarak santimetre/mikrosaniye cinsinden hızını temsil eder.
/2 kullanılmasının nedeni ise sesin gidiş-dönüş yapmasıdır.
6. Robot Nasıl İleri Gidiyor?
Sol motorun yönünü belirliyoruz.
Ardından:
sağ motorun yönünü belirliyoruz.
Sonra:
motorların hızını belirliyoruz.
Burada çok önemli bir nokta var:
Motor yönü, motorun L298N’ye nasıl bağlandığına göre ters çıkabilir.
Robot ileri komutunda geri gidiyorsa motor kablolarından ilgili çiftin yönünü ters çevirmek veya HIGH/LOW kombinasyonunu değiştirmek gerekir.
7. Robot Nasıl Sağa Dönüyor?
Kod:
Burada:
çalıştırılıyor.
İki motor birbirine zıt yönde döndüğü için robot kendi ekseni etrafında sağa doğru döner.
8. Servo Neden Kullanılıyor?
Servo motorun görevi aracı hareket ettirmek değil.
Servo:
HC-SR04 sensörünü sağa ve sola çevirmek
için kullanılıyor.
Örneğin:
sensörü öne çevirir.
sağa çevirir.
sola çevirir.
Böylece robot sadece önünü değil, alternatif yönleri de kontrol edebilir.
9. Robotun Karar Mekanizması
Asıl yapay zekâ benzeri karar mekanizması burada:
Arduino şunu soruyor:
“Önümde yeterli mesafe var mı?”
Cevap EVET ise:
Cevap HAYIR ise:
bölümüne geçiyor.
Robot:
işlemlerini gerçekleştiriyor.
🔎 10. Sağ ve Sol Karşılaştırması
Örneğin sensör şu değerleri ölçsün:
Kod:
kontrolünü yapıyor.
80 > 35 olduğu için:
çalışıyor.
Robot sağa dönüyor.
Başka bir durumda:
olursa:
olduğu için robot sola dönüyor.
🔄 Robotun Gerçek Çalışma Döngüsü
Bütün sistemi tek bir şemada düşünürsek:
İşte robotun otonom olmasını sağlayan temel algoritma budur.
🧪 Öğrenciler İçin Deneyler
Bu kod üzerinde değişiklik yaptırarak projeyi çok daha öğretici hale getirebilirsiniz.
Deney 1 – Güvenli mesafeyi değiştir
değerini:
yapın.
Robotun davranışının nasıl değiştiğini gözlemleyin.
Deney 2 – Robotun hızını değiştir
yerine:
yazın.
Sonra:
yazın.
Robotun kontrol edilebilirliği nasıl değişiyor?
Deney 3 – Servo tarama açısını değiştir
Mevcut:
yerine:
deneyebilirsiniz.
Ancak SG90 servo için mekanik sınırları zorlamamak gerekir.
🚀 Bir Üst Seviyeye Geçiş
Bu temel kodu daha sonra ciddi şekilde geliştirebiliriz.
Örneğin mevcut sistem:
HC-SR04 + Servo + L298N
iken üzerine:
- 🔴 3/5 sensörlü çizgi takip
- 📱 Bluetooth kontrol
- 📲 Android uygulama
- 🔋 Batarya voltaj takibi
- ⚙️ Encoder
- 🎯 PID kontrol
- 📷 ESP32-CAM
- 🧠 Yapay zekâ
- 🗺️ Haritalama
eklenebilir.
Özellikle encoder + PID eklediğimizde robotun motorlarını sadece “çalıştıran” değil, ne kadar döndüğünü bilen bir robota dönüştürmüş oluruz. Bu da projeyi eğitimde başlangıç seviyesinden orta/ileri robotik seviyesine taşır.
💻 Arduino Otonom Mini Araç Örnek Kodu
Aşağıdaki örnek temel engelden kaçınma algoritmasını uygular.
#include <Servo.h>
// Motor pinleri
#define ENA 5
#define IN1 2
#define IN2 4
#define ENB 6
#define IN3 12
#define IN4 13
// Ultrasonik sensör
#define TRIG_PIN 7
#define ECHO_PIN 8
// Servo
#define SERVO_PIN 9
Servo sensorServo;
int motorSpeed = 170;
int safeDistance = 25;
// -----------------------------
// Mesafe ölçme fonksiyonu
// -----------------------------
long measureDistance() {
digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
long duration = pulseIn(ECHO_PIN, HIGH, 30000);
if (duration == 0) {
return 400;
}
long distance = duration * 0.034 / 2;
return distance;
}
// -----------------------------
// Motorları ileri çalıştır
// -----------------------------
void forward() {
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);
analogWrite(ENA, motorSpeed);
analogWrite(ENB, motorSpeed);
}
// -----------------------------
// Motorları geri çalıştır
// -----------------------------
void backward() {
digitalWrite(IN1, LOW);
digitalWrite(IN2, HIGH);
digitalWrite(IN3, LOW);
digitalWrite(IN4, HIGH);
analogWrite(ENA, motorSpeed);
analogWrite(ENB, motorSpeed);
}
// -----------------------------
// Dur
// -----------------------------
void stopMotors() {
analogWrite(ENA, 0);
analogWrite(ENB, 0);
digitalWrite(IN1, LOW);
digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4, LOW);
}
// -----------------------------
// Sağa dön
// -----------------------------
void turnRight() {
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4, HIGH);
analogWrite(ENA, 180);
analogWrite(ENB, 180);
delay(400);
stopMotors();
}
// -----------------------------
// Sola dön
// -----------------------------
void turnLeft() {
digitalWrite(IN1, LOW);
digitalWrite(IN2, HIGH);
digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);
analogWrite(ENA, 180);
analogWrite(ENB, 180);
delay(400);
stopMotors();
}
// -----------------------------
// Kurulum
// -----------------------------
void setup() {
pinMode(ENA, OUTPUT);
pinMode(IN1, OUTPUT);
pinMode(IN2, OUTPUT);
pinMode(ENB, OUTPUT);
pinMode(IN3, OUTPUT);
pinMode(IN4, OUTPUT);
pinMode(TRIG_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
sensorServo.attach(SERVO_PIN);
sensorServo.write(90);
Serial.begin(9600);
stopMotors();
delay(1000);
}
// -----------------------------
// Ana program
// -----------------------------
void loop() {
sensorServo.write(90);
delay(100);
long frontDistance = measureDistance();
Serial.print("On mesafe: ");
Serial.println(frontDistance);
if (frontDistance > safeDistance) {
forward();
}
else {
stopMotors();
delay(200);
backward();
delay(300);
stopMotors();
// Sağ tarafı kontrol et
sensorServo.write(150);
delay(400);
long rightDistance = measureDistance();
// Sol tarafı kontrol et
sensorServo.write(30);
delay(400);
long leftDistance = measureDistance();
// Sensörü tekrar öne çevir
sensorServo.write(90);
delay(200);
Serial.print("Sag: ");
Serial.println(rightDistance);
Serial.print("Sol: ");
Serial.println(leftDistance);
if (rightDistance > leftDistance) {
turnRight();
}
else {
turnLeft();
}
}
delay(50);
}
🔍 Kodun Çalışma Mantığı
Kod içerisinde en önemli bölüm şu koşuldur:
if (frontDistance > safeDistance)
Robotun önündeki mesafe güvenli seviyenin üzerindeyse araç ileri gider.
Ancak:
frontDistance <= safeDistance
olursa robot engel algılamış kabul edilir.
Daha sonra:
sensorServo.write(150);
ile sensör sağa çevrilir.
Mesafe ölçülür.
Ardından:
sensorServo.write(30);
ile sensör sola çevrilir.
İki ölçüm karşılaştırılır.
if (rightDistance > leftDistance)
ise sağ tarafın daha açık olduğu kabul edilir.
Bu durumda robot sağa döner.
Aksi durumda sola döner.
🧪 Projenin Test Aşamaları
Robotu doğrudan tamamen otonom çalıştırmak yerine aşamalı test etmek çok daha sağlıklıdır.
Test 1 – Motor
Önce yalnızca motorlar test edilir.
Robot:
İleri → Dur → Geri
komutlarını doğru uyguluyor mu?
Test 2 – Servo
Servo motor:
30° → 90° → 150°
pozisyonlarına doğru şekilde geliyor mu?
Test 3 – Ultrasonik Sensör
Seri Monitör açılır.
Önüne farklı mesafelerde nesneler konur.
Örneğin:
10 cm
20 cm
30 cm
50 cm
100 cm
ölçümleri kontrol edilir.
Test 4 – Engel Algılama
Robot ileri gider.
Önüne bir nesne konur.
Robotun:
Dur → Geri → Tarama → Dön
işlemlerini gerçekleştirmesi beklenir.
⚠️ Karşılaşılabilecek Problemler
Robot düz gitmiyor
Bunun nedeni motorların mekanik olarak aynı hızda dönmemesi olabilir.
Çözüm olarak:
analogWrite(ENA, 180);
analogWrite(ENB, 160);
gibi farklı PWM değerleri denenebilir.
Robot sürekli aynı yöne dönüyor
Motor yönleri veya sensör ölçümleri kontrol edilmelidir.
Özellikle:
- Motor kabloları
- IN1/IN2
- IN3/IN4
- Servo yönü
- HC-SR04 bağlantıları
kontrol edilmelidir.
HC-SR04 yanlış ölçüyor
Sensörün zemine çok yakın olması veya sensörün eğik monte edilmesi ölçümü etkileyebilir.
Ayrıca çok yumuşak, açılı veya düzensiz yüzeylerde ultrasonik yansıma ideal olmayabilir.
Servo hareket ederken Arduino resetleniyor
Bu genellikle güç kaynağı problemidir.
Servo ve motorların oluşturduğu akım dalgalanmaları Arduino’nun beslemesini etkileyebilir.
Bu nedenle motor/servo beslemesi ve Arduino beslemesi uygun şekilde tasarlanmalıdır.
🚀 Projeyi Daha Akıllı Hale Getirmek
Burada proje asıl eğlenceli hale geliyor.
Temel otonom araç tamamlandıktan sonra sisteme yeni özellikler eklenebilir.
1️⃣ Çizgi Takip Özelliği
Robotun altına iki veya daha fazla IR sensörü eklenerek araç siyah çizgiyi takip edebilir.
Bu durumda sistem:
Çizgi takip + engelden kaçma
özelliklerini aynı anda gerçekleştirebilir.
Arduino tabanlı örnek projelerde iki IR sensörün çizgi takibi, HC-SR04’ün ise engel algılama için birlikte kullanıldığı tasarımlar bulunmaktadır.
2️⃣ Daha Fazla IR Sensörü
2 sensör yerine:
3, 5 veya 8 sensörlü
bir çizgi takip sistemi kurulabilir.
Bu sayede robot çizginin konumunu daha hassas belirleyebilir.
3️⃣ PID Kontrol
Basit:
SAĞ
SOL
kararlarından daha gelişmiş bir sistem oluşturmak için PID algoritması kullanılabilir.
PID sayesinde robot çizgiden ne kadar saptığını hesaplayarak motor hızlarını sürekli değiştirebilir.
2026 yılında yayımlanan bir eğitim robotu çalışmasında da Arduino tabanlı çizgi takip + ultrasonik engel algılama sisteminde PID kontrol ve durum makinesi yaklaşımı kullanılmıştır.
📱 Bluetooth Kontrollü + Otonom Mod
HC-05 veya BLE tabanlı bir haberleşme modülü eklenerek robot iki farklı çalışma moduna sahip olabilir:
MANUEL MOD
Telefon:
↑ ↓ ← →
komutlarıyla robotu kontrol eder.
OTONOM MOD
Robot kendi kararlarını verir.
Bu yapı öğrenciler açısından oldukça değerlidir çünkü aynı robot üzerinde:
Mobil uygulama + Bluetooth + sensör + motor + otonom algoritma
bir araya getirilebilir.
📷 Kamera Eklemek
Daha ileri seviyede Arduino UNO yerine ESP32-CAM gibi daha güçlü bir platform kullanılabilir.
Kamera sayesinde:
- Nesne algılama
- Renk algılama
- Görüntü işleme
- Yüz algılama
- Çizgi algılama
gibi özellikler araştırılabilir.
Bu aşamada proje artık basit bir Arduino arabasından çıkıp mobil robotik platformuna dönüşmeye başlar.
🗺️ Haritalama ve SLAM
İleri seviyede robotun yalnızca engellerden kaçması değil, bulunduğu ortamı anlaması hedeflenebilir.
Örneğin:
Sensörler
↓
Mesafe Verileri
↓
Konum Tahmini
↓
Harita
↓
Yol Planlama
↓
Motor Kontrolü
Bu yaklaşım daha ileri robotik sistemlerde kullanılan SLAM (Simultaneous Localization and Mapping) teknolojilerine geçiş için iyi bir eğitim altyapısı oluşturabilir.
🎓 Eğitimde Arduino Otonom Araç Projesi
Bu proje özellikle robotik kodlama atölyeleri, STEM/STEAM eğitimleri, maker eğitimleri ve proje tabanlı öğrenme çalışmaları için kullanılabilir.
Öğrenciler proje sırasında:
Elektronik
- Sensör
- Motor
- Servo
- PWM
- Güç bağlantısı
öğrenir.
Kodlama
- Değişkenler
- Fonksiyonlar
if / else- Döngüler
- Sensör okuma
- Karar algoritmaları
öğrenilir.
Robotik
- Motor kontrolü
- Sensör füzyonu
- Otonom hareket
- Engel algılama
- Yön seçimi
uygulanır.
Problem Çözme
Robot çalışmadığında öğrencinin:
“Neden dönmüyor?”
sorusuna cevap bulması gerekir.
İşte robotik eğitimin en değerli kısmı da tam olarak budur.
🏆 Proje İçin Öğrenci Görevleri
Proje bir yarışmaya dönüştürülebilir.
Görev 1
Robot 3 engeli aşmalıdır.
Görev 2
Robot belirlenen alandan çıkmadan engelleri geçmelidir.
Görev 3
Robot en kısa yolu bulmalıdır.
Görev 4
Robot çizgiyi takip ederken engelleri aşmalıdır.
Görev 5
Robot başlangıç noktasına geri dönmelidir.
Böylece öğrenciler yalnızca verilen kodu çalıştırmak yerine kendi algoritmalarını geliştirmeye başlar.
💡 Projenin Geliştirilmiş Versiyonu
Temel sistem:
Arduino UNO + HC-SR04 + L298N
Geliştirilmiş sistem:
Arduino + HC-SR04 + Servo + IR Sensör + Bluetooth
Daha ileri sistem:
ESP32 + Kamera + ToF Sensör + IMU + Wi-Fi
Profesyonel robotik seviyesinde ise:
LiDAR + IMU + Encoder + ROS + SLAM + Path Planning
gibi teknolojilere geçilebilir.
Yani küçük bir Arduino arabası, aslında öğrenciyi oldukça geniş bir robotik teknoloji yolculuğunun başlangıcına götürebilir.
🔬 Projenin Öğrenme Kazanımları
Proje sonunda öğrenci:
- Arduino programlayabilir.
- Dijital sensör kullanabilir.
- Ultrasonik mesafe ölçebilir.
- Servo motor kontrol edebilir.
- DC motor kontrol edebilir.
- Motor sürücü kullanabilir.
- PWM mantığını anlayabilir.
- Koşullu ifadeler oluşturabilir.
- Sensör verilerine göre karar verebilir.
- Basit otonom robot algoritması geliştirebilir.
- Elektronik devre kurabilir.
- Robotik sistemlerde hata ayıklama yapabilir.
📌 Sonuç
Arduino Otonom Mini Araç Projesi, robotik kodlamaya giriş için son derece güçlü bir uygulamadır.
Projenin temelinde aslında oldukça basit bir fikir vardır:
Robot çevresini algılar → veriyi işler → karar verir → hareket eder.
Fakat bu basit yapı öğrenciyi sensörlerden mikrodenetleyicilere, motor kontrolünden algoritmalara ve yapay zekâya kadar uzanan geniş bir teknoloji alanıyla tanıştırır.
Özellikle eğitim ortamlarında projeyi tek bir “robot araba” çalışması olarak görmek yerine geliştirilebilir bir robotik platform olarak ele almak daha doğru olacaktır.
İlk aşamada engelden kaçan araç yapılabilir.
Sonrasında:
Engelden Kaçma → Çizgi Takip → PID → Bluetooth → Mobil Uygulama → Kamera → Görüntü İşleme → Yapay Zekâ
şeklinde proje aşamalı olarak geliştirilebilir.
Bu nedenle Arduino Otonom Mini Araç, hem başlangıç seviyesindeki öğrenciler hem de daha ileri robotik çalışmalarına geçmek isteyen öğrenciler için oldukça iyi bir proje altyapısı sunar.
Arduino’nun resmi UNO dokümantasyonu da kartın elektronik ve kodlama öğrenmeye başlangıç için tasarlandığını ve geniş bir dijital/analog I/O altyapısına sahip olduğunu belirtmektedir.
Kısacası: Bu projede amaç sadece bir arabanın kendi kendine gitmesini sağlamak değil; öğrencinin bir makineye “çevresini algıla, düşün ve karar ver” mantığını öğretmektir. 🤖🚗
İstanbul İz Atölye Eğitim Çözümleri San. ve Tic. Ltd. Şti., eğitim kurumlarına yönelik yenilikçi atölye kurulumlarıyla öne çıkan, proje geliştirme ve uygulama süreçlerinde uçtan uca destek sunan bir çözüm ortağıdır. Robotik kodlama, yazılım, ahşap tasarım, STEM ve sanal gerçeklik gibi farklı alanlarda modern, sürdürülebilir ve eğitim odaklı atölye ortamları tasarlar. Kurumların ihtiyaçlarına özel analizler yaparak en uygun ekipman, içerik ve altyapıyı belirler; kurulum sürecinden eğitmen eğitimine kadar tüm aşamalarda aktif rol alır. Ayrıca ulusal ve uluslararası hibe programlarına yönelik proje yazımı, danışmanlık ve uygulama desteği sağlayarak kurumların hem teknik hem de finansal açıdan güçlenmesine katkıda bulunur.
📞 Proje Desteği İçin Bize Ulaşın ( 0850 840 4783 )
🚀 Projeni Hayata Geçir! ( WhatsApp )
İz Atölye olarak sadece atölye kurmuyor, kurumunuza özel sürdürülebilir eğitim ekosistemleri tasarlıyor; doğru ekipman, güçlü içerik ve uçtan uca proje desteğiyle süreci zahmetsiz ve verimli hale getiriyoruz.
Deneyim, hız ve sonuç odaklı yaklaşımımızla yatırımınızı kısa sürede somut çıktılara dönüştürüyoruz.

Yorum ekle