Arduino ile MZ80 Kızılötesi Sensör Kullanımı Nasıl Yapılır?
Bu yazımızda Arduino Uno ve MZ80 Kızılötesi Sensör Kullanımı yaptığımız proje anlatımını gerçekleştireceğiz.
Kullanacağımız malzemeler:
- Arduino Uno R3 DIP Klon
- MZ80 Mesafe Sensörü
- Jumper Kablo
- 12V Devreli Buzzer
- 220R 1/4W Direnç
- 5mm Kırmızı Led
- 5mm Yeşil Led
- Breadboard
MZ80 Yakınlık Sensörü Özellikleri
Bu MZ80 Kızılötesi Sensör, güvenlik sistemleri, mesafelerin ölçülmesi ve giriş / çıkış ortamlarının izlenmesini içeren projeler için mükemmel bir seçimdir. Kızılötesi sensör(IR) bir verici devresi ve bir alıcı vardır, yan yana yerleştirilmiştir. Bir nesne veya kişi sensörün önüne geçtiğinde, IR sinyali alıcı tarafından yansıtılır ve algılanır, bu da çıkış pinini düşük (LOW) sinyale çeker ve sensörün arkasında bir led yanar.
Sensör arkasında bulunan trimpot ile algı mesafesi 80 cm ye kadar ayarlanabilir.
MZ80 bağlantısı çok basittir, çünkü sensörde sadece 3 kablo bulunur: Kırmızı(Vcc) , Siyah(GND) ve Sarı(sinyal).
Sinyal pimi Arduino’nun dijital portlarından birine bağlanacak ve bir nesne tespit edildiğinde 0 (LOW) değerini oluşturacaktır.
Önemli Not: Bu sensörün bazı versiyonları mavi (GND), Pembe (Vcc) ve Siyah (Sinyal) şeklinde olabilir.
Test için, sensörün önünde hareket algılandığında bu sensörü bir varlık detektörü olarak kullanacağız, bir led’i açıp kapatacağız. Ayrıca kısa bir süre için buzzer tetikleyeceğiz.
Bağlantıları şemaya uygun yaptıktan sonra kodumuzu Arduino uno kartımıza yükleyip test edebiliriz.
MZ80 Arduino Kodu
int YESIL_LED = 3;
int KIRMIZIL_LED = 5;
int BUZZER = 7;
int MZ80_PINI = 9;
int SENSOR_DURUMU = 0;
void setup()
{
// SENSOR PININI GIRIS OLARAK AYARLA
pinMode(MZ80_PINI, INPUT);
// PINLERI CIKIŞ OLARAK AYARLA
pinMode(YESIL_LED, OUTPUT);
pinMode(KIRMIZIL_LED, OUTPUT);
pinMode(BUZZER, OUTPUT);
}
void loop()
{
SENSOR_DURUMU = digitalRead(MZ80_PINI);
if (SENSOR_DURUMU == 0)
{
// EĞER SENSORE YAKLAŞILMIŞSA
digitalWrite(YESIL_LED, LOW);
digitalWrite(KIRMIZIL_LED, HIGH);
// BUZZER SINYAL VER VE KIRMIZI LEDI YAK
for (int i = 1; i <= 3; i++)
{
digitalWrite(BUZZER, HIGH);
delay(100);
digitalWrite(BUZZER, LOW);
delay(100);
}
delay(100);
}
else
{
// SENSORDE SINYAL YOKSA KIRMIZI, YESIL LEDI VE BUZZERI DURDUR
digitalWrite(YESIL_LED, HIGH);
digitalWrite(KIRMIZIL_LED, LOW);
digitalWrite(BUZZER, LOW);
}
}
0 Yorumlar