Herkese merhaba arkadaşlar. Forumda yeniyim. Başlığı umarım doğru yere açıyorumdur. Arduino kullanarak rc aracım üzerine basit bir otopilot sistemi oluşturmaya çalışıyorum. Arduinoda çok yeniyim fazla hakim sayılmam. Hcsr-04 sensörü ile aldığım mesafe bilgisine göre hızlanıp yavaşlayacak, gerektiğinde sağa veya sola dönmeye karar verecek bir algoritma hazırladım. Kodlama kısmında da ilerleme kaydettim ancak sensörlerden aldığım karmaşık ve hatalı veriler yüzünden araç düzgün çalışmıyor. Sağ,sol ve ileri olmak üzere üç sensör kullanıyorum. Sol sensör hiç bir şekilde veri göndermiyor. Yeni bir sensörle,farklı pin çıkışlarıyla ve kablolarla bile denedim. Deneme amaçlı yazdığım kodu ekleyeceğim. Yardımcı olabilirseniz çok mutlu olurum 😃
#define` trigPin1 2
#define echoPin1 5
#define trigPin2 1
#define echoPin2 4
#define trigPin3 3
#define echoPin3 6
long duration, distance, RightSensor,BackSensor,FrontSensor,LeftSensor;
void setup()
{
Serial.begin (9600);
pinMode(trigPin1, OUTPUT);
pinMode(echoPin1, INPUT);
pinMode(trigPin2, OUTPUT);
pinMode(echoPin2, INPUT);
pinMode(trigPin3, OUTPUT);
pinMode(echoPin3, INPUT);
}
void loop() {
SonarSensor(trigPin1, echoPin1);
RightSensor = distance;
SonarSensor(trigPin2, echoPin2);
LeftSensor = distance;
SonarSensor(trigPin3, echoPin3);
FrontSensor = distance;
Serial.print(LeftSensor);
Serial.print(" - ");
Serial.print(FrontSensor);
Serial.print(" - ");
Serial.println(RightSensor);
delay(100);
}
void SonarSensor(int trigPin,int echoPin)
{
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = (duration/2) / 29.1;
}