Çözüldü Arduino acil fren sistemi gecikmeli çalışıyor

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

Okan öz

Hectopat
Katılım
23 Ağustos 2020
Mesajlar
612
Çözümler
2
Yer
Mannheim
Daha fazla  
Cinsiyet
Erkek
Meslek
Öğrenci
İyi akşamlar.

Arduino'dan kendi çapımda fren sistemi (afs) yaptım sistemi ilk olarak bisikletimde deneyeceğim kodlardan algılama mesafesini ayarlarım ama sorun şu ki hcsr04 isimli mesafe sensörünü kullanıyorum engeli algıladıktan sonra sistem geç tepki veriyor.
Bunu nasıl çözebilirim?

Bu içeriği görüntülemek için üçüncü taraf çerezlerini yerleştirmek için izninize ihtiyacımız olacak.
Daha detaylı bilgi için, çerezler sayfamıza bakınız.
 
Çözüm
@Okan öz Hocam geç döndüm kusura bakmayın.

Şu kodu dener misiniz?


C#:
#include <LiquidCrystal_I2C.h>

#include <Wire.h>

LiquidCrystal_I2C lcdekranim(0x27,16,2);

#include <Servo.h>
Servo servo1;
int trigPin = 9;
int echoPin = 8;
long distance;
long duration;

void setup()
{
servo1.attach(3);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);// put your setup code here, to run once:
pinMode(5,OUTPUT);
lcdekranim.init();
lcdekranim.backlight();
lcdekranim.setCursor(2,0);
}

void loop() {
lcdekranim.print("Sistem Etkin");
servo1.write(0);
digitalWrite(5,LOW);
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = duration*0.034/2;

if(distance <=200){
  servo1.write(180);
  lcdekranim.clear();
  lcdekranim.setCursor(4,0);
  lcdekranim.print("UYARI");
  lcdekranim.setCursor(2,1);
  lcdekranim.print("AFS DEVREDE");
  digitalWrite(5,HIGH);
  }
delay(2000);
}
İyi akşamlar.

Arduino'dan kendi çapımda fren sistemi (afs) yaptım sistemi ilk olarak bisikletimde deneyeceğim kodlardan algılama mesafesini ayarlarım ama sorun şu ki hcsr04 isimli mesafe sensörünü kullanıyorum engeli algıladıktan sonra sistem geç tepki veriyor.
Bunu nasıl çözebilirim?

Bu içeriği görüntülemek için üçüncü taraf çerezlerini yerleştirmek için izninize ihtiyacımız olacak.
Daha detaylı bilgi için, çerezler sayfamıza bakınız.
Kodları atar mısınız? Tahminimde hcsr-04 ün sinyal gönderme cooldown u fazladır.

Kodları atar mısınız? Tahminimde hcsr-04 ün sinyal gönderme cooldown u fazladır.
Ayrıca o giriş seviyesi sensörle çok hızlı veri alamazsınız malesef.
 
Kodları atar mısınız? Tahminimde HCSR-04'ün sinyal gönderme cooldown u fazladır.

Ayrıca o giriş seviyesi sensörle çok hızlı veri alamazsınız maalesef.

Buyurun hocam.
 

Dosya Ekleri

  • IMG_20221202_174111.jpg
    IMG_20221202_174111.jpg
    124,8 KB · Görüntüleme: 38
  • IMG_20221202_174103.jpg
    IMG_20221202_174103.jpg
    76,1 KB · Görüntüleme: 27
Hocam direk metin halinde atsanız daha iyi olurdu. Kodların tamamı burada mı?

Hemen atıyorum.

#include <LiquidCrystal_I2C.h>

#include <Wire.h>

LiquidCrystal_I2C lcdekranim(0x27,16,2);

#include <Servo.h>
Servo servo1;
int trigPin = 9;
int echoPin = 8;
long distance;
long duration;

void setup()
{
servo1.attach(3);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);// put your setup code here, to run once:
pinMode(5,OUTPUT);
}

void loop() {
ultra();
lcdekranim.init();
lcdekranim.backlight();
lcdekranim.setCursor(2,0);
lcdekranim.print("Sistem Etkin");
servo1.write(0);
digitalWrite(5,LOW);

if(distance <=200){
servo1.write(180);
lcdekranim.clear();
lcdekranim.setCursor(4,0);
lcdekranim.print("UYARI");
lcdekranim.setCursor(2,1);
lcdekranim.print("AFS DEVREDE");
digitalWrite(5,HIGH);


}
}

void ultra(){
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = duration*0.034/2;
}
//kod
Hocam direk metin halinde atsanız daha iyi olurdu. Kodların tamamı burda mı?
 
@Okan öz Hocam geç döndüm kusura bakmayın.

Şu kodu dener misiniz?


C#:
#include <LiquidCrystal_I2C.h>

#include <Wire.h>

LiquidCrystal_I2C lcdekranim(0x27,16,2);

#include <Servo.h>
Servo servo1;
int trigPin = 9;
int echoPin = 8;
long distance;
long duration;

void setup()
{
servo1.attach(3);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);// put your setup code here, to run once:
pinMode(5,OUTPUT);
lcdekranim.init();
lcdekranim.backlight();
lcdekranim.setCursor(2,0);
}

void loop() {
lcdekranim.print("Sistem Etkin");
servo1.write(0);
digitalWrite(5,LOW);
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = duration*0.034/2;

if(distance <=200){
  servo1.write(180);
  lcdekranim.clear();
  lcdekranim.setCursor(4,0);
  lcdekranim.print("UYARI");
  lcdekranim.setCursor(2,1);
  lcdekranim.print("AFS DEVREDE");
  digitalWrite(5,HIGH);
  }
delay(2000);
}
 
Çözüm
@Okan öz hocam geç döndüm kusura bakmayın.

Şu kodu dener misiniz?

C#:
#include <LiquidCrystal_I2C.h>

#include <Wire.h>

LiquidCrystal_I2C lcdekranim(0x27,16,2);

#include <Servo.h>
Servo servo1;
int trigPin = 9;
int echoPin = 8;
long distance;
long duration;

void setup()
{
servo1.attach(3);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);// put your setup code here, to run once:
pinMode(5,OUTPUT);
lcdekranim.init();
lcdekranim.backlight();
lcdekranim.setCursor(2,0);
}

void loop() {
lcdekranim.print("Sistem Etkin");
servo1.write(0);
digitalWrite(5,LOW);
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = duration*0.034/2;

if(distance <=200){
 servo1.write(180);
 lcdekranim.clear();
 lcdekranim.setCursor(4,0);
 lcdekranim.print("UYARI");
 lcdekranim.setCursor(2,1);
 lcdekranim.print("AFS DEVREDE");
 digitalWrite(5,HIGH);
 }
delay(2000);
}

Sağ olun hocam ilk yazdığım koda göre gözle görülür fark oldu vakit ayırdığınız için teşekkürler.
 
İyi akşamlar.

Arduino'dan kendi çapımda fren sistemi (afs) yaptım sistemi ilk olarak bisikletimde deneyeceğim kodlardan algılama mesafesini ayarlarım ama sorun şu ki hcsr04 isimli mesafe sensörünü kullanıyorum engeli algıladıktan sonra sistem geç tepki veriyor.
Bunu nasıl çözebilirim?

Bu içeriği görüntülemek için üçüncü taraf çerezlerini yerleştirmek için izninize ihtiyacımız olacak.
Daha detaylı bilgi için, çerezler sayfamıza bakınız.

Ben de aynısını yapacağım için daha kaliteli sensörler aldım, bu sensörler ile fazla sağlıklı sonuç alabileceğini düşünmüyorum.
 
Kodunuzu detaylı inceleyemedim fakat buzzer'in aralıklı ötmesi için "delay" kullandıysanız tüm kodun gecikmeli çalışmasına sebep oluyor olabilir.
 

Geri
Yukarı