Arduino Bluetooth Kontrollü Araba Tekerler Ters Dönüyor

682784

Hectopat
Katılım
16 Ocak 2022
Mesajlar
5.736
Makaleler
6
Çözümler
27
Sorun başlıktaki gibi. Model yüzünden motorların ikisini ters takmak zorunda kaldık. İki teker ileri giderken ikisi geri gidiyor. Nasıl düzenlenir yardımcı olabilir misiniz?

[CODE title="ARABA KODLARI"]
char t;

void setup() {
pinMode(13,OUTPUT); //Sol İleri Motor
pinMode(12,OUTPUT); //Sol Geri Motor
pinMode(11,OUTPUT); //Sağ İleri Motor
pinMode(10,OUTPUT); //Sağ Geri Motor
Serial.begin(9600);
}
void loop() {
if(Serial.available()){
t = Serial.read();
Serial.println(t);
}
if(t == 'F'){ //ileri hareket et (tüm motorlar ileri yönde döner)
digitalWrite(13,HIGH);
digitalWrite(11,HIGH);
digitalWrite(12,LOW);
digitalWrite(10,LOW);
}
else if(t == 'B'){ //geri hareket et (tüm motorlar ters yönde döner)
digitalWrite(12,HIGH);
digitalWrite(10,HIGH);
digitalWrite(13,LOW);
digitalWrite(11,LOW);
}
else if(t == 'L'){ //sağa dönün (sol taraftaki motorlar ileri yönde döner, sağ taraftaki motorlar dönmez)
digitalWrite(11,HIGH);
digitalWrite(13,LOW);
digitalWrite(12,LOW);
digitalWrite(10,LOW);
}
else if(t == 'R'){ //// sola dön (sağ taraftaki motorlar ileri yönde döner, sol taraftaki motorlar dönmez)
digitalWrite(13,HIGH);
digitalWrite(12,LOW);
digitalWrite(11,LOW);
digitalWrite(10,LOW);
}

}
else if(t == 'S'){ //STOP (all motors stop)
digitalWrite(13,LOW);
digitalWrite(12,LOW);
digitalWrite(11,LOW);
digitalWrite(10,LOW);
}
delay(100);
}[/CODE]
@Affansen
 

Dosya Ekleri

  • 10279547404338.jpg
    10279547404338.jpg
    22,7 KB · Görüntüleme: 77
Son düzenleyen: Moderatör:
Yüklerken Arduino'ya bağlı olan güç kablolarını çıkarmanız iyi olur.
Kodda ileri gitmesi için öndeki geri gitmesi için de arkadaki motorlar çalışacak şekilde ayarlanmış sanki. Yani motorların ters takılması normal değil mi? Kod konusunda pek bilgim yok, aklıma takıldığı için sorayım dedim. Edit: Yok yanlış düşünmüşüm :)
 
Son düzenleme:
Bluetooth kablonuz TX RX pinlerine bağlı. Kodu atarken bunları çıkarmanız gerek aksi halde kodu atamazsınız. Kodu çıkarmak istemiyorsanız bir kütüphane vardı ikinci serial açıp 10 ve 11 numaralı pinler üzerinden BT kontrol edilebiliyordu ancak bunlarla uğraşmak yerine kabloyu çekmeniz yeterli.
 
Bluetooth kablonuz TX RX pinlerine bağlı. Kodu atarken bunları çıkarmanız gerek aksi halde kodu atamazsınız. Kodu çıkarmak istemiyorsanız bir kütüphane vardı ikinci serial açıp 10 ve 11 numaralı pinler üzerinden BT kontrol edilebiliyordu ancak bunlarla uğraşmak yerine kabloyu çekmeniz yeterli.
Teşekkürler hocam umarım işe yarar dönüş yapacağım.
 
Teşekkürler hocam umarım işe yarar dönüş yapacağım.
Arkadaşın dediği SoftwareSerial kütüphanesi. Kart üzerinden birden fazla seri bağlantıya ihtiyacınız olursa bu kütüphane ile yeni seri bağlantılar açabilirsiniz. Aynı donanım seri portu gibi çalışıyor. Tek yapmanız gereken kodunuzun başına aşağıda verdiğim kodu kendinize göre uyarlayıp eklemek. Onun dışında veri okuma/yazma ve portu başlatma aynı komutlarla kullanılıyor. Tek dezavantajı iki bağlantı aynı anda çalışıyorsa veri aktarımını aynı anda yapamaz.

C++:
// Kütüphaneyi şu satırla ekleyin
#include <SoftwareSerial.h>

// SoftwareSerial(rxPin, txPin);
// Parantezin içine ilk alma pini sonra gönderme pini yazılır.
// Mesela rx = 2, tx = 3 ise:
SoftwareSerial softserial (2, 3);

void setup(){
    softserial.begin(9600); // Bağlantıyı başlatma
}
void loop(){
    int data = Serial.read(); // Okuma
    Serial.println("Merhaba, Technopat!"); // Yazma
}

Dökümantasyon: Arduino - SoftwareSerial
 
Hocam arabayı 2 tekerlekliye çevi
Arkadaşın dediği SoftwareSerial kütüphanesi. Kart üzerinden birden fazla seri bağlantıya ihtiyacınız olursa bu kütüphane ile yeni seri bağlantılar açabilirsiniz. Aynı donanım seri portu gibi çalışıyor. Tek yapmanız gereken kodunuzun başına aşağıda verdiğim kodu kendinize göre uyarlayıp eklemek. Onun dışında veri okuma/yazma ve portu başlatma aynı komutlarla kullanılıyor. Tek dezavantajı iki bağlantı aynı anda çalışıyorsa veri aktarımını aynı anda yapamaz.

C++:
// Kütüphaneyi şu satırla ekleyin
#include <SoftwareSerial.h>

// SoftwareSerial(rxPin, txPin);
// Parantezin içine ilk alma pini sonra gönderme pini yazılır.
// Mesela rx = 2, tx = 3 ise:
SoftwareSerial softserial (2, 3);

void setup(){
    softserial.begin(9600); // Bağlantıyı başlatma
}
void loop(){
    int data = Serial.read(); // Okuma
    Serial.println("Merhaba, Technopat!"); // Yazma
}

Dökümantasyon: Arduino - SoftwareSerial
Yardımlarınız için teşekkürler normalde sorunsuz birkaç kere yaptığım arabayı şimdi yapmaya çalıştığımda herşey tersine doğru gidiyor. Sonucunda arabayı iki tekere döndürdüm yine birkaç problem oldu sorunları çözdük lakin bir tık geç kaldım.
 
@Silinen üye pes etmeyin. 2 sene BT kontrollü araba yapımı için uğraştım en sonunda hatamın BT Baud Rate değiştirmediğimden dolayı olduğunu anladım. Orasını anladıktan sonra arabaya bir sürü özellik ekledim. Yani eğer projenin yetişmesi gerekmiyorsa öncelikle arızayı bulmanızı tavsiye ederim.
 
Teşekkürler sorunu bulduk lakin proje için geç kaldım yardımlarınız için teşekkürler.
@Silinen üye pes etmeyin. 2 sene BT kontrollü araba yapımı için uğraştım en sonunda hatamın BT Baud Rate değiştirmediğimden dolayı olduğunu anladım. Orasını anladıktan sonra arabaya bir sürü özellik ekledim. Yani eğer projenin yetişmesi gerekmiyorsa öncelikle arızayı bulmanızı tavsiye ederim.
 
Hayır. Bağlantılarla alakalı bir sorun olduğu için siz kodu istediğiniz kadar değiştirin, yine de o motorlar ters yöne dönecek. Siz iki kanallı motor sürücü kullanıyorsunuz, bu şekilde motorları ayrı olarak kontrol etmek mümkün değil. Mesela ön taraftakiler yerine sağ taraftakileri ters yönde hareket ettirmek istiyorum deseydiniz mümkün olurdu ama ön/arka olarak isterseniz olmaz. Şu anda tek yol maalesef kabloları değiştirmek. Eğer kablolar motora lehimliyse kabloların motora bağlı olan uçları değil motor sürücüye bağlı olan uçları da değiştirebilirsiniz. Daha kolay olur.

Peki ya iki motor kontrol edilebilir mi? Bende engelden kaçan araba yapıyorum. Fakat robot terse doğru gidiyor, kodu değiştiriyorum fakat durum yine aynı. İsterseniz size şemasını yapıp atarım. Lütfen yardıımcı olun.

Peki ya iki motor kontrol edilebilir mi? Bende engelden kaçan araba yapıyorum. Fakat robot terse doğru gidiyor, kodu değiştiriyorum fakat durum yine aynı. İsterseniz size şemasını yapıp atarım. Lütfen yardıımcı olun.
Neyse ya da hallettim gerek yok çok şükür. Sorun yazılımsalmış donanımsal değil.
 
Son düzenleme:

Technopat Haberler

Yeni konular

Geri
Yukarı