Arduino

Engeli Gördüğünde Duran, Engel Olmadığında Çizgi İzleyen Robotun Kodlanması

Çizgi izleyen eğitsel robotun tasarımıyla ilgili tüm işlemleri daha önceki makalelerde anlatmıştık. Biz burada gerekli olan kodları yazmakla yetineceğiz.

int trig = 7; // Mesafe sensörü trig pini için D7 portunu belirle
int echo = 8; // Mesafe sensörü echo pini için D8 portunu belirle
int h=100; // Motor dönüş hızını belirle
void setup(){
 pinMode(5, OUTPUT);// sağ motor ileri pini
pinMode(6, OUTPUT);// sağ motor geri pini
pinMode(9, OUTPUT);// sol motor ileri pini
pinMode(10, OUTPUT);// sol motor geri pini
pinMode(2, INPUT); // Sağ Cizgi sensor
pinMode(3, INPUT); // Orta Cizgi sensor
pinMode(4, INPUT);// Sol Cizgi sensor
 
 pinMode(trig, OUTPUT);
 pinMode(echo , INPUT);
}
void loop(){
digitalWrite(trig , 1);
delay(1);
digitalWrite(trig , 0);
int sure = pulseIn(echo , 1);
int mesafe = (sure/2) / 28.97;
delay(1);
int sR = digitalRead(2);
int sC = digitalRead(3);
int sL = digitalRead(4);
if (mesafe < 30 ) // mesafe 30 cm’den küçük ise robotu durdur.
{
dur();
}
else // mesafe 30 cm’den büyük ise çizgiyi takip et.
{
if ((sL==1) && (sC==0) && (sR==1)) ileri();
if ((sL==0) && (sC==1) && (sR==1)) sol();
if ((sL==1) && (sC==1) && (sR==0)) sag();
}
}
void dur(){
analogWrite(5, 0);
analogWrite(6, 0);
analogWrite(9, 0);
analogWrite(10, 0);
}
void ileri() {
analogWrite(5, h);
analogWrite(6, 0);
analogWrite(9, h);
analogWrite(10, 0);
}
void sol() {
analogWrite(5, h);
analogWrite(6, 0);
analogWrite(9, 0);
analogWrite(10, 0);
}
void sag() {
analogWrite(5, 0);
analogWrite(6, 0);
analogWrite(9, h);
analogWrite(10, 0);
}

 


İlgili Makaleler
IRremote Library Kurulumu
RGB LED ile Uzaktan Kumandanın Kullanımı
Potansiyometre ile LED Lambalarının Yanıp Sönme Hızının Ayarlanması
Seri Monitör Yardımıyla Girilen Değere Göre Ledi Yakma Uygulamasını TinkerCAD Platformunda Yapma
Arduino Uno Kart ile Trafik Lambası Kontrolü
Arduino Uno Kart Kullanarak Anahtar İle Kontrol Edilen Dijital Giriş Uygulamasını TinkerCAD Platformunda Yapma
LDR Elemanıyla Ölçülen Işık Seviyesini Ledler Yardımıyla Gösteren Uygulamayı TinkerCAD Platformunda Yapma
Arduino Uno Kart İle Ledlerin Yanmasını Buton İle Kontrol Eden Uygulamayı TinkerCAD Platformunda Yapma
Mikrodenetleyici Kartla Mesafe Sensörü Değerlerine Göre Ledleri Yakma Uygulaması
Eğitsel Robotun Devre Şeması
TinkerCAD Platformunda Verilen Mesajı Seri Port Kullanarak Gösteren Uygulama
TinkerCAD Platformunu Kullanarak Merhaba Dünya Mesajını LCD Ekranda Görüntüleyen Arduino Uygulaması
Seri Port Ekranında Merhaba Dünya Mesajını Yazdıran Arduino Uno Uygulaması
Arduino Uno Kart İle Ledlerin Yanma Sırasını Anahtarla Değiştiren Uygulamayı TinkerCAD Platformunda Yapma
Arduino Uno Kart ile Trafik Işıklarında Yayalar İçin Sinyalizasyon Lambası Kontrolü
Mikrodenetleyici Kart İle Birlikte Kullanılan 7 Segment Display Elemanı ve Özellikleri
Arduino Kart İle Rastgele Belirlenen Süre Kadar Led Yakma Uygulamasını TinkerCAD Platformunda Yapma
Devrede Bulunun Ledlerden Birini Uzaktan Kumandayla Açıp Kapatan Uygulamayı Tinkercad Platformunda Gerçekleştirme
Potansiyometre ile Servo Motor Kontrolü
Robot Tabanlı Proje Geliştirmede Kullanılan Motor Sürücü

Yorum Ekle
   
Kötü İyi