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");
}
}
}