Ardunio Park Sistemi


Merhaba arkadaşlar sizlere bugün yaptığım bir projeden bahsedeceğim. Projemi anlatayım ilk önce MZ-80 mesafe sensörü, 2 led, buzzer, kablolar, ve servo motor malzemeleri yardımı ile MZ-80 mesafe sensörüne bir cisim yaklaştığı(araba) anda servo motor açılıyor ve buzzer ötüyor led'imiz kırmızı yanıyor. Cisim uzaklaştığı anda led'ler aynı anda yanıyor ve buzzer susuyor servo motor kapanıyor. Halk dilinde park sistemi oluşturduk da diyebiliriz. Şimdi başlayalım.


Ekranda kullanacağımız malzemelerin tümünü görmektesiniz. Şimdi size projemin yapım aşamasını anlatmaya başlıyorum.


Resimde gördüğünüz gibi ilk olarak Ardunio'adaki Gnd pinimizi breadboard da "-" seri bölmesine 5v pinimizi breadbourd da "+" seri bölmesine bağlıyoruz. Ben ilk olarak led'leri bağlamakla başlıyorum.



İlk led'imin (kırmızı) kısa ayağını beradboard'un gnd "-" ye takıyoruz uzun ayağını istediğiniz rakamdaki pin'e takıyoruz. Ben Ardunio üzerinden 1.inci pine taktım. İkinci led'ime aynı işlemi uyguladım fakat pinini 2'ye takıyorum. Led montajı gerçekleşmiştir.


Sıra buzzer'ı monte etmekte. Buzzer'ımızın uzun ayağı Ardunio üzerindeki pinimize takılmakta, kısa ayağı Gnd "-" takılmaktadır. Ben 8.inci pinime buzzerımı takmış bulunmaktayım.


Şimdi resimde de gördüğünüz servo motorun Ardunio'ya kablo montajını sağlayacağız. Servo motor değince benim aklıma direk açı motor gelmektedir. Geometriden de bildiğiniz üzere 90 , 180 , 360 derece dönme işlemlerini gerçekleştirir. Şimdi başlayalım servo motorumuzun kahverengi ayağına GNG, kırmızı ayağına 5v "+", sarı ayağına pinimizi bağlıyoruz. Pinimi Ardunio üzerinde 8. pine bağlanmış bulunmakta.


Resim de de bağlantıyı kablo renkleri yardımıyla anlayabilirsiniz.



Şimdi MZ-80 motorun Ardunio'ya kablo montajını sağlayacağız. Kızıkötesi ile çalışmaktadır. Cisim gördüğü zaman 0 datasını, görmediği zaman 1 datasını atar. Mavi ayağı GND'i, kahverengi ayağı 5v "+" , siyah ayağı pinimize bağlanacaktır. Ben Ardunio üzerinde ki 12. pine bağlamış bulunmaktayım.


Resimden kablo renkleri yardımıyla bakabilrsiniz.


Ardunio'ya kablo montajını sağlamış bulunmaktayız. Şimdi işin kod kısmına giriş yapalım.

İlk olarak servo moturun çalışması için servo kütüphanesinde gerekli kodlar vardır onları çağırıyoruz.

//  #include <Servo.h>
Servo myservo;


İnt değişkenlere Ardunio üzerinde verdiğim pinleri atadık.

int pos=0;
int ledkirmizi=1;
int ledyesil=2;
int buzzer=8;
int durum=0;

 Void setup bölümünde pinlerin giriş çıkış durumlarını ayarlamaktayız.

{
  myservo.attach(9);
  pinMode(ledkirmizi,OUTPUT);
  pinMode(ledyesil,OUTPUT);
  pinMode(12,INPUT);
  pinMode(buzzer,OUTPUT);
  Serial.begin(9600);
}

Void loop bölümünde ise sensörde gelen datayı kontrol ediyoruz, engel geldiğinde servo motorun hareket etmesini bu kısımdan sağlıyoruz.

int a=digitalRead(12); // Mz-80 gelen dijital sinyali yakalar.
Serial.println(a); // Ekrana çıktı görüntülemek için.
   if(a==0 && durum==0) // Engel görmediği anda ki durum.
  {
    digitalWrite(ledkirmizi,HIGH);
    digitalWrite(buzzer,HIGH);
    digitalWrite(ledyesil,LOW);
   
   for (pos = 0; pos <90; pos ++) {
    myservo.write(pos);            
    delay(15); 
      
    }
      durum=1;                
  }
 
   else  if(a==1 && durum==1) // Engeli gördüğü andaki durum.
  {
    digitalWrite(ledyesil,HIGH);
    digitalWrite(ledkirmizi,LOW);
    digitalWrite(buzzer,LOW);
   
     for (pos = 90; pos >= 0; pos -= 1) {
    myservo.write(pos);            
    delay(15);        
        
  }
         durum=0;                     
  }





Video da projem görsel olarak sunulmuştur.

Yararlı olacağını umuduyla iyi günler diliyorum.










Hiç yorum yok:

Yorum Gönder