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