Arduino'dan ses geliyor

Yazılımcı0

Decapat
Katılım
2 Haziran 2021
Mesajlar
746
Çözümler
14
Arduino ile engelden kaçan robot yaptım fakat motor hızını ayarlamak için PWM kablosunu takınca Arduino'dan ses geliyor. Bu sorun neden kaynaklanıyor?
Kod dosyası: Engelden Kaçan Robot
 

Dosya Ekleri

  • Engelden Kaçan Robot PWM.jpg
    Engelden Kaçan Robot PWM.jpg
    87,5 KB · Görüntüleme: 111
Sesin tam olarak neyden geldiğini öğrenebilir miyim? 5. ve 6. pine verdiğiniz değer düşük bir değer. 0-255 arası değer veriliyor diye biliyorum. Motor kalkışta zorlandığından ses çıkarıyor olabilir. DC motorlar kalkışta yüksek akım çeker. Sizin verdiğiniz değer az olduğu için bu ses motordan geliyor olabilir.
 
Arduino'yu USB kablosu motorları ise 9V pille çalıştırmayı deneyin ya da motorlar en fazla kaç Volt ile çalışıyorsa.

C:
const int trig = 10; //sensör pinleri tanımlandı
const int echo =  8;

const int sol_i = 2; // motor sürücü pinleri tanımlandı
const int sol_g = 3;
const int sag_i = 4;
const int sag_g = 7;

int pwm_sag = 5;
int pwm_sol = 6;

int  sure = 0; // mesafe hesabından kullanılacak olan değişkenler tanımladı
int mesafe = 0;

void setup()
{
  pinMode(trig , OUTPUT); // sensörün trigger pini çıkış olarak ayarlandı
  pinMode(echo , INPUT ); // sensörün echo pini giriş olarak ayarlandı

  pinMode(sol_i, OUTPUT); // motor sürücü pinleri çıkış olarak ayarlandı
  pinMode(sol_g, OUTPUT);
  pinMode(sag_i, OUTPUT);
  pinMode(sag_g, OUTPUT);
  pinMode(pwm_sag, OUTPUT);
  pinMode(pwm_sol, OUTPUT);

  Serial.begin(9600);
}

void loop()

{
  digitalWrite(trig , HIGH); // hc-sr04 kullanılarak mesafe hesaplandı
  delayMicroseconds(1000);
  digitalWrite(trig ,  LOW);

  sure = pulseIn(echo , HIGH);
  mesafe = (sure / 2) / 29,1;

  Serial.print(" cisme olan uzaklık = ");
  Serial.println(mesafe);
  Serial.println("--------------------");
  delay(500);

  analogWrite(pwm_sag , 127);
  analogWrite(pwm_sol , 127);

  if (mesafe < 20 ) // mesafe 20cm den küçük ise robotu geri al ve döndür
  {
    digitalWrite(sol_i ,  LOW);
    digitalWrite(sol_g , HIGH);
    digitalWrite(sag_i ,  LOW);
    digitalWrite(sag_g , HIGH);
    delay(150);

    digitalWrite(sol_i , HIGH);
    digitalWrite(sol_g ,  LOW);
    digitalWrite(sag_i ,  LOW);
    digitalWrite(sag_g , HIGH);
    delay(250);
  }
  else // mesafe 20cm den büyük ise düz git
  {
    digitalWrite(sol_i , HIGH);
    digitalWrite(sol_g ,  LOW);
    digitalWrite(sag_i , HIGH);
    digitalWrite(sag_g ,  LOW);
  }
}
Sesin tam olarak neden geldiğini öğrenebilir miyim? 5. ve 6. pine verdiğiniz değer düşük bir değer. 0-255 arası değer veriliyor diye biliyorum. Motor kalkışta zorlandığından ses çıkarıyor olabilir. DC motorlar kalkışta yüksek akım çeker. Sizin verdiğiniz değer az olduğu için bu ses motordan geliyor olabilir.

Ses bana Arduino UNO'dan geliyor gibi. Tekerler havadayken de dönmüyor.
 
Ses gelse delse motordan gelir. Pwm ile sürdüğünüz için titreşme yapabilir ses çıkarır. Bağlantıları veya kodu kontrol ediniz.
 
Ses gelse delse motordan gelir. PWM ile sürdüğünüz için titreşme yapabilir ses çıkarır. Bağlantıları veya kodu kontrol ediniz.

Sesin tam olarak neden geldiğini öğrenebilir miyim? 5. ve 6. pine verdiğiniz değer düşük bir değer. 0-255 arası değer veriliyor diye biliyorum. Motor kalkışta zorlandığından ses çıkarıyor olabilir. DC motorlar kalkışta yüksek akım çeker. Sizin verdiğiniz değer az olduğu için bu ses motordan geliyor olabilir.

Bu ses Arduino'ya ya da motorlara zarar verir mi?
 
Bu ses Arduino'ya ya da motorlara zarar verir mi?

Arduino'ya bir zararı olmaz. Ama motorlar konusunda bir yorum yapamam. Bende Arduino ile DC motor sürdüm birçok defa kalkışta düşük devirde kaldırınca bende o bahsettiğiniz sesi alıyorum. Bir sorun yaşamadım ama ileride ne olur bilemem. 45. ve 46. satırdaki değerleri yavaş yavaş arttırarak sorunu çözebilirsiniz. 180-190 arası bir değer girebilirsiniz. Biraz hızlanacaktır araç ama ses sorunu çözülür. İsterseniz arttırıp azaltabilirsiniz.
 

Yeni konular

Geri
Yukarı