ARDUİNO İLE ENGELLERDEN KAÇAN ROBOTUN YAPIMI
GEREKLİ MALZEMELER
- Arduino Uno
- Çok amaçlı arduino platformu
- L298N Voltaj regulatörlü çift motor sürücü kartı
- HC-SR04 Ultrasonik mesafe sensörü
- Pil
- 6'lı Pil yuvası
- Jumber
ENGELDEN KAÇAN ROBOT DEVRESİ
KOD :
#define echoPin 12
#define trigPin 13
#define MotorR1 7
#define MotorR2 6
#define MotorRE 9
#define MotorL1 5
#define MotorL2 4
#define MotorLE 3
long sure , uzaklik ;
void setup () {
pinMode (echoPin , INPUT) ;
pinMode (trigPin , OUTPUT) ;
pinMode (MotorL1 , OUTPUT) ;
pinMode (MotorL2 , OUTPUT) ;
pinMode (MotorLE , OUTPUT) ;
pinMode (MotorR1 , OUTPUT) ;
pinMode (MotorR2 , OUTPUT) ;
pinMode (MotorRE , OUTPUT) ;
Serial.begin(9600) ;
}
void loop () {
digitalWrite(trigPin , LOW) ;
delayMicroseconds (5) ;
digitalWrite (trigpin , HIGH) ;
delayMicroseconds (10) ;
digitalWrite (trigPin , LOW) ;
sure = pulseIN ,(echoPin , HIGH) ;
uzaklik = sure / 29.1 / 2 ;
Serial.println(uzaklik) ;
if (uzaklik < 15)
{
geri() ;
delay(150) ;
sag() ;
delay(250) ;
}
else {
ileri() ;
}
}
void ileri () {
digitalWrite(MotorR1 , HIGH) ;
digitalWrite(MotorR2 , LOW) ;
analogWrite(MotorRE , 150) ;
digitalWrite(MotorL1 , HIGH) ;
digitalWrite(MotorL2 , LOW) ;
analogWrite(MotorLE , 150) ;
}
void sag() ;
digitalWrite(MotorR1 , HIGH) ;
digitalWrite(MotorR2 , LOW) ;
analogWrite(MotorRE , 0) ;
digitalWrite(MotorL1 , HIGH) ;
digitalWrite(MotorL2 , LOW) ;
analogWrite(MotorLE , 150) ;
}
void geri() {
digitalWrite(MotorR1 , HIGH) ;
digitalWrite(MotorR2 , LOW) ;
analogWrite(MotorRE , 150) ;
digitalWrite(MotorL1 , HIGH) ;
digitalWrite(MotorL2 , LOW) ;
analogWrite(MotorLE , 150) ;
}
Hiç yorum yok:
Yorum Gönder