Siteye Abone Olmak İçin İzle Butonuna Tıklayın

Translate

İletişim

Yükselen Işık Evreni İletişim

11/01/25

Arduino ile mBot Yapımı: Adım Adım Rehber

 Arduino ile mBot Yapımı: Adım Adım Rehber


Günümüzde robotik, özellikle eğitim alanında büyük bir öneme sahip. Öğrencilere ve hobicilere robotik dünyasına adım atma imkanı sunan projeler, öğrenmeyi eğlenceli ve öğretici hale getiriyor. Arduino, robotik projelerde en yaygın kullanılan platformlardan biri olup, açık kaynaklı yapısı sayesinde oldukça esnektir. Bu yazımızda, Arduino ile mBot yapımını ele alacağız.

mBot Nedir?

mBot, genellikle eğitim amaçlı kullanılan, temel robotik hareketleri gerçekleştirebilen bir robottur. Özellikle çocuklar ve yeni başlayanlar için tasarlanmış olmasına rağmen, daha ileri seviyelerde robotik projeler için de geliştirme yapabilmek mümkündür. mBot, motorlar, sensörler ve Arduino ile entegre bir platform kullanılarak hareket ettirilebilen, programlanabilir bir robot kitidir. Bu robotlar, genellikle yol takip etme, engelden kaçma veya ışığa tepki verme gibi görevleri yerine getirebilir.

1. Gerekli Malzemeler

Arduino ile mBot yaparken ihtiyacınız olacak bazı temel malzemeler:

  • Arduino UNO veya mBot Ana Kartı: Bu, robotun beynini oluşturan mikrodenetleyici kartıdır. mBot'unuza bir Arduino UNO kartı kullanarak, robotun temel işlevlerini programlayabilirsiniz.
  • Motorlar (2 Adet): Robotu hareket ettirecek motorlar.
  • Motor Sürücüsü (L298N): Motorları Arduino'ya bağlamak için motor sürücü kullanılır.
  • Ultrasonik Sensör (HC-SR04): Engelleri tespit etmek için kullanılacak sensör.
  • Şasi (Chassis): Robotun tüm bileşenlerinin yerleşeceği ana platform.
  • Tekerlekler (2 Adet): Robotun hareket etmesini sağlayacak tekerlekler.
  • Jumper Kabloları: Bağlantıları yapmak için.
  • Akü veya Batarya: Robotu çalıştıracak güç kaynağı.

2. mBot'un Yapısı ve Bağlantı Diyagramı

mBot, genellikle bir şasi üzerine yerleştirilmiş motorlar ve sensörlerle birlikte gelir. Robotu oluştururken şunlara dikkat etmelisiniz:

  1. Motorlar: Motorlar, robotun hareket etmesini sağlayacak temel bileşenlerdir. Bu motorlar, genellikle bir motor sürücü kartı kullanılarak Arduino'ya bağlanır.

  2. Motor Sürücü (L298N): Motor sürücüsü, Arduino'nun motorlara yeterli gücü sağlamak için kullanılır. L298N motor sürücüsü, Arduino'nun dijital pinleri ile motorları kontrol eder.

  3. Ultrasonik Sensör (HC-SR04): Bu sensör, robotun önündeki engelleri algılamak için kullanılır. Ultrasonik sensör, Arduino'ya bağlı olan trig ve echo pinleri aracılığıyla engelin mesafesini ölçer.

  4. Batarya: Robotun çalışması için enerji kaynağına ihtiyaç duyulur. Genellikle bir 7.4V Li-ion batarya kullanılabilir.

3. Bağlantılar ve Kurulum

Robotunuzu kurarken dikkat etmeniz gereken temel bağlantılar:

  • Motorların Bağlantısı: Motorları L298N motor sürücüsüne bağlayın. Motor sürücüsünü Arduino'nun dijital pinlerine bağlayın.

  • Ultrasonik Sensör Bağlantısı: Ultrasonik sensörü Arduino'nun Trig ve Echo pinlerine bağlayın.

  • Güç Kaynağı: Robotun enerji ihtiyacını karşılamak için bir batarya kullanın. Bataryayı, Arduino ve motor sürücüsüne bağlayın.

4. Arduino Kodu

Robotunuzu programlamak için Arduino IDE'sinde bir yazılım geliştireceğiz. Bu yazılım, robotun hareket etmesini, engellerden kaçmasını ve doğru yönde ilerlemesini sağlayacak. İşte temel bir mBot kodu:

#include <AFMotor.h>
#define trigPin 9
#define echoPin 10

AF_DCMotor motor1(1);  // Motor 1 (sağ)
AF_DCMotor motor2(2);  // Motor 2 (sol)

long duration;
int distance;

void setup() {
  Serial.begin(9600);
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
}

void loop() {
  // Ultrasonik sensör ile mesafe ölçümü
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);
  
  duration = pulseIn(echoPin, HIGH);
  distance = duration * 0.034 / 2;
  
  Serial.print("Mesafe: ");
  Serial.println(distance);
  
  // Eğer mesafe 10 cm'den küçükse, robot geri gitsin
  if (distance < 10) {
    motor1.setSpeed(255);  // Motor hızını belirle
    motor2.setSpeed(255);
    motor1.run(BACKWARD);  // Geri git
    motor2.run(BACKWARD);
    delay(1000);
  } else {
    // Eğer engel yoksa, robot ileri gitsin
    motor1.setSpeed(255);
    motor2.setSpeed(255);
    motor1.run(FORWARD);  // İleri git
    motor2.run(FORWARD);
  }
}

5. Kodu Açıklama

  • Motor Kontrolü: AFMotor kütüphanesi, motorları kontrol etmek için kullanılır. Her motor için AF_DCMotor nesnesi oluşturulur ve bu motorlar setSpeed() ve run() fonksiyonları ile kontrol edilir.

  • Ultrasonik Sensör: Ultrasonik sensörün mesafeyi ölçmesini sağlayan kodda, trigPin pinine bir sinyal gönderilir ve echoPin pininde geri dönen sinyalin süresi ölçülür. Bu süre, engelin uzaklığını hesaplamak için kullanılır.

  • Engel Algılama ve Tepki: Eğer robot bir engelle karşılaşırsa, mesafe 10 cm'nin altına düşerse, robot geri gitmeye başlar. Eğer engel yoksa, robot ileri hareket eder.

6. Test Etme ve Ayar

Arduino ile robotunuzu oluşturduktan sonra, yazılımı yükleyip robotu test etmeye başlayabilirsiniz. Eğer robot beklenmedik şekilde davranıyorsa, şu adımları kontrol edebilirsiniz:

  • Motor Bağlantılarını Kontrol Edin: Motorların doğru şekilde bağlandığından emin olun. Hangi motorun sağa, hangi motorun sola hareket ettiğini kontrol edin.

  • Sensör Verilerini Test Edin: Ultrasonik sensörün doğru şekilde çalışıp çalışmadığını test edin. Seri monitörde mesafe verilerini kontrol edebilirsiniz.

  • PID Kontrolü: Daha hassas hareketler için, motor hızlarını PID kontrol algoritması ile dengelemeyi deneyebilirsiniz.

7. Robotu Geliştirme

Bu temel robotu daha da geliştirebilirsiniz. İşte bazı öneriler:

  • Daha İyi Engel Algılama: Ek sensörler ekleyerek, robotun çevresini daha iyi algılamasını sağlayabilirsiniz.
  • Otomatik Görevler: Robotu belirli görevleri yerine getirecek şekilde programlayabilirsiniz, örneğin bir nesneyi alıp başka bir yere bırakma gibi.
  • Uzaktan Kumanda: Robotunuzu bir Bluetooth modülü veya RF alıcı ile uzaktan kumanda ile kontrol edebilirsiniz.


Arduino ile mBot yapımı, robotik dünyasına adım atmak için harika bir başlangıçtır. Hem temel motor kontrolü, hem de sensör entegrasyonu hakkında bilgi sahibi olmanızı sağlar. Bu projeyi geliştirerek daha karmaşık robotlar yapabilir ve farklı görevler için özelleştirebilirsiniz. Robotik, pratik yaparak öğrenebileceğiniz eğlenceli bir alan ve mBot gibi projeler, bu yolda attığınız ilk adımlar için mükemmel fırsatlar sunuyor.


Hiç yorum yok:

Yorum Gönder