Hiç kendi etrafında fır fır dönen bir tank veya süper hızlı bir robot araba gördün mü? Bu havalı araçların daracık alanlarda bile bir topaç gibi yön değiştirebilmelerinin arkasında harika bir mühendislik sırrı var: Tank Dönüşü (Nokta Dönüşü).
Peki, ön tekerlekleri sağa sola dönmeyen 4 tekerlekli (4WD) bir robot araba nasıl sağa veya sola dönebilir? Gel bu sırrı birlikte çözelim!
1. Direksiyon Yoksa Nasıl Dönüyoruz?
Normal aile arabalarında ön tekerlekleri sağa ve sola çeviren bir direksiyon sistemi bulunur. Ancak tanklarda ve 4WD robot arabalarda tekerlekler hep ileriye doğru bakar, sağa veya sola bükülmezler.
Bu araçlarda dönüş yapabilmek için sağ ve sol taraftaki motorlar birbirinden bağımsız çalıştırılır.
4 tekerlekli arabanı tasarlarken tekerlekleri iki gruba ayırırsın:
Sol Grup: Sol ön ve sol arka tekerlek (Motor A)
Sağ Grup: Sağ ön ve sağ arka tekerlek (Motor B)
2. Fır Fır Dönüşün Sihirli Formülü
Arabana çift motor sürücü kartı eklediğinde, her iki taraftaki motorlara ayrı emredici sinyaller gönderirsin. Arabanın kendi etrafında nasıl döneceğini bu emirler belirler:
Nokta Dönüşü (Kendi Etrafında Dönme): Arabanın durduğu yerde tam bir topaç gibi dönmesini istiyorsan; sol motorları GERİ, sağ motorları İLERİ çalıştırırsın. Araba olduğu yerde sola fır fır döner!
Tam Tersine Dönüş: Sol motorları İLERİ, sağ motorları GERİ çalıştırdığında ise araba olduğu yerde SAĞA döner.
Kavisli (Geniş) Dönüş: Bir virajı genişçe dönmek için sol motorları hızlı, sağ motorları ise daha yavaş çalıştırabilirsin.
3. Evde Hemen Deneyebileceğin Deney
Bu mantığı anlamak için elektronik kartlara bile ihtiyacın yok!
İki elini masanın üzerine, tıpkı arabanın sağ ve sol tekerlekleri gibi koy.
Sol elini kendine doğru çek (GERİ), sağ elini ise ileriye doğru it (İLERİ).
Göğsünün ve kollarının otomatik olarak SOLA doğru döndüğünü göreceksin.
İşte hazırlayacağın motor sürücü kartı, tekerleklere tam olarak bu hareketi yaptıracak.ve koşuda ve koduda yanlış yapmadısam burda
// Sol Motor Sürücü Pinleri
const int IN1 = 5; // Sol Motor Yön 1
const int IN2 = 6; // Sol Motor Yön 2
const int ENA = 9; // Sol Motor Hız (PWM)
// Sağ Motor Sürücü Pinleri
const int IN3 = 7; // Sağ Motor Yön 1
const int IN4 = 8; // Sağ Motor Yön 2
const int ENB = 10; // Sağ Motor Hız (PWM)
void setup() {
pinMode(IN1, OUTPUT);
pinMode(IN2, OUTPUT);
pinMode(ENA, OUTPUT);
pinMode(IN3, OUTPUT);
pinMode(IN4, OUTPUT);
pinMode(ENB, OUTPUT);
}
void loop() {
// 2 saniye kendi etrafında Sağa Tank Dönüşü
tankDonusSaga(200); // Hız: 0 - 255 arası
delay(2000);
dur();
delay(1000);
// 2 saniye kendi etrafında Sola Tank Dönüşü
tankDonusSola(200);
delay(2000);
dur();
delay(2000);
}
// Kendi etrafında Sağa Dönüş (Sol ileri, Sağ geri)
void tankDonusSaga(int hiz) {
analogWrite(ENA, hiz);
analogWrite(ENB, hiz);
// Sol tekerlekler İLERİ
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
// Sağ tekerlekler GERİ
digitalWrite(IN3, LOW);
digitalWrite(IN4, HIGH);
}
// Kendi etrafında Sola Dönüş (Sol geri, Sağ ileri)
void tankDonusSola(int hiz) {
analogWrite(ENA, hiz);
analogWrite(ENB, hiz);
// Sol tekerlekler GERİ
digitalWrite(IN1, LOW);
digitalWrite(IN2, HIGH);
// Sağ tekerlekler İLERİ
digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);
}
// Motorları Durdurma
void dur() {
digitalWrite(IN1, LOW);
digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4, LOW);
analogWrite(ENA, 0);
analogWrite(ENB, 0);
}Yorumlar 7
Yorumlar doğrudan RoboKanka hesabına bağlanır.
güzemiş
Tek kelimeyle Mükemmel👏👏👏👏
Güzel👏👏
birdahakine kendin yaz bana öyle demiştin sende kodu yapay zekaya yazdırmışsın
Mü kem mel
Cihoooooo benbatuuuuuuu
Tamammmmmmm