Arduino LDR ile Buzzer ve LED Kontrolü

arduino-ldr-kullanimi-arduino-dersleri

Arduino LDR Kullanımı – Buzzer ve LED Kontrolü

Arduino LDR Kullanımı Nasıl Yapılır?”, “LDR ile Buzzer Kontrolü, “LDR ile LED Parlaklığı Nasıl Ayarlanır?” konularını anlatacağız.

Önce buzzer hakkında bilgi edinelim.

 

Buzzer Nedir?

Buzzer, çeşitli giriş verilerini yani sinyalleri alan ve bu sinyallere istinaden ses daha doğrusu “bip” sesi veya vızıltı diyebileceğimiz sesi üreten bir komponenttir.

Buzzer Çeşitleri Nelerdir?

Buzzer Çeşitleri: Mekanik Buzzer, Manyetik Buzzer, Elektromekanik Buzzer ve Piezo Buzzer şeklindedir.

Mekanik Buzzer Nedir?

Mekanik buzzerlarda elektrik alımı yerine sıkıca sarılmış yaylar kullanılır, bu sayede mekanik enerji sese çevirilmiş olur.

Manyetik Buzzer Nedir?

Manyetik buzzer sesi bir bobin yardımı ile yayar. Elektrik akısı bobini aktif hale getirir ve ses oluşur.

Elektromekanik Buzzer Nedir?

Elektromekanik buzzer’ın kendi içindeki tasarımı birçok parçayı birleştirir. Bu çeşidi diğerlerinden ayıran yönü, akım alete doğru giderken temas noktası aktif olur. Buna örnek olarak eski tip ev zillerini gösterebiliriz.

Piezo Buzzer Nedir?

Piezo Buzzer tamamen piezoelektrik ile çalışmaktadır. Verilen voltajın miktarına göre titreşimin yani buzzer’ın tam kelime karşılığı olan “vızıltı” şiddeti ton olarak değişir. Yüksek voltaj verilmesi halinde titreşim sayısı artar ve buzzer ince yani tiz bir ses verir. Düşük voltaj verilmesi halinde ise titreşim sayısı düşük olur ve daha kalın bir ses tonu elde edilir.

 

Potansiyometre ile LED ve Buzzer Kontrolü içeriğimizi de inceleyebilirsiniz:

 

Piezoelektrik Nedir?

Piezo, literatürde “Sıkıştırmak” veya “Basınç Uygulamak” anlamlarına gelen bir kelimedir. Piezoelektrik, mekanik bir enerjiyi elektriğe ya da tam tersi olacak şekilde elektrik enerjisini de mekanik enerjiye çevirebilme durumudur.

Piezo, mekanik sıkıştırma sonucu voltaj üreten; voltaj uygulandığı zaman mekanik titreşim elde edilen bazı kristal ve seramiklere ait özelliktir.

Kutuplaşma özelliğine sahip olan iyonsal kristale bir basınç uygulanması halinde kutuplar arası mesafe değişimi yük birikimi oluşturur. Bu yük farkının bir iletkenle birleştirilmesi halinde ise bir akım meydana gelir. Fakat bu enerji çok düşük miktarda olduğu için kullanımını özelleştirmek gerekir.

Piezoelektriğin kullanıldığı en basit alan çakmaklardır.

piezo-elektrik-cakmak

Özetlemek gerekirse;

Mekanik enerjiden voltaj üretimine Piezo olayı:

piezo-olayi-nedir

Voltajdan mekanik titreşim üretimine de ters piezo olayı denir:

ters-piezo-olayi-nedir

 

 

LDR (Foto Direnç) Nedir?

LDR, Işığa Bağımlı Direnç anlamına gelen “Light Dependent Resistance” kelimelerinin baş harflerinden meydana gelmiş bir deyimdir. Optik sensör sınıfına giren LDR aslında bir Photo Resistor yani foto dirençtir.

ldr-nedir

ldr-light-dependent-resistance

 

LDR, üzerine düşen ışık miktarına göre direnç değeri değişen bir elektronik komponenttir. LDR ışık alırken düşük değerlerde direnç gösterirken, karanlıkta kalması veya çok az miktarda ışık alması halinde yüksek değerlerde direnç gösterir.

Arduino LDR Kullanımı: LDR Nasıl Çalışır? LDR Çalışma Prensibi Nedir?

ldr-nasil-calisir-ldr-calisma-prensibi

Özetle ışık arttıkça direnç düşer, ışık azaldıkça direnç artar.

Bu özelliği ile LDR ışık değişimine bağlı olarak kontrol edilmek istenen devrelerde ve projelerde sıkça kullanılmaktadır.

Arduino ile LDR Devresi

arduino-ile-ldr-devresi

Devre kurulumunda A0’dan çıkan sarı kablo LDR’nin uzun bacağına gitmelidir. Öncesinde 1K direnç bağlanmıştır, bu LDR’nin stabil çalışması içindir. Bu direncin çıkışı da GND yani toprak bağlantısına gider.

Arduino’dan gelen 5V gücü LDR’nin kısa bacağına kırmızı kablo aracılığı ile bağladık.

LED’in kısa bacağını toprağa, uzun bacağını da bir direnç yardımıyla Arduino’nun 3.pinine bağladık. Bu şekilde devreyi tamamlamış olduk.

 

Arduino LDR Kodları

LDR genel olarak dijital çıkışlı, yani on / off mantığında çalışacak uygulamalarda tercih edilir ve sağlıklı çalışma biçimi de aslında bu şekildedir.

Ancak LDR’yi analog olarak, değişken değerleri dikkate alarak kullanmak da mümkün. Her iki kullanım için devre kurulumu aynıdır fakat kodlarda değişiklik gerekmektedir.

Arduino LDR Kodları: Analog Kullanım

1. satırda Arduino’daki 3. Pini LED olarak tanımladık.

Void Setup alanında baudrate ayarını yaptık.

Void Loop alanında 9. Satırda Arduino A0 Pininden gelen veriyi “Deger” isimli değişkene atadık.

10. satırda ise seri port ekranında verileri görmek için gerekli tanımlamayı yaptık.

11. satırda ise “Deger” değişkenindeki veriyi led değişkenine gönderdik ve ledin yanmasını sağladık.

#define led 3                      // 3.Pinde LED olduğunu tanımlıyoruz


void setup() {
  Serial.begin(9600);
}

void loop() {
   int Deger = analogRead(A0);      // Deger isimli bir değişken tanımlıyoruz. Bu değişken A0 Analog Pininden gelen veriyi tutacak.
   Serial.println(Deger);           // Serial Monitör ekranında veriyi görebilmek için eklenen satır.
   
   analogWrite (led, Deger);        // Led değişkenine Deger değişkenindeki veri gönderilir.

Arduino LDR Kodları: Dijital Kullanım

1. satırda Arduino’daki 3. Pini LED olarak tanımladık.

Void Setup alanında 5. Satırda Led veya Buzzer’a dijital çıktı göndereceğimiz için pinMode komutunu kullandık. 6. Satırsa ise baudrate ayarını yaptık.

Void Loop alanında 10. Satırda Arduino A0 Pininden gelen veriyi “Deger” isimli değişkene atadık.

11. satırda ise seri port ekranında verileri görmek için gerekli tanımlamayı yaptık.

14. satırda ise “Deger” değişkenin gelen verinin 15’ten küçük olması halinde ledin yanmasını, buzzer’ın ses çıkarmasını istemiyoruz. Bu sebeple LOW komutunu gönderdik.

19. satırdaki “else” ile başlayan dizilimde de “Deger” değişkeninden gelen verinin 15’ten fazla olması halinde Ledin yanması veya buzzerın ses çıkarması için HIGH komutunu gönderdik.

#define led 3                       // 3.Pinde LED olduğunu tanımlıyoruz


void setup() {
  pinMode(led,OUTPUT);              // Led dijital olarak kullanacağımız için çıkış tanımlaması yapılmalıdır.
  Serial.begin(9600);
}

void loop() {
   int Deger = analogRead(A0);      // Deger isimli bir değişken tanımlıyoruz. Bu değişken A0 Analog Pininden gelen veriyi tutacak.
   Serial.println(Deger);
  

    if(Deger <= 15)                  // analogRead ile Deger değişkenine gelen veri 15'ten küçük ise LED yanmayacak.
      {
        digitalWrite(led,LOW);
      }
    
    else                             // analogRead ile Deger değişkenine gelen veri 15'ten büyük ise LED yanacak.
      {
        digitalWrite(led,HIGH);
      }
}

 

Arduino Eğitimine Hemen Başlayın!

Arduino Dersleri hem Youtube‘da hem de Direnc.net Blog sayfamızda! Sosyal medyada bizi takip edin! Bildirimleri açarsanız en güncel içeriklerden hemen haberdar olabilirsiniz