Tek bir DC motorun 2 Adet endüktif sensör ile ileri geri çalıştırılması

jreohs

Üye
Katılım
9 Ara 2022
Mesajlar
2
Puanları
1
Yaş
21
Merhaba iyi forumlar
12V DC bir motorun 2 adet endüktif sensör ile ileri geri çalıştırmasını yapmam gerekiyor.
1. sensör metal algıladığında motor ileri 2. sensör metal algıladığında motorun geri dönmesi gerekiyor.
Şuan da sadece 1. sensör ile motoru çalıştırmaya çalışıyorum sensöre metal geldiği zaman motor biraz dönüyor yavaşlıyor daha sonra tekrar dönüyor. Yardımcı olabilirseniz sevinirim
Bir noktaya kadar geldim ve takıldım yazdığım kod aşağıda ki gibidir:


const int ENA_PIN = 7;
const int IN1_PIN = 6;
const int IN2_PIN = 5;
const int IN3_PIN = 4;
const int IN4_PIN = 3;
const int ENB_PIN = 2;
int limitswitch=13;
int limitswitch1=12;
int state= LOW;
int value;
int state1= LOW;
int value0;
void setup()
{
Serial.begin(9600);
pinMode(limitswitch,INPUT);
pinMode(limitswitch1,INPUT);
pinMode(ENA_PIN, OUTPUT);
pinMode(IN1_PIN, OUTPUT);
pinMode(IN2_PIN, OUTPUT);
pinMode (IN3_PIN, OUTPUT);
pinMode (IN4_PIN, OUTPUT);
pinMode (ENB_PIN, OUTPUT);
}
void loop()
{

value = digitalRead(limitswitch);
if(value!=state)
{

state=value;

Serial.println("sensor value =");

if (state==0)

{

Serial.println("target detected");

digitalWrite(IN1_PIN, HIGH);
digitalWrite(IN2_PIN, LOW);
digitalWrite(IN3_PIN, LOW);
digitalWrite(IN4_PIN,HIGH );

}

else{
Serial.println("No target detected");

digitalWrite(IN1_PIN, LOW);
digitalWrite(IN2_PIN, LOW);
digitalWrite(IN3_PIN, LOW);
digitalWrite(IN4_PIN, LOW);

}
}
value0 = digitalRead(limitswitch1);

if(value0!=state1)
{
state1=value0;
Serial.println("sensor value=");
if (state1==0)
{
Serial.println("target detected");

}
else{
Serial.println("no target detected");
}
}

}
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için onları kabul etmelisiniz. Daha fazla bilgi edin…