Analog sensörler ve Dijital sensörler vardır.
Bazı Analog sensörler bir anahtar gibi çalışır, belirli bir ortamda ‘açık’ sinyali verirken, diğer bir ortamda ‘kapalı’ sinyali verir.
Bir örnek olarak Cıva eğim anahtarını alalım. Cıva eğim anahtarı yukarı eğildiğinde, açık olur ve yüksek seviye sinyali gönderir, aksi takdirde kapalı olur ve düşük seviye sinyali gönderir.
Cıva eğim anahtarını şasinin D9 konektörüne bağlayın ve LED bloğunu D8 konektörüne bağlayın. Farklı yönlere eğerek, bir anahtar gibi Açık/Kapalı işlevi görür.
int Mercury_tilt = 9; // Cıva eğim anahtarı bloğu için 9. dijital pini tanımlayın int Buzzer = 8; // LED bloğu için 8. dijital pini tanımlayın
void setup()
{
pinMode(Buzzer,OUTPUT); // LED pinini dijital çıkış olarak ayarlayın
pinMode(Mercury_tilt,INPUT); // eğim sensörü pinini dijital giriş olarak ayarlayın
}
void loop()
{
if (digitalRead(Mercury_tilt)) // yukarı eğim varsa
digitalWrite(Buzzer,HIGH); // Buzzer'ı çaldır
else // basılmadıysa
digitalWrite(Buzzer,LOW); // Buzzer'ı kapat
}
Kodu Arduino’ya yükleyin ve blok yukarı eğildiğinde, buzzer alarm verecektir.
Bazı Dijital sensörler, sadece farklı durumlarda yüksek veya düşük seviye sinyali vermek için bir anahtar gibi çalışmaz. Belirli durumlarda bir darbe sinyali gönderirler.
Bir PIR sensörü olarak, insanlar onun üzerinden geçtiğinde, yüksek seviye bir darbe gönderir. Darbe süresi, bloktaki direnç ile değiştirilebilir. Daha uzun bir darbe, Arduino tarafından kontrol edilmesini kolaylaştırır.
PIR sensör bloğunu şasinin D9 konektörüne bağlayın ve LED bloğunu D8’e bağlayın.
int PIR = 9; // PIR sensör bloğu için 9. dijital pini tanımlayın int LED = 8; // LED bloğu için 8. dijital pini tanımlayın int time=0; // zamanı başlat
void setup()
{
pinMode(LED,OUTPUT); // LED pinini dijital çıkış olarak ayarlayın
pinMode(PIR,INPUT); // eğim sensörü pinini dijital giriş olarak ayarlayın
}
void loop()
{
if (digitalRead(PIR)) // insanlar geçiyorsa kontrol et
{
time = 10000 ; // bir ışık süresi ayarla
}
if (time>0) // LED'in yanması gerekip gerekmediğini kontrol et
{
digitalWrite(LED,HIGH); // LED'i yak
time--; // ışık süresini azalt
}
else
{
digitalWrite(LED,LOW); // LED'i kapat
}
}
Kodu Arduino’ya yükleyin ve birisi PIR sensörünün yanından geçtiğinde, LED bir süre yanacaktır.
PIR sensörü hakkında daha fazla bilgi burada:
https://www.seeedstudio.com.tr/depot/pir-motion-sensor-module-p-74.html
Analog sensör, Dijital sensörden farklıdır; farklı durumlarda farklı seviyelerde analog sinyaller verir. Analog sinyalin seviyesi, sensörün algıladığı gerçek sinyali yansıtır; örneğin ışık yoğunluğu, gaz yoğunluğu, sıcaklık vb.
Şimdi bir Gaz sensörünü örnek alalım. Öncelikle, Bloğun Direncini ayarlayarak sensörün çıkış analog seviyesini doğru hale getirin. Gaz sensörü güçlendiğinde ısınacak ve sonunda sıcak hale gelecektir, ardından direnci yaklaşık 5K ayarlayarak çıkış analog sinyalini yaklaşık 1V’a getirebiliriz.
Gaz sensör bloğunu şasinin A1 konektörüne ve buzzer’ı D8 konektörüne bağlayın.
int Gassensor = 1; // gaz sensör bloğu için 1. dijital pini tanımlayın int Buzzer = 8; // buzzer bloğu için 8. dijital pini tanımlayın
void setup()
{
pinMode(Buzzer,OUTPUT); // LED pinini dijital çıkış olarak ayarlayın
}
void loop()
{
int val=0;
val=analogRead(Gassensor); // Gaz yoğunluğu için gaz sensörünü oku
if (val>0x300) // gaz yoğun ise
{
digitalWrite(Buzzer,HIGH); // alarm için Buzzer'ı çaldır
}
else
{
digitalWrite(Buzzer,LOW); // buzzer'ı kapat
}
}
Gaz sensörü hakkında daha fazla bilgi burada:
Kodu Arduino’ya yükleyin ve gaz sensör bloğunu gaz yoğunluğunu kontrol etmeniz gereken bir yere yerleştirin. Eğer gaz yoğunluğu belirlediğimiz değeri aşarsa, buzzer alarm verecektir.
Işık sensörü, gaz sensörüne benzer; aynı zamanda gerçek sinyal olan: ışık yoğunluğuna göre analog sinyal verir. Işık sensörünü, karanlık olduğunda ışık kaynağını açmak ve aydınlık olduğunda kapatmak için kullanabiliriz.
Işık sensör bloğunu şasinin A1 konektörüne bağlayın ve LED bloğunu D8 konektörüne ışık kaynağı olarak bağlayın.
int LightSensor = 1; // ışık sensör bloğu için 1. dijital pini tanımlayın int LED = 8; // LED bloğu için 8. dijital pini tanımlayın
void setup()
{
pinMode(LED,OUTPUT); // LED pinini dijital çıkış olarak ayarlayın
}
void loop()
{
int val=0;
val=analogRead(LightSensor);
// Işık yoğunluğuna karşılık gelen analog seviyeyi oku
if (val<0x200)
{
digitalWrite(LED,HIGH); // ışığı aç
}
else
{
digitalWrite(LED,LOW); // ışığı kapat
}
}
Kodu Arduino’ya yükleyin ve çevredeki ışık sensörü karanlık olduğunda LED yanacak, ancak çevredeki ışık yeterince aydınlık olduğunda LED sönecektir.
Daha fazla sensör bloğunu burada bulabilirsiniz:
https://seeedstudio.com.tr/depot/electronic-bricks-c-44.html




