Ardiuno ile dc motor kontrolü

engkpc

Üye
Katılım
21 Eki 2019
Mesajlar
2
Puanları
1
Yaş
47
Merhaba arkadaşlar. Bir konuda yardıma ihtiyacım var.
?hash=66e3a6184cf9035b4105a0a2767a8a5b.png


12 volt ile çalışan dc motoru çalıştırmak için butona basıp çalıştırmam gerekiyor.
Butonu kapattığımda ise motor tam tersine bir saniye dönüp durmasını istiyorum.
Pot ise motor hızını ayarmak için.
Motoru sürmek için L293B kullanablirmiyim?
tinkercad ile yapıyorum ama gerçekte tam istediğim gibi çalışmadı.
Motora 7 volt civarı geliyor ve hep çalışıyor buton bir işe yaramıyor . Kod ise aşağıda.

#define pot A0

int motor1 = 5;
int motor2 = 6;

int buton = 3;

void setup()
{
pinMode(motor1, OUTPUT);
pinMode(motor2, OUTPUT);
pinMode(buton, INPUT);
}

void loop()
{
int butondurum = digitalRead(buton);
int potdurum = analogRead(pot);
int motoryazdir = map(potdurum, 0, 1023, 0, 255);
analogWrite(motor1, LOW);
analogWrite(motor2, LOW);
if (butondurum == 1)
{
while (true)
{
analogWrite(motor1, motoryazdir);
analogWrite(motor2, LOW);
butondurum = digitalRead(buton);
if (butondurum == 0)
{
break;
}
}
analogWrite(motor1, LOW);
analogWrite(motor2, motoryazdir);
delay(500);
analogWrite(motor1, LOW);
analogWrite(motor2, LOW);

}
else
{
analogWrite(motor1, LOW);
analogWrite(motor2, LOW);
}
}
 
Bu sürücünün çalısma mantıgı EN girişinden pwm uygulayacaksın,pwm in darbe bosluk oranının ne olacagını analog olarak okudugun pot ile alacaksın.In1 pozıtıfe cektinmi bir yöne,In2 yi pozitife çektinmi diger yöne döner.
Yapacagın testlerde öncelikle senin atayacagın hız ile motoru pwm ile çalıştırmaya çalış,daha sonra analog degeri okuyup pwm e ata.Yani sırası ile testlerini yaparak nerede yanlış yaptıgını anla.
 
Yanıtlarınız için teşekkür ederim. Bu kodu başka forumda yazmışlardı bana o zaman kod da hatalar var entegrenin 1. ayağını arduinonun pwm pinlerine bağlayım kodda değişiklikler yapmak lazım.
 

Forum istatistikleri

Konular
128,133
Mesajlar
915,308
Kullanıcılar
449,849
Son üye
cagan20

Yeni konular

Çevrimiçi üyeler

Geri
Üst