Basit bir robot nasıl yapılır?

Basit Bir Robot Nasıl Yapılır?

Basit bir robot yapmak, elektronik, temel mekanik ve programlama hakkında bilgi edinmenin eğlenceli bir yoludur. Birçok insan robotların pahalı ve karmaşık olması gerektiğini düşünür, ancak aslında evde kolayca monte edilebilen küçük bir projeyle başlayabilirsiniz. Bu yazıda, ultrasonik sensörler kullanarak basit bir engelden kaçınan robot yapacağız. Bu robot ileri doğru yürüyebilir ve önünde bir nesne algıladığında otomatik olarak dönebilir. Bu proje, yeni başlayanlar, öğrenciler veya robotik öğrenmeye başlamak isteyen herkes için uygundur.

1. Basit robot kavramını anlayın.

Genel olarak, robotların üç ana bileşeni vardır: beyin (kontrolör), duyular (sensörler) ve kaslar (hareket ettiriciler). Bu projede:

– Kontrolcü: Arduino Uno (veya uyumlu bir cihaz)
– Sensör: Mesafe ölçümü için HC-SR04 ultrasonik sensör
– Aktüatör: Tekerlekleri hareket ettiren doğru akım motoru
– Motor sürücüsü: Arduino tarafından kontrol edilebilmesi için L298N (veya L293D) motor sürücüsü gereklidir.

Sensör robotun önündeki mesafeyi okuduğunda ve mesafe çok yakın olduğunda, Arduino motor sürücüsüne hareket yönünü değiştirmesi, örneğin sağa veya sola dönmesi için komut verecektir.

2. Gerekli araç ve gereçler

İşte elektronik mağazalarında veya pazar yerlerinde kolayca bulunabilen, yaygın olarak kullanılan bileşenlerin bir listesi:

1. Arduino Uno (1 adet)
2. L298N motor sürücüsü (1 adet)
3. HC-SR04 ultrasonik sensör (1 adet)
4. İki tekerlekli robot için DC motor + dişli kutusu ve tekerlekler (2 adet) (diferansiyel tahrikli)
5. Tekerlek (1 adet) önde veya arkada küçük denge tekerleği
6. Motorun ihtiyacına göre piller (örneğin 2x18650 veya 7,4V paket) veya 6xAA pil.
7. Robot şasisi (hazır olarak satın alınabilir veya akrilik/kontrplak malzemeden yapılabilir)
8. Takviye kabloları (erkek-dişi ve erkek-erkek)
9. Açma/kapama düğmesi (isteğe bağlı, ancak çok faydalı)
10. Küçük devre tahtası (isteğe bağlı)
11. Gerektiği kadar cıvata, somun, tornavida ve sıcak tutkal.

Daha da basit bir şey istiyorsanız (ultrasonik sensörler olmadan), çizgi sensörlü bir "çizgi takip eden" robot yapabilirsiniz, ancak engelden kaçınma versiyonları genellikle daha "canlı" hissettirir çünkü önlerindeki nesnelere tepki verirler.

OKU  Endüstriyel lazer uygulamaları

3. Robot gövdesinin tasarımı

Şasi, tüm bileşenlerin monte edildiği çerçevedir. Hazır bir şasi kiti kullanabilir veya akrilik, PVC veya ince ahşap gibi hafif malzemelerden kendiniz yapabilirsiniz. Prensip şudur:

– İki adet doğru akım motorunu sol ve sağ taraflara monte edin.
– Motosiklete tekerlekleri takın.
– Robotun dengesini sağlamak için bir denge tekerleği ekleyin.
– Bataryayı robotun eğilmesine neden olmayacak bir konuma yerleştirin.
– Arduino ve motor sürücüleri kolay erişim için en üste yerleştirilmelidir.

Kabloların tekerleklere takılmaması için aşağı sarkmadığından emin olun.

4. Temel bağlantı şeması

İşte genel bir bağlantı konsepti (pinler özelleştirilebilir):

a) Motordan sürücüye L298N
– Sol motor OUT1 ve OUT2 çıkışlarını üretir.
– Sağ motor OUT3 ve OUT4 çıkışlarına bağlanır.

b) Arduino için L298N Sürücüsü
– Sol motor için IN1, IN2 pinleri bazı Arduino dijital pinlerine bağlanıyor.
– Sağ motor için IN3, IN4 pinleri bazı Arduino dijital pinlerine bağlanıyor.
– ENA ve ENB (etkinleştirme) pinleri, hızı kontrol etmek için Arduino PWM pinlerine bağlanabilir (isteğe bağlı). Bağlanmazsa, bazı L298N modüllerinde motorun tam hızda çalışmasına izin veren bir etkinleştirme jumper'ı zaten mevcuttur.

c) HC-SR04 Sensörü - Arduino
– VCC'den 5V'a Arduino
– GND'den GND'ye Arduino
– Arduino dijital pinine TRIG sinyali gönder
– ECHO'dan Arduino dijital pinine

d) Güç
Motor, Arduino'nun sağlayabileceğinden daha fazla akım gerektiriyor. Bu nedenle:
– Ana batarya motor sürücüsüne bağlanır (+12V ve GND terminalleri L298N üzerinde).
– Arduino, pil ile de (VIN aracılığıyla) veya ayrı bir power bank/USB kablosuyla çalıştırılabilir.
– Topraklama: Kontrol sinyalinin kararlı olması için pil/sürücü topraklaması (GND) ve Arduino topraklaması (GND) birbirine bağlanmalıdır.

Yeni başlayanların en sık yaptığı hata, GND kablosunu takmayı unutmaktır; bu yüzden robot düzensiz hareket eder.

OKU  Yenilenebilir enerjide dalga enerjisi üretimi

5. Engelden kaçınma robotunun çalışma mantığı

Robot basit bir akışla çalışacak:

1. Ultrasonik sensörden mesafeyi okuyun.
2. Mesafe eşik değerinden (örneğin 20 cm) büyükse, robot ileri doğru hareket eder.
3. Mesafe ≤ 20 cm ise robot kısa süreliğine durur.
4. Robot biraz geri hareket eder ve ardından birkaç yüz milisaniye boyunca (örneğin sağa doğru) döner.
5. Mesafeyi tekrar okuyun ve işlemi tekrarlayın.

Bu yöntemle robot, en uygun yolu seçmese bile engellerden "kaçınıyormuş" gibi görünecektir.

6. Basit Arduino kod örneği

Aşağıda temel bir kod örneği verilmiştir. Devrenize uygun şekilde pinleri özelleştirebilirsiniz:

“`cpp
TRIG 8'i tanımlayın
ECHO 9'u tanımlayın

// Sol motor
IN1 2'ü tanımla
IN2 3'ü tanımla

// Sağ motor
IN3 4'ü tanımla
IN4 5'ü tanımla

uzun süreli;
tam mesafe;

int readDistance() {
digitalWrite(TRIG, LOW);
gecikmeMikrosaniye(2);
digitalWrite(TRIG, HIGH);
gecikmeMikrosaniye(10);
digitalWrite(TRIG, LOW);

süre = nabız(YANKI, YÜKSEK);
int cm = duration 0.034 / 2;
cm döndür;
}

void forward() {
digitalWrite(IN1, YÜKSEK);
digitalWrite(IN2, DÜŞÜK);
digitalWrite(IN3, YÜKSEK);
digitalWrite(IN4, DÜŞÜK);
}

void reverse() {
digitalWrite(IN1, DÜŞÜK);
digitalWrite(IN2, YÜKSEK);
digitalWrite(IN3, DÜŞÜK);
digitalWrite(IN4, YÜKSEK);
}

void turnRight() {
digitalWrite(IN1, YÜKSEK);
digitalWrite(IN2, DÜŞÜK);
digitalWrite(IN3, DÜŞÜK);
digitalWrite(IN4, YÜKSEK);
}

void stop() {
digitalWrite(IN1, DÜŞÜK);
digitalWrite(IN2, DÜŞÜK);
digitalWrite(IN3, DÜŞÜK);
digitalWrite(IN4, DÜŞÜK);
}

geçersiz kurulum () {
pinMode(TRIG, OUTPUT);
pinMode(ECHO, INPUT);

pinMode(IN1, ÇIKIŞ);
pinMode(IN2, ÇIKIŞ);
pinMode(IN3, ÇIKIŞ);
pinMode(IN4, ÇIKIŞ);

Serial.begin (9600);
}

geçersiz döngü () {
mesafe = mesafeyi oku();
Seri.println(mesafe);

eğer (mesafe > 20) {
ilerlemek();
} Else {
durmak();
gecikmesi (200);
tersi();
gecikmesi (300);
durmak();
gecikmesi (200);
Sağa dönün();
gecikmesi (400);
durmak();
}

gecikmesi (50);
}
"

Bu kod en temel sürümdür. Robot çok sık kaza yaparsa, eşik değerini 25-30 cm'ye çıkarabilir veya dönüş süresini artırabilirsiniz.

7. Test ve ayarlama

Robot monte edildikten sonra, adım adım test işlemlerini gerçekleştirin:

1. Öncelikle motoru test edin: tekerleklerin doğru yönde döndüğünden emin olmak için ileri/geri fonksiyonunu çalıştırın.
2. Ultrasonik sensörü test edin: Arduino IDE Seri Monitöründe mesafe sonuçlarını görün.
3. Sistemi birleştirin: Programın tamamını çalıştırın ve robotun tepkisini gözlemleyin.

OKU  Bir devredeki direnci hesaplamak

Robot ileri gitmesi gerekirken dönüyor veya geri gidiyorsa, motor kablolarını değiştirmeniz veya IN1-IN2 (ve IN3-IN4) mantığını tersine çevirmeniz gerekebilir.

8. Sık karşılaşılan sorunlar ve çözümler

Sıkça karşılaşılan bazı engeller şunlardır:

– Robot hiç hareket etmiyor: pili kontrol edin, motor sürücüsünü kontrol edin, etkinleştirme jumper'ının aktif olduğundan emin olun.
– Motor çalışırken Arduino sıfırlanıyor: Yetersiz güç kaynağı veya motor gürültüsü. Arduino için ayrı bir pil kullanmayı, bir kondansatör eklemeyi ve topraklamayı düzeltmeyi deneyin.
– Mesafe sensörünün okuması kararsız: Sensörün düz baktığından, aşırı titreşimden uzak tuttuğunuzdan ve kablonun gevşek olmadığından emin olun.
– Robot bir köşeye sıkışmış durumda: Rastgele dönüş mantığı ekleyin veya sensörleri hareket ettirmek için servo motorlar kullanın, böylece sensörler sola ve sağa "bakabilir".

9. Başarı sonrası geliştirme fikirleri

Temel robot çalışır duruma geldikten sonra, onu daha ilgi çekici bir şeye yükseltebilirsiniz:

– Robotun en iyi yolu seçebilmesi için ultrasonik sensörleri hareket ettirmek üzere servo motorlar eklenmesi.
– Cep telefonundan kontrol edilebilmesi için Bluetooth kontrolü (HC-05) eklendi.
– Çizgi sensörleri kullanarak çizgi izleyen bir robot yapmak.
– Daha akıcı hareket için PWM hızını ayarlayın.
– Bir engel algılandığında uyarı sesi veya LED göstergesi ekleyin.

Sonuç

Basit bir robot yapmak zor olmak zorunda değil. Bir Arduino, bir DC motor, bir motor sürücüsü ve bir ultrasonik sensör ile otomatik olarak hareket edebilen ve engellerden kaçınabilen bir robot oluşturabilirsiniz. Başarının anahtarları düzgün kablolama, yeterli kaynak ve kapsamlı testlerdir. Bu projeyi başarıyla tamamladıktan sonra, kamera tabanlı akıllı bir robot veya nesneleri takip edebilen bir robot gibi daha karmaşık robotik projelerine daha iyi hazırlanmış olacaksınız.

İsterseniz, seçtiğiniz pinlere göre daha detaylı bir bağlantı şeması oluşturmanıza yardımcı olabilirim veya robotun rastgele sola/sağa dönebilmesi ve daha "akıllı" olabilmesi için kodu ayarlayabilirim.

Yorum ekle