bekdil
Üye
- Katılım
- 24 Ocak 2019
- Mesajlar
- 64
- Puanları
- 1
- Yaş
- 31
Merhaba Herkese;
1 adet BLDC motor ve 1 BTS7960B Motor sürücü kullanıyorum. 2 adet MZ80 Mesafe sensöründen aldığı bilgi ile ileri-geri hareket sağlıyor. Ancak Motorların hızlarını bir türlü ayarlayamadım. Potansiyometre kullanarak yapıyım dedim olmadı. Veya ben giriyim dışardan diye uğraştım kodu bir türlü yazamadım bana yardımcı olur musunuz ? Aşağıdaki kod Potansiyometre ile MZ80 Birleştirip yazdıgım kod ancak çalışmadı tek yönde hareket sağladı acaba nerde hata yapıyorum yardımcı olur musunuz
#define R1PWM 5
#define L1PWM 6
#define R1EN 7
#define L1EN 8
#define R2PWM 9
#define L2PWM 10
#define R2EN 11
#define L2EN 12
#define sensor 2
#define sensorarka 3
int pot1;
int out1;
int out2;
void setup() {
Serial.begin(9600);
pinMode(R1PWM,OUTPUT);
pinMode(L1PWM,OUTPUT);
pinMode(L1EN,OUTPUT);
pinMode(R1EN,OUTPUT);
digitalWrite(R1EN,HIGH);
digitalWrite(L1EN,HIGH);
Serial.begin(9600);
pinMode(R2PWM,OUTPUT);
pinMode(L2PWM,OUTPUT);
pinMode(L2EN,OUTPUT);
pinMode(R2EN,OUTPUT);
digitalWrite(R2EN,HIGH);
digitalWrite(L2EN,HIGH);
pinMode(sensor,INPUT);
pinMode(sensorarka,INPUT);
}
void loop() {
//pot1=analogRead(A0);
//if(pot1>0)
//out1=map(pot1,0,512,0,255);
//{analogWrite(R1PWM,out1);
//analogWrite(L1PWM,0);
// }
// if(pot1<512)
// out2=map(pot1,512,1023,0,255);
//{analogWrite(R1PWM,0);
// analogWrite(L1PWM,out2);
// }
if((digitalRead(sensor)==1)&&(digitalRead(sensorarka)==0))
{
digitalWrite(R1PWM,HIGH);
digitalWrite(L1PWM,LOW);
digitalWrite(R2PWM,LOW);
digitalWrite(L2PWM,HIGH);
}
if((digitalRead(sensor)==0)&&(digitalRead(sensorarka)==1)){
digitalWrite(L1PWM,HIGH);
digitalWrite(R1PWM,LOW);
digitalWrite(R2PWM,HIGH);
digitalWrite(L2PWM,LOW);
}
}
1 adet BLDC motor ve 1 BTS7960B Motor sürücü kullanıyorum. 2 adet MZ80 Mesafe sensöründen aldığı bilgi ile ileri-geri hareket sağlıyor. Ancak Motorların hızlarını bir türlü ayarlayamadım. Potansiyometre kullanarak yapıyım dedim olmadı. Veya ben giriyim dışardan diye uğraştım kodu bir türlü yazamadım bana yardımcı olur musunuz ? Aşağıdaki kod Potansiyometre ile MZ80 Birleştirip yazdıgım kod ancak çalışmadı tek yönde hareket sağladı acaba nerde hata yapıyorum yardımcı olur musunuz
#define R1PWM 5
#define L1PWM 6
#define R1EN 7
#define L1EN 8
#define R2PWM 9
#define L2PWM 10
#define R2EN 11
#define L2EN 12
#define sensor 2
#define sensorarka 3
int pot1;
int out1;
int out2;
void setup() {
Serial.begin(9600);
pinMode(R1PWM,OUTPUT);
pinMode(L1PWM,OUTPUT);
pinMode(L1EN,OUTPUT);
pinMode(R1EN,OUTPUT);
digitalWrite(R1EN,HIGH);
digitalWrite(L1EN,HIGH);
Serial.begin(9600);
pinMode(R2PWM,OUTPUT);
pinMode(L2PWM,OUTPUT);
pinMode(L2EN,OUTPUT);
pinMode(R2EN,OUTPUT);
digitalWrite(R2EN,HIGH);
digitalWrite(L2EN,HIGH);
pinMode(sensor,INPUT);
pinMode(sensorarka,INPUT);
}
void loop() {
//pot1=analogRead(A0);
//if(pot1>0)
//out1=map(pot1,0,512,0,255);
//{analogWrite(R1PWM,out1);
//analogWrite(L1PWM,0);
// }
// if(pot1<512)
// out2=map(pot1,512,1023,0,255);
//{analogWrite(R1PWM,0);
// analogWrite(L1PWM,out2);
// }
if((digitalRead(sensor)==1)&&(digitalRead(sensorarka)==0))
{
digitalWrite(R1PWM,HIGH);
digitalWrite(L1PWM,LOW);
digitalWrite(R2PWM,LOW);
digitalWrite(L2PWM,HIGH);
}
if((digitalRead(sensor)==0)&&(digitalRead(sensorarka)==1)){
digitalWrite(L1PWM,HIGH);
digitalWrite(R1PWM,LOW);
digitalWrite(R2PWM,HIGH);
digitalWrite(L2PWM,LOW);
}
}