Merhaba arkadaşlar, bu uygulamamızda Reed Röle kullanarak Kapı Alarm uygulaması yapacağız.
[embedyt] https://www.youtube.com/watch?v=sB7f0FR61Hc[/embedyt]
Malzeme Listesi
- Arduino
- Breadboard
- 1 Adet Buzzer
- 2 Adet Led (Kırmızı ve Yeşil)
- 2 Adet 330R Ohm Direnç ( Turuncu-Turuncu-Kahverengi)
- Reed Röle Modülü
- Gerekli Kablolar
- Mıknatıs
Devre Şeması
Malzeme listesindeki malzemeleri kullanarak devremizi aşağıdaki şemaya uygun olarak kuralım. Devremizde uyarı vermek için buzzer ve 2 led kullandık. Yeşil led yandığında kapı kapalı, kırmızı ve buzzer da çalıştığı zaman kapının açık olduğunu bildirecektir. Ledlerimizin fazla akım sebebiyle patlama tehlikesi nedeniyle 330R Direnç kullandık. Reed röle kartımızın da bağlantıları – ‘ işaretinin olduğu bacağı GND’ye, ortadaki bacağı VCC(5V)’a ve S bacağını ise 2 numaralı pine bağlıyoruz. 2 numaralı pindeki gerilimi ölçerek reed sensörümüzün durumunu öğreneceğiz.
Arduino Kodları
İlk önce int veri tipini kullanarak, değişken isimlerini yazarak ledlerin, buzzerın ve reed röle modülümüzün pin numalarını tanımlıyoruz. Daha sonra reed röle modülümüzün durumunu okumak için int veri tipinde bir değişken oluşturuyoruz. Ben ismini deger yaptım.
Setup fonksiyonunda ledleri ve buzzerı OUTPUT(çıkış), reed röle pinimizi ise INPUT(giriş) olarak tanımlamamız gerekiyor.
Loop fonksiyonunda ilk önce reed röle modülümüzden okuduğumuz değeri deger değişkenine aktarıyor. Aktardığımız değer dijital pinden okuma işlemi yaptığımız için 0 veya 1 olabilir. Bu değeri okuma işlemi yaparak sonra if blokları ile okuduğumuz değerin 0 a mı yoksa 1 e mi eşit olduğunu kontrol ederek işlemler yapmalıyız. Eğer değer 0 a eşitse digitalWrite komutu ile sadece yeşil ledimizi açıyoruz diğerlerini kapatıyoruz. Bu kısımda HIGH yerine 1 , LOW yerine ise 0 kullanabilirsiniz. Eğer değer 0 a eşit değilse yani else bloğumuz çalışacak bu kısımda ise buzzer ve kırmızı led açılacak, yeşil led kapanacaktır. Bu kontrol yapıldıktan sonra delay fonksinu ile birazcık bekliyoruz ve daha sonra loop başa dönerek aynı şekilde devam ediyor uygulamamız.
Reed röle modülünde okuduğumuz değer mıknatıs yaklaştırılınca bu uygulamamızda 0 olarak gözüküyor. Bu yüzden 0 olunca güvenli, kapı kapalı olarak , 0 değilse yani 1 ise kapı açıldı olarak kodlama yaptım. Bazı reed röle modüllerinde veya direk modül olmadan reed röleyi kullanınca mıknatıs yaklaştırılınca 0 değil de 1 değeri gelebilir ve tam tersi olabilir. Bu yüzden elinizdeki modülü test etmeniz gerekebilir. Eğer tam tersi bir veri geliyorsa “if(deger==0)” kodunu “if(deger==1)” olarak değiştirebilirsiniz.
Uygulamayı yaparken hata alırsanız veya çalıştıramazsanız yorum kısmından yorum yapabilirsiniz. Bu şekilde size yardımcı olabilirim.
int reedRolePin = 2;
int led1 = 8; //Kırmızı
int led2 = 10; //Yeşil
int buzzer = 12;
int deger;
void setup() {
pinMode(led1,OUTPUT);
pinMode(led2,OUTPUT);
pinMode(buzzer,OUTPUT);
pinMode(reedRolePin,INPUT);
}
void loop() {
deger = digitalRead(reedRolePin);
if(deger==0){ // Kapı Kapalı
digitalWrite(buzzer,0);
digitalWrite(led1,0);
digitalWrite(led2,1);
}
else{ //Kapı Açılırsa
digitalWrite(buzzer,1);
digitalWrite(led1,1);
digitalWrite(led2,0);
}
}
Kodları yazdıktan sonra arduinomuzu bilgisayara bağlayıp yükleme işlemini yapabiliriz. Bu sayede kapı alarm uygulamamız gerçekleşmiş olacak.
Reed röle hakkında daha fazla bilgi için Reed Röle Nedir? adlı yazıma bakabilirsiniz.
Yazımı okuduğunuz için teşekkür ederim. Bir sonraki projemizde görüşmek üzere 🙂
Devre sürekli ötüyor nedeni nedır?