arduino çizgi izleyen robot, engel algılayan robot?

  • Konbuyu başlatan Konbuyu başlatan bidene
  • Başlangıç tarihi Başlangıç tarihi
Kodla Büyü
hocam beslemeyi l298 de 9 v pillerle yapamazsınız akım yetmez... Kullandıgınız motorlarda redüktör var ise eğer 1 A kadar bi akıma ihtiyacınız olacaktır. normal bi 9v pilde 300mA akım var tam dolu olmak şartı ile.... eğer motorlrdan ses geliyo ama hareket etmiyo ise akım yetmiyo olabilir. ayrıca ultrasonik sensörü kontrol edin ölçüm yapıyomu yapmıyomu diye bazıları bozuk geliyo ölçüm yapmıyo benim başıma gelmişti...
Kod:
#include <Servo.h>
//motor pinleri
int SolMotorileri = 9;
int SolMotorGeri = 10;
int SagMotorileri = 11;
int SagMotorGeri = 12;
//sensör pinleri
int trigpin = 6;
int echopin = 7;

int olcum = 0;
Servo servo; 

unsigned int uzaklik;
unsigned int on_uzaklik;
unsigned int sol_uzaklik;
unsigned int sag_uzaklik;
unsigned int zaman;

void setup()
{

  Serial.begin(9600);
  pinMode(SolMotorileri, OUTPUT);
  pinMode(SolMotorGeri, OUTPUT);
  pinMode(SagMotorileri, OUTPUT);
  pinMode(SagMotorGeri, OUTPUT);
  pinMode(trigpin, OUTPUT);
  pinMode(echopin, INPUT);
  servo.attach(4);
}

void loop()
{
  delay(500);
  servo.write(90);
  sensor_olcum();
  on_uzaklik = uzaklik;
  if (on_uzaklik > 35)
  {
    ileri();
  }
  else
  {
    dur();
    servo.write(140);
    delay(500);
    sensor_olcum();
    delay(50);
    sol_uzaklik = uzaklik;
    servo.write(40);
    delay(500);
    sensor_olcum();
    delay(50);
    sag_uzaklik = uzaklik;
    servo.write(90);
    delay(500);
    if(sag_uzaklik <35 && sol_uzaklik<35)
    {
      geri();
      delay(500);
      }
   else if (sag_uzaklik < sol_uzaklik)
    {
      sol();
      delay(3000);
      ileri();
    }
    else if (sol_uzaklik < sag_uzaklik)
    {
      sag();
      delay(3000);
      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);
  delay(500);
 
}

void sol()
{
  
  digitalWrite(SolMotorGeri, LOW);
  digitalWrite(SolMotorileri, HIGH);
  digitalWrite(SagMotorileri, LOW);
  digitalWrite(SagMotorGeri, HIGH);

}

void sag()
{
  
  digitalWrite(SolMotorileri, LOW);
  digitalWrite(SolMotorGeri, HIGH);
  digitalWrite(SagMotorGeri, LOW);
  digitalWrite(SagMotorileri, HIGH);
  
}

void dur()
{
  digitalWrite(SolMotorGeri, LOW);
  digitalWrite(SolMotorileri, LOW);
  digitalWrite(SagMotorileri, LOW);
  digitalWrite(SagMotorGeri, LOW);
}

void sensor_olcum()
{
  digitalWrite(trigpin, LOW);
 delayMicroseconds(2);
  digitalWrite(trigpin, HIGH);
  delayMicroseconds(2);
  digitalWrite(trigpin, LOW);
  olcum = pulseIn(echopin, HIGH);
  uzaklik = olcum / 58.2;
  delay(50);

}
 
Sargon' Alıntı:
bidene' Alıntı:
hocam sizin kütüphaneleri yükledim.
kodları derlerken şu hatayı alıyorum.

Hocam eski kütüphaneyi silmeniz gerekiyor ilk önce. Araç okulda olduğundan deneyemiyorum ancak verdiği hata ile uğraşmıştım bende. Elimde bir tane daha kod daha var bir de onu deneyin bakalım.(Hangisini yüklediğimi hatırlayamıyorum çünkü)
hocam bunlar da orjinal çalışmayan kodlar.
siz denediniz mi paylaştığınız kodları?
 
http://www.prototipelektronik.com/u402/ ... arati.html
burada ultraspnic sensor aparatı satılıyor.
servo motor üzerine güzel monte ediliyor.
CartoonUltrasonicSensorMountingBracketforHCSR04-402.png
 
Geri
Üst