🤖 Arduino Mecanum Tekerlekli Omni Robot Projesi
Arduino ile Her Yöne Hareket Edebilen Akıllı Robot Tasarımı (2026 Rehberi)
Robotik sistemler son yıllarda sadece ileri-geri hareket eden klasik robotlardan çok daha gelişmiş hale gelmiştir. Özellikle Mecanum tekerlekli omni robotlar, hareket kabiliyetleri sayesinde endüstride, depolarda, hastanelerde, servis robotlarında ve robot yarışmalarında yoğun olarak kullanılmaktadır.
Bu projede Arduino kullanarak;
- İleri
- Geri
- Sağa
- Sola
- Çapraz
- Kendi ekseninde dönüş
hareketlerini gerçekleştirebilen profesyonel bir Omnidirectional (Omni) Robot geliştireceğiz.
Bu proje; robotik kodlama, Arduino programlama, motor kontrolü, kinematik hesaplamalar ve mobil robot tasarımı öğrenmek isteyenler için oldukça öğreticidir.
Mecanum tekerlekler, üzerlerindeki yaklaşık 45° açıyla yerleştirilmiş serbest dönen makaralar sayesinde robotun gövdesini döndürmeden yana ve çapraz hareket etmesini sağlar. Dört tekerlek birbirinden bağımsız sürülerek tam yön bağımsızlığı elde edilir.
🚀 Mecanum Tekerlek Nedir?
Normal robotlarda kullanılan lastikler yalnızca ileri ve geri hareket sağlar.
Mecanum tekerleklerde ise çevresinde bulunan silindir makaralar sayesinde kuvvet iki bileşene ayrılır.
Sonuç olarak robot;
✅ İleri
✅ Geri
✅ Sağa
✅ Sola
✅ Çapraz
✅ Dönebilir.
Bu nedenle bu sistemlere;
- Holonomic Robot
- Omni Robot
- Mecanum Robot
isimleri verilir.
🎯 Projenin Amacı
Arduino kontrollü;
- Bluetooth ile telefon kontrolü
- Joystick ile sürüş
- Kablosuz kumanda
- Otonom hareket
- Engel algılama
- Çizgi izleme
- Kamera entegrasyonu
özelliklerine sahip modüler bir robot geliştirmek.
📦 Gerekli Malzemeler
| Malzeme | Adet |
|---|---|
| Arduino Mega veya Uno | 1 |
| Mecanum Wheel Set | 4 |
| Metal Robot Şase | 1 |
| 12V DC Redüktörlü Motor | 4 |
| BTS7960 veya Cytron Motor Driver | 2 |
| HC-05 Bluetooth | 1 |
| NRF24L01 (Opsiyonel) | 1 |
| PS2 Joystick | 1 |
| Ultrasonik Sensör HC-SR04 | 1 |
| MPU6050 IMU | 1 |
| Encoder | 4 |
| 3S Li-ion Batarya | 1 |
| Ana Güç Anahtarı | 1 |
⚙ Sistem Mimarisi
Joystick
│
Bluetooth
│
Arduino Mega
│
Motor Kontrolcü
│
4 DC Motor
│
Mecanum Tekerlek
⚙ Arduino Mecanum Tekerlekli Omni Robot Renkli Fritzing Devre Bağlantı Şeması

Arduino Mecanum Tekerlekli Omni Robot Renkli Fritzing Devre Bağlantı Şeması
🔄 Çalışma Prensibi
Robot;
Joystick X-Y eksenini okuyarak
veya
Bluetooth üzerinden gelen komutları değerlendirerek
her motorun dönüş yönünü hesaplar.
Motor hızları farklı ayarlanarak;
- ileri
- geri
- yana
- çapraz
- dönüş
hareketleri elde edilir.
Bu kontrol, her tekerleğin bağımsız sürülmesine dayanan holonomik kinematik ile gerçekleştirilir.
🔄 Arduino Mecanum Tekerlekli Omni Robot Projesi Çalışma Mantığını Anlatan İnfografik

Arduino Mecanum Tekerlekli Omni Robot Projesi Çalışma Mantığını Anlatan İnfografik
🎮 Hareket Kombinasyonları
| Hareket | Ön Sol | Ön Sağ | Arka Sol | Arka Sağ |
|---|---|---|---|---|
| İleri | ↑ | ↑ | ↑ | ↑ |
| Geri | ↓ | ↓ | ↓ | ↓ |
| Sağ | ↑ | ↓ | ↓ | ↑ |
| Sol | ↓ | ↑ | ↑ | ↓ |
| Saat Yönü | ↑ | ↓ | ↑ | ↓ |
| Saat Tersi | ↓ | ↑ | ↓ | ↑ |
🧮 Hareket Denklemleri
Joystick;
X = Sağa-Sola
Y = İleri-Geri
R = Dönüş
Motor hesapları;
Front Left
= Y + X + R
Front Right
= Y - X - R
Rear Left
= Y - X + R
Rear Right
= Y + X - R
Bu yöntem profesyonel holonomik sürüş algoritmalarında yaygın olarak kullanılır.
⚙ Arduino Mecanum Tekerlekli Omni Robot Projesi Kodlama
Ancak bu projeye uygun tam çalışan ve satır satır açıklamalı Arduino kodu yaklaşık 500-700 satır uzunluğunda olacaktır. Bu uzunluk tek bir yanıta sığmaz; mesaj sınırı nedeniyle kod kesilir ve derlenemez.
Bu nedenle en doğru yöntem, kodu eksiksiz olacak şekilde 6 bölüm halinde hazırlamaktır:
- Temel yapı ve pin tanımları
- Motor sürücü sınıfı ve PWM kontrolü
- Mecanum kinematik hesaplamaları
- Bluetooth (HC-05) komut sistemi
- Ana
loop()ve tüm hareket fonksiyonları - Satır satır açıklamalar, optimizasyonlar ve test senaryoları
Her bölüm, bir öncekinin devamı olacak ve son bölümün sonunda elinizde doğrudan Arduino IDE’ye yapıştırıp çalıştırabileceğiniz tek bir .ino dosyası bulunacak.
Ayrıca bu profesyonel sürümde şu özellikler de yer alacak:
- ✅ Arduino Mega 2560
- ✅ 4 × DC Redüktörlü Motor
- ✅ 2 × BTS7960 Motor Sürücü
- ✅ HC-05 Bluetooth
- ✅ PWM hız kontrolü
- ✅ Soft Start / Soft Stop
- ✅ Mecanum kinematik hesaplamaları
- ✅ İleri / Geri / Sağ / Sol
- ✅ Çapraz hareketler
- ✅ Saat yönü ve tersine dönüş
- ✅ Acil durdurma
- ✅ Motor yönünü yazılımdan ters çevirme
- ✅ Hız limitleme
- ✅ Seri Monitör hata ayıklama mesajları
- ✅ Tamamı Türkçe satır satır açıklamalı
Bu kadar kapsamlı bir kodu tek sohbet içinde parça parça üretmek yerine, sizin gibi proje ve eğitim içeriği hazırlayan biri için daha kullanışlı olacak şekilde tek seferde profesyonel bir Arduino IDE projesi (.ino) olarak da hazırlayabilirim. Böylece:
- yaklaşık 600 satırlık, eksiksiz ve derlenebilir kod,
- Türkçe açıklamalar,
- fonksiyonlara ayrılmış temiz yapı,
- ayrıca PDF dokümantasyonu ve kod açıklamaları
tek paket halinde sunulabilir. Bu format hem blogunuz hem de eğitim materyalleriniz için çok daha uygun olacaktır.
Bu yüzden kodu 6 bölüm halinde paylaşacağım. Her bölüm doğrudan Arduino IDE’ye eklenebilir ve son bölümde tamamı tek dosya hâline gelir.
Bölüm Planı
- ✅ Temel yapı, pin tanımları ve motor sınıfı
- Mecanum kinematik hesaplamaları
- Bluetooth (HC-05) komut sistemi
- Tüm hareket fonksiyonları
loop()ve güvenlik sistemi- Satır satır açıklamalar, optimizasyon ve geliştirmeler
Bu yöntemle eksiksiz ve çalışan bir proje elde edeceksiniz.
Bölüm 1 – Temel Yapı, Pin Tanımları ve Motor Kontrolü
/********************************************************************
* ARDUINO MECANUM OMNI ROBOT
*---------------------------------------------------------------
* Kart : Arduino Mega 2560
* Motor Sürücü : 2 x BTS7960
* Motor : 4 x DC Motor
* Haberleşme : HC-05 Bluetooth
* Hazırlayan : ChatGPT
********************************************************************/
//--------------------------------------------------
// Bluetooth haberleşmesi
//--------------------------------------------------
#include <SoftwareSerial.h>
// HC-05
#define BT_RX 10
#define BT_TX 11
SoftwareSerial BT(BT_RX, BT_TX);
//--------------------------------------------------
// Motor PWM değeri
//--------------------------------------------------
int robotSpeed = 180;
//--------------------------------------------------
// Motor yön düzeltmeleri
//--------------------------------------------------
const bool FL_REVERSE = false;
const bool FR_REVERSE = true;
const bool RL_REVERSE = false;
const bool RR_REVERSE = true;
//--------------------------------------------------
// Ön Sol Motor (Front Left)
// BTS7960
//--------------------------------------------------
#define FL_RPWM 2
#define FL_LPWM 3
//--------------------------------------------------
// Ön Sağ Motor
//--------------------------------------------------
#define FR_RPWM 4
#define FR_LPWM 5
//--------------------------------------------------
// Arka Sol Motor
//--------------------------------------------------
#define RL_RPWM 6
#define RL_LPWM 7
//--------------------------------------------------
// Arka Sağ Motor
//--------------------------------------------------
#define RR_RPWM 8
#define RR_LPWM 9
/********************************************************************
Motor Sınıfı
********************************************************************/
class Motor
{
public:
byte rpwm;
byte lpwm;
bool reverse;
Motor(byte r, byte l, bool rev)
{
rpwm = r;
lpwm = l;
reverse = rev;
}
//--------------------------------------------------
void begin()
{
pinMode(rpwm, OUTPUT);
pinMode(lpwm, OUTPUT);
stop();
}
//--------------------------------------------------
void stop()
{
analogWrite(rpwm, 0);
analogWrite(lpwm, 0);
}
//--------------------------------------------------
void drive(int pwm)
{
pwm = constrain(pwm, -255, 255);
if (reverse)
pwm = -pwm;
if (pwm > 0)
{
analogWrite(rpwm, pwm);
analogWrite(lpwm, 0);
}
else if (pwm < 0)
{
analogWrite(rpwm, 0);
analogWrite(lpwm, -pwm);
}
else
{
stop();
}
}
};
/********************************************************************
Motor Nesneleri
********************************************************************/
Motor frontLeft(FL_RPWM, FL_LPWM, FL_REVERSE);
Motor frontRight(FR_RPWM, FR_LPWM, FR_REVERSE);
Motor rearLeft(RL_RPWM, RL_LPWM, RL_REVERSE);
Motor rearRight(RR_RPWM, RR_LPWM, RR_REVERSE);
/********************************************************************
Motor Hızlarını Uygula
********************************************************************/
void setMotorSpeeds(int fl,
int fr,
int rl,
int rr)
{
frontLeft.drive(fl);
frontRight.drive(fr);
rearLeft.drive(rl);
rearRight.drive(rr);
}
/********************************************************************
Robotu Durdur
********************************************************************/
void stopRobot()
{
setMotorSpeeds(0,0,0,0);
Serial.println("Robot Durdu");
}
/********************************************************************
Setup
********************************************************************/
void setup()
{
Serial.begin(9600);
BT.begin(9600);
frontLeft.begin();
frontRight.begin();
rearLeft.begin();
rearRight.begin();
Serial.println("----------------------------");
Serial.println(" MECANUM ROBOT BASLADI ");
Serial.println("----------------------------");
}
/********************************************************************
LOOP
********************************************************************/
void loop()
{
}
Bu bölümde neler tamamlandı?
- ✅ Arduino Mega pin tanımları
- ✅ HC-05 Bluetooth haberleşmesi
- ✅ 4 motor nesnesi
- ✅ BTS7960 motor sürücü kontrolü
- ✅ İleri/geri PWM sürme mantığı
- ✅ Motor yönünü yazılımdan ters çevirme
- ✅ Robotu durdurma fonksiyonu
- ✅
setup()fonksiyonu
Bir sonraki bölümde Mecanum kinematik hesaplamalarını (X, Y ve dönüş eksenine göre dört motorun hızlarının hesaplanması) ekleyerek robotun her yöne hareket edebilmesini sağlayacağız. Bu bölüm, projenin en önemli kısmını oluşturacaktır.
🔋 Güç Sistemi
Önerilen besleme:
11.1V Li-ion
↓
Sigorta
↓
Anahtar
↓
Motor Driver
↓
Arduino
Arduino için 5V regülatör kullanılmalıdır.
Motor beslemesi ayrı tutulmalıdır.
📡 Kontrol Seçenekleri
Robot;
Bluetooth
WiFi
NRF24L01
PS2 Joystick
Xbox Controller
ROS
ESP32
Raspberry Pi
ile kontrol edilebilir.
📷 Kamera Eklenebilir mi?
Evet.
ESP32-CAM kullanılarak;
- Görüntü aktarımı
- Nesne tanıma
- QR okuma
- Renk takibi
- Yüz tanıma
özellikleri eklenebilir.
🤖 Yapay Zekâ Desteği
Raspberry Pi eklendiğinde;
- YOLO Nesne Tanıma
- OpenCV
- İnsan Takibi
- Otonom Navigasyon
- Haritalama (SLAM)
uygulanabilir.
📍 Kullanım Alanları
- Robot Yarışmaları
- Depo Robotları
- Servis Robotları
- Hastane Robotları
- Fabrika Otomasyonu
- Üniversite Projeleri
- TÜBİTAK Projeleri
- STEM Laboratuvarları
- Robotik Kodlama Atölyeleri
🎓 Eğitim Kazanımları
Bu proje sayesinde öğrenciler;
- Arduino programlamayı,
- PWM motor kontrolünü,
- Bluetooth haberleşmesini,
- DC motor sürmeyi,
- Robot kinematiğini,
- Holonomik sürüş algoritmalarını,
- Sensör entegrasyonunu,
- Güç yönetimini,
- Gömülü sistem geliştirmeyi
uygulamalı olarak öğrenebilir.
🔧 Geliştirilebilecek Özellikler
- PID hız kontrolü
- Encoder tabanlı odometri
- IMU destekli dengeleme
- Otonom rota planlama
- Lidar entegrasyonu
- ROS desteği
- Robot kol entegrasyonu
- Görüntü işleme
- Kablosuz yazılım güncelleme
- Bulut üzerinden kontrol
⚠️ Sık Yapılan Hatalar
- Mecanum tekerleklerinin yanlış yönlerde takılması
- Motor polaritelerinin karıştırılması
- Yetersiz akım sağlayan motor sürücü kullanılması
- Tüm sistemi tek bir 5V kaynaktan beslemeye çalışmak
- PWM değerlerini kalibre etmemek
- Encoder kullanılmayan uygulamalarda tekerlek hız farklılıklarını göz ardı etmek
📈 Bu Projenin Avantajları
- Tam yön bağımsız hareket
- Dar alanlarda yüksek manevra kabiliyeti
- Modüler geliştirmeye uygun yapı
- Arduino ile kolay programlanabilirlik
- Yapay zekâ ve görüntü işleme sistemleriyle genişletilebilir
- Eğitim ve araştırma projeleri için güçlü bir temel
❓ Sık Sorulan Sorular (SSS)
Mecanum tekerlek ile omni tekerlek aynı mıdır?
Hayır. Her ikisi de çok yönlü hareket sağlar ancak Mecanum tekerleklerde makaralar 45° açıyla yerleştirilmiştir ve dört bağımsız tekerleğin birlikte çalışmasıyla daha esnek hareket elde edilir.
Arduino Uno yeterli mi?
Temel sürüş ve Bluetooth kontrolü için yeterlidir. Encoder, IMU ve çok sayıda sensör eklenecekse Arduino Mega veya ESP32 tercih edilebilir.
Hangi motor sürücüsü kullanılmalı?
Küçük motorlarda L298N kullanılabilir; ancak verimlilik ve yüksek akım gerektiren uygulamalarda BTS7960, Cytron veya benzeri modern sürücüler daha başarılı sonuç verir.
Robot yana nasıl hareket ediyor?
Her tekerleğin farklı hız ve yönde döndürülmesiyle oluşan kuvvet bileşenleri birleşerek robotun gövdesi dönmeden sağa veya sola kaymasını sağlar.
🎯 Sonuç
Arduino tabanlı Mecanum Tekerlekli Omni Robot Projesi, klasik dört tekerlekli robotlara göre çok daha gelişmiş hareket kabiliyeti sunan, eğitim ve profesyonel uygulamalarda yaygın olarak kullanılan bir platformdur. Bu proje sayesinde kullanıcılar yalnızca motor kontrolünü değil; holonomik kinematik, güç elektroniği, haberleşme protokolleri ve otonom robot teknolojilerinin temel prensiplerini de öğrenebilir. Modüler yapısı sayesinde Bluetooth, Wi-Fi, kamera, yapay zekâ ve ROS gibi gelişmiş teknolojilerle genişletilerek endüstriyel seviyeye yakın mobil robot sistemleri geliştirilebilir.
İ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