Menü

ARDUİNO İLE ÇİZGİ İZLEYEN ROBOT

6 Aralık 2017 - Arduino
ARDUİNO İLE ÇİZGİ İZLEYEN ROBOT
3.4 (68.46%) 26 votes

Projemizi 4 aşamada gerçekleştirdik.

  1. 2 adet CNY70 ve 74HC14 kullanılarak sensörün yapılması.
  2. Şasenin yapılması.
  3. Arduino, dc motorlar ve sensör arasında elektronik bağlantının yapılması.
  4. Arduinoya kodun yüklenmesi ve test sürüşünün yapılması.

1. 2 ADET CNY70 ve 74HC14 KULLANILARAK SENSÖRÜN YAPILMASI:

74HC14 Entegresinin Bağlantısı

Sensörün fritzing programında çizimi

 

Sensörün bitmiş hali

 

2. ŞASENİN YAPILMASI:

Sensörün şasesinin yapım aşaması 2

Sensörün şasesinin yapım aşaması 1

3. DEVREDE Kİ ELEKTRONİK BAĞLANTILARININ YAPILMASI:

Elektronik bağlantılarının fritzing çizimi

Arkadaşlar aslında bağlantıları fritzing programında açık bir şekilde gösterdik ancak ben yine de detaylı bir şekilde anlatacağım.

 

Enable bacaklar (1,9) ve Vcc (16) ortak 5V’luk hatta bağlandı.

Input 1,2,3,4 bacakları (2,7,10,15) arduinonun digital kısmında ki gerekli pinlere bağlandı.

Output 1,2,3,4 bacaklarına (3,6,11,14) motorlar bağlandı.

GND’ler(4,5,12,13) devrede ki ortak GND hattına bağlandı

Vss (8) ise birbirine seri olarak bağlanmış 4 adet 6V’luk pilin pozitif kısmına bağlandı.

4 adet 6V’luk pilin negatif kısmı ise ortak GND hattın bağlandı.

9V’luk pilin pozitif kısmı arduino da bulunan “POWER” kısmında ki Vin girişine bağlandı. Negatif kısmı ise Vin girişinin yanında bulunan GND kısmına bağlandı.

Son olarak ise arduinonun devreyi beslemesi için gereken bağlantılar yapıldı. “POWER” kısmında ki 5V’luk pin devrenin ortak VCC hattına hemen yanında ki GND ise devrenin ortak GND hattına bağlandı.

4. ARDUİNO’YA KODUN YÜKLENMESİ VE TEST SÜRÜŞÜNÜN YAPILMASI:

Arkadaşlar kodu yazarken video çekmek zor olacağı için kodu direkt aşağıda paylaşıyoruz:

const int left_f = 7; // motor sürücü ve sensörün takıldı olduğu pinleri tanımladık.
const int left_r = 6;
const int right_f = 4; 
const int right_r = 5;

const int left_sensor = 2;
const int right_sensor = 3;

int left_case, right_case; // sol ve sağ sensörün durum değişkenleri tanımladık.

void setup()
{
  pinMode(right_f, OUTPUT); // motor sürücü pinlerini çıkış olarak ayarladık.
  pinMode(right_r, OUTPUT);
  pinMode(left_f, OUTPUT);
  pinMode(left_r, OUTPUT);
  
  pinMode(right_case, INPUT); // sensörün pinlerini giriş pini olarak atadık.
  pinMode(left_case, INPUT);
}

void loop()
{
  left_case = digitalRead(left_sensor); // sol ve sağ sensör okunup değişkenlere kaydedildi.
  right_case = digitalRead(right_sensor);

  if (left_case == LOW && right_case == LOW) // iki sensör de siyah görmüyor ise motorlar ileri gidecek şekilde çalışıtırıldı.
  {
    digitalWrite(right_f, HIGH);
    digitalWrite(right_r, LOW);
    digitalWrite(left_f, HIGH);
    digitalWrite(left_r, LOW);
  }
  else if (left_case == LOW && right_case == HIGH) // sağ sensör siyah görüyor ise motorlar sağa dönecek şekilde çalıştırıldı.
  {
    digitalWrite(right_f, HIGH);
    digitalWrite(right_r, HIGH);
    digitalWrite(left_f, HIGH);
    digitalWrite(left_r, LOW);
  }
  else if (left_case == HİGH && right_case == LOW) // sol sensör siyah görüyor ise motorlar sola dönecek şekilde çalıştırıldı.
  {
    digitalWrite(right_f, HIGH);
    digitalWrite(right_r, LOW);
    digitalWrite(left_f, HIGH);
    digitalWrite(left_r, HIGH);
  }
  else  //eğer yukarıda şartların 3 üde değilse dur.
  {
    digitalWrite(right_f, LOW);
    digitalWrite(right_r, LOW);
    digitalWrite(left_f, LOW);
    digitalWrite(left_r, LOW);
  }


Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Araç çubuğuna atla