ARDUINO İLE SAĞA SOLA BAKIP ENGELDEN KAÇAN ROBOT

SAĞA SOLA BAKIP ENGELDEN KAÇAN ROBOT

Bugün sizlerle birlikte engelden kaçan robotun biraz daha modifiyelenmiş hali olan sağa sola bakıp engelden kaçan robot yapacağız. Genel olarak çalışma prensibi otonom olarak ilerlerken önüne 20 cm’den yakın bir engel çıktığında yada 20 cm engele kadar geldiğinde önce sağa sonra sola bakıp, hc-sr04 ile ölçümleri yaptıktan sonra hangi tarafta daha fazla boşluk varsa o tarafa doğru giden robot olarak tanımlayabiliriz.

Gerekli Malzemeler

1-      Arduino Uno R3
2-      Adafruit Arduino motor sheild
3-      1 Adet Servo motor
4-      1 Adet HC-SR04
5-      2 Adet DC Motor Tekerlek
6-      Güç Kaynağı
7-      Araba düzeneği için gerekli malzemeler

PROJE YAPIM AŞAMASI ANLATIM

1-Motor sheildimizi arduinonun üzerine takıyoruz
2-Güç kaynağımızı motor sheildin gnd ve + hattına bağlıyoruz
3-Motor 1’i M1 portuna Motor 2’yi M2  portuna bağlıyoruz
4-Servomuzu Servo 1(kodda 10. pin olarak geçiyor) portuna bağlıyoruz
5-Hc-sr04’ün gnd ve vcc hattını bağlıyoruz ardından Trig pini 13. pine Echo pini 2. pine bağlıyoruz

Araba yapım aşamasında ise 2 dc motorlu tekerlek arka tarafta 1 sarhoş tekerlek ön tarafta olmak üzere 3 tekerlekli bir araba yapıyoruz arabanın tam ön tarafına servomuzu sabitleyip uygun bir aparat ile üzerine hc-sr,4 ü takıyoruz.

 



KODLARIMIZ

#include <AFMotor.h>
#include <Servo.h>
const int trig = 13;
const int echo = 2;
AF_DCMotor motor1(1, MOTOR12_64KHZ);
AF_DCMotor motor2(2, MOTOR12_64KHZ);
Servo servo;
int sure = 0;
int mesafe = 0;
int mesafesol = 0;
int mesafesag = 0;

void setup() 
{
  Serial.begin(9600);
  servo.attach(10);
  pinMode(trig , OUTPUT);
  pinMode(echo , INPUT);
  motor1.setSpeed(150);
   motor2.setSpeed(150);

}

void loop()
{
Serial.print("normal mesafe");
Serial.println(mesafe);
  servo.write(90);
  digitalWrite(trig , HIGH);
  delayMicroseconds(1000);
  digitalWrite(trig , LOW);

  sure = pulseIn(echo , HIGH);
  mesafe = (sure/2) / 28.5 ;
  
  

  if ( mesafe > 20 )
  {
    motor1.run(FORWARD);
    motor2.run(FORWARD);
     
}
else
{
     motor1.run(RELEASE);
    motor2.run(RELEASE);
    servo.write(0);
    delay(600);
    digitalWrite(trig , HIGH);
  delayMicroseconds(1000);
  digitalWrite(trig , LOW);
  sure = pulseIn(echo , HIGH);
  mesafesag = (sure/2) / 28.5 ;
  Serial.print("sag mesafe");
Serial.println(mesafesag);
  delay(250);
  servo.write(180);
    delay(750);
    digitalWrite(trig , HIGH);
  delayMicroseconds(1000);
  digitalWrite(trig , LOW);
  sure = pulseIn(echo , HIGH);
  mesafesol = (sure/2) / 28.5 ;
    Serial.print("sol mesafe");
Serial.println(mesafesol);
  delay(250);
  servo.write(90);
  delay(750);

  if (mesafesol > mesafesag)
{
  Serial.println("sola don");
  motor1.run(BACKWARD);
    motor2.run(BACKWARD);
   delay(300);
   motor1.run(BACKWARD);
    motor2.run(FORWARD);
    delay(350);
     motor1.run(FORWARD);
    motor2.run(FORWARD);
}
else if (mesafesag > mesafesol)
{
  Serial.println("saga don");
    motor1.run(BACKWARD);
    motor2.run(BACKWARD);
   delay(300);
   motor1.run(FORWARD);
    motor2.run(BACKWARD);
    delay(350 );
     motor1.run(FORWARD);
    motor2.run(FORWARD);
}
   else
   {
          motor1.run(BACKWARD);
    motor2.run(BACKWARD);
   }
}
}
SONRAKI YAYIN
« Prev Post
ONCEKI YAYIN
Next Post »

4 yorum

Click here for yorum
22 Şubat 2017 08:08 ×

Merhaba, kod hata veriyor.

Arduino:1.8.1 (Windows 10), Kart:"Arduino/Genuino Uno"
C:\Users\zeynep\Documents\Arduino\saga_sola\saga_sola.ino:1:21: fatal error: AFMotor.h: No such file or directory

#include

^

compilation terminated.

exit status 1
Error compiling for board Arduino/Genuino Uno.

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

Yanıtla
avatar
admin
23 Şubat 2017 02:06 ×

merhaba Af motor kütüphanesini yüklemeyi deneyiniz ;)
ve ayrıca bu projenin kodları sadece yukarıda kullanılan motor surucu içindir iyi günler dileriz.

Yanıtla
avatar
admin
9 Mart 2017 08:22 ×

Tamamdır, teşekkürler.

Yanıtla
avatar
admin
7 Mayıs 2017 22:43 ×

MERHABA, ARKADAŞLAR

Benim yaptığımda HC-SR04 engel görmüyor .

Bir yardım edin lütfen....

Yanıtla
avatar
admin
Thanks for your comment