s.a kolay gelsin ustadlarım . ben arduinoda engelden kaçan robot yaptım bu roboto lcd panel takacam aynı zamanda aynı sensör ve aynı arduino kartla metre görevinide görecek. fakat ben kodları yazdığımda robot kendi başına normal çalıştı fakat lcd yi taktığımda kodları yazdığıımda kodlarda sıkıntı çıkıyor çünkü iki koddada void setup ve void loop var bu konu hakkında yardımcı olurmusunuz. iyi günler iyi çalışmalar
#include <LCD.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,2,1,0,4,5,6,7);
const int TrigPin = 6;
const int EchoPin = 7;
int mesafe ;
int sure;
void setup()
{
lcd.begin (16,2);
lcd.setBacklightPin(3,POSITIVE);
lcd.setBacklight(HIGH);
Serial.begin(9600);
pinMode(TrigPin , OUTPUT);
pinMode(EchoPin , INPUT);
}
void loop()
{
digitalWrite(TrigPin , HIGH);
digitalWrite(TrigPin , LOW);
sure = pulseIn (EchoPin , HIGH);
mesafe = (sure / 2) / 28.5;
lcd.home();
lcd.print("Mesafe = ");
lcd.print((float)mesafe,1);
lcd.print(" cm ");
}
bu kodu engelden kaçanaraca nasıl entegre edebilirim hem engeli görünce yön değiştirsin hemde metreyi ölçüp lcd panele yazdırsın. şimdiden teşekkürler iyiçalışmalar
1 Beğeni
bunun loop kısmına
if (mesafe > 20){
Motor_sol;
}
bu kodu biraz daha şekillendirip kullanabilirsin motor sol yazan kısma atıyorum sola dönüp düz gitmesini yada geriye gitmesini sağlayabilirsin.
Projende Başarılar.
hocam engelden kaçan kısmının kodunu yazarsan ona metre fonksiyonunu eklemek daha kolay olur yardımcı olurum
cevabınız için teşekkürler.
#include <Servo.h>// servo motor kütüphanesi
#include <NewPing.h>
//motor pinleri
#define SolMotorileri 2
#define SolMotorGeri 3
#define SagMotorileri 4
#define SagMotorGeri 5
//sensör pinleri
#define USTrigger 6
#define USEcho 7
#define Maksimum_uzaklik 100
Servo servo; //servo motor tanımlama
NewPing sonar(USTrigger, USEcho, Maksimum_uzaklik);//ultrasonik sensör tanımlama
//kullanılacak eleman tanımı
unsigned int uzaklik;
unsigned int on_uzaklik;
unsigned int sol_uzaklik;
unsigned int sag_uzaklik;
unsigned int zaman;
// program ilk çalıştığında sadece bir kez çalışacak programlar
void setup()
{
//motor çıkışları
pinMode(SolMotorileri, OUTPUT);
pinMode(SolMotorGeri, OUTPUT);
pinMode(SagMotorileri, OUTPUT);
pinMode(SagMotorGeri, OUTPUT);
servo.attach(8); //servo pin tanımı
}
// sonsuz döngü
void loop()
{
delay(500);
servo.write(90);
sensor_olcum();
on_uzaklik = uzaklik;
if(on_uzaklik > 35 || on_uzaklik == 0)
{
ileri();
}
else
{
dur();
servo.write(180);
delay(500);
sensor_olcum();
sol_uzaklik = uzaklik;
servo.write(0);
delay(500);
sensor_olcum();
sag_uzaklik = uzaklik;
servo.write(90);
delay(300);
if(sag_uzaklik>sol_uzaklik)
{
sag();
delay(200);
ileri();
}
else if(sol_uzaklik >sag_uzaklik)
{
sol();
delay(200);
ileri();
}
else
{
geri();
}
}
}
// robotun yön komutları
void ileri()
{
digitalWrite(SolMotorGeri, LOW);
digitalWrite(SolMotorileri, HIGH);
digitalWrite(SagMotorGeri, LOW);
digitalWrite(SagMotorileri, HIGH);
}
void geri()
{
digitalWrite(SolMotorileri, LOW);
digitalWrite(SolMotorGeri, HIGH);
digitalWrite(SagMotorileri, LOW);
digitalWrite(SagMotorGeri, HIGH);
}
void sol()
{
digitalWrite(SolMotorileri, LOW);
digitalWrite(SolMotorGeri, HIGH);
digitalWrite(SagMotorGeri, LOW);
digitalWrite(SagMotorileri, HIGH);
}
void sag()
{
digitalWrite(SolMotorGeri, LOW);
digitalWrite(SolMotorileri, HIGH);
digitalWrite(SagMotorileri, LOW);
digitalWrite(SagMotorGeri, HIGH);
}
void dur()
{
digitalWrite(SolMotorGeri, LOW);
digitalWrite(SolMotorileri, LOW);
digitalWrite(SagMotorileri, LOW);
digitalWrite(SagMotorGeri, LOW);
}
// sensörün mesafe ölçümü
void sensor_olcum()
{
delay(50);
zaman = sonar.ping();
uzaklik = zaman / US_ROUNDTRIP_CM;
}
hocam kod bu ben lcdinin kodlarını entegre ettim lcd çalışıyor ama ölçüm yapmıyor. sürekli 0 cm diyor. buna nasıl bir ekleme yapabilirizki lcd ye metreyi doğru yazsın.
Rica ederim yardımımız olduysa ne mutlu.
Sizin yolu denemedim kodu y niden yazmam gerekecek diger arkadas birlestirmeyi biliyormus onun yolunu deneyecez olursa yazarim teşekkürler
Rica ederim sıkıntı değil.
hocam sadece mesafeyi yazdıran kod düzgün bir şekilde çalışıyor mu şuan
Ewet ikiside tek baslarina sıkıntısız calisiyor
1 Beğeni
Armanc
Ocak 7, 2021, 8:55öö
12
bunu kullanın linki yukarı da