Şimdi Ara

Çizgi takip arduino

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
4
Cevap
1
Favori
985
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Arkadaşlar merhaba

    Basit bir çizgi robotu yaptım. Ancak 7.4v pil ile motorlar hızlı donuyor ve çizgiden sapiyor. Motorları yavaslatmam gerekiyor. Fikir verebilirmisiniz.
    Kodlar
    const int sag_i = 4; // motor sürücü ve sensör pinleri tanımlandı
    const int sag_g = 5;
    const int sol_i = 7;
    const int sol_g = 6;
    const int sol_sensor = 2;
    const int sag_sensor = 3;

    int sol_durum, sag_durum; // sol ve sağ sensörün durum değişkenleri tanımlandı

    void setup()
    {
    pinMode(sag_i, OUTPUT); // motor sürücü pinleri çıkış olarak atandı
    pinMode(sag_g, OUTPUT);
    pinMode(sol_i, OUTPUT);
    pinMode(sol_g, OUTPUT);

    pinMode(sag_sensor, INPUT); // sensör pinleri giriş pini olarak atandı
    pinMode(sol_sensor, INPUT);
    }

    void loop()
    {
    sol_durum = digitalRead(sol_sensor); // sol ve sağ sensör okunup değişkenlere kaydedildi.
    sag_durum = digitalRead(sag_sensor);

    if (sol_durum == LOW && sag_durum == LOW) // iki sensör de siyah görmüyor ise motorlar ileri gidecek şekilde çalışıtırıldı.
    {
    digitalWrite(sag_i, HIGH);
    digitalWrite(sag_g, LOW);
    digitalWrite(sol_i, HIGH);
    digitalWrite(sol_g, LOW);
    }
    else if (sol_durum == LOW && sag_durum == HIGH) // sağ sensör siyah görüyor ise motorlar sağa dönecek şekilde çalıştırıldı.
    {
    digitalWrite(sag_i, HIGH);
    digitalWrite(sag_g, HIGH);
    digitalWrite(sol_i, HIGH);
    digitalWrite(sol_g, LOW);
    }
    else if (sol_durum == HIGH && sag_durum == LOW) // sol sensör siyah görüyor ise motorlar sola dönecek şekilde çalıştırıldı.
    {
    digitalWrite(sag_i, HIGH);
    digitalWrite(sag_g, LOW);
    digitalWrite(sol_i, HIGH);
    digitalWrite(sol_g, HIGH);
    }
    else //eğer yukarıda şartların 3 üde değilse dur.
    {
    digitalWrite(sag_i, LOW);
    digitalWrite(sag_g, LOW);
    digitalWrite(sol_i, LOW);
    digitalWrite(sol_g, LOW);
    }
    delay(25);
    digitalWrite(sag_i, LOW);
    digitalWrite(sag_g, LOW);
    digitalWrite(sol_i, LOW);
    digitalWrite(sol_g, LOW);
    delay(50);
    }

    < Bu ileti mobil sürüm kullanılarak atıldı >







  • Hocam PWM ile sürmeyi deyin.

    PWM Speed Control diye aratabilirsiniz.
  • Motor sürücünüzün enable pillerini kullanarak pwm çıkış ile hız kontrolü yapabilirsiniz. İnternette bolca örnegi mevcut
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.