Kızılötesi sensörler, nesnelerin varlığını ve mesafesini ölçmek için kullanılan elektronik cihazlardır. Arduino gibi mikrokontrolörlerle birlikte kullanılarak, otomatik kapı açma, insan varlığı algılama ve çizgi izleme gibi birçok proje geliştirilebilir.
- Gerekli asıl malzemeler : Kızılötesi sensör, Arduino ve jumper kabloları.
- Kızılötesi sensörün VCC pinini Arduino’nun 5V pinine, GND pinini Arduino’nun GND pinine, sinyal pinini ise Arduino’nun dijital pinine bağlayın.
- Arduino IDE’de, sensörün sinyal pini için bir dijital giriş değişkeni tanımlıyoruz. Ardından, sensörün sinyal pini üzerinden gelen verileri okuyan bir döngü oluşturup ve bu verileri seri monitöre yazdırıyoruz.
- Sensörü test etmek için Arduino’yu bilgisayara bağlayın ve kodu yükleyin. Sensörün önüne bir nesne koyun ve seri monitörde sensörden gelen verileri izleyin. Sensör, bir nesne algıladığında sinyal çıktısı verir.
- Sensörü kullanarak birçok proje geliştirebiliriz. Örneğin, sensörü kullanarak otomatik bir kapı açabiliriz. Kapıyı açmak için sensör, insan varlığını algılar ve kapı açılır. Kapı açık olduğu sürece, sensör sürekli olarak çevresindeki nesneleri tarar ve kapı kapanmadan önce insan varlığını tespit eder.
- Sensörü test etmek için Arduino’yu bilgisayara bağlayın ve kodu yükleyin. Sensörün önüne bir nesne koyun ve seri monitörde sensörden gelen verileri izleyin. Sensör, bir nesne algıladığında sinyal çıktısı verir.
- Arduino IDE’de, sensörün sinyal pini için bir dijital giriş değişkeni tanımlıyoruz. Ardından, sensörün sinyal pini üzerinden gelen verileri okuyan bir döngü oluşturup ve bu verileri seri monitöre yazdırıyoruz.
- Kızılötesi sensörün VCC pinini Arduino’nun 5V pinine, GND pinini Arduino’nun GND pinine, sinyal pinini ise Arduino’nun dijital pinine bağlayın.
Eğer bu aşamaları hazırladıysanız, Arduino ile Kızılötesi sensörü kullanabilirsiniz. Bu sensörlerin kullanımı, birçok farklı proje için uygundur ve Arduino gibi mikrokontrolörlerle birlikte kullanılarak, birçok farklı özellik eklenerek daha da geliştirilebilir.
Örneğimizde, sensörün önündeki nesne mesafesini ölçeceğiz ve LCD ekran üzerinde görüntüleyeceğiz.
Malzemeler:
- Arduino Uno
- Kızılötesi mesafe sensörü
- LCD ekran (Tür i2C) (i2c olmayan bir LCD de kullanılabilir.
- Potansiyometre (kontrast ayarı için) 10K Ohm (Normal LCD için gerekli i2c var ise gerek yok!)
- Breadboard
- Jumper kabloları
//www.bozukdevre.net
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2); // LCD ekranın adresi
const int irSensorPin = 2; // kızılötesi sensör
unsigned long previousMillis = 0; // zamanlama
const long interval = 500; // veri okuma aralığı
void setup() {
lcd.init(); // LCD ekranı başlat
lcd.backlight(); // LCD ekranın arka ışığını aç
lcd.setCursor(0, 0); // LCD ekranın başlangıç konumuna ayarla
lcd.print("Mesafe Olcumu"); // LCD ekranı için başlık
pinMode(irSensorPin, INPUT); // kızılötesi sensör pin
}
void loop() {
unsigned long currentMillis = millis(); // geçen süreyi oku
if (currentMillis - previousMillis >= interval) { // veri
previousMillis = currentMillis; // zamanı güncelle
int distance = getDistance(); // mesafeyi oku
lcd.setCursor(0, 1); // LCD ekranın 2. satırına ayarla
lcd.print("Mesafe: "); // LCD ekranı için başlık
lcd.print(distance); // mesafeyi yazdır
lcd.print(" cm"); // birim olarak santimetre yazdır
}
}
int getDistance() {
int duration, distance;
// sensörden sinyal alınması için bir süre bekleyin
digitalWrite(irSensorPin, LOW);
delayMicroseconds(2);
// 10 mikrosaniye boyunca sinyal gönderin
digitalWrite(irSensorPin, HIGH);
delayMicroseconds(10);
digitalWrite(irSensorPin, LOW);
// sensörden sinyal alın
duration = pulseIn(irSensorPin, HIGH);
// sinyal süresini mesafeye çevirin
distance = duration * 0.034 / 2; //
return distance; // mesafeyi döndür
}
Bu kodlar i2C LCD için kodlanmıştır. Eğer normal bir LCD varsa elinizde kütüphaneyi değiştirerek kodu kullanabilirsiniz.
| Arduino Pinleri | LCD Ekranı | Kızılötesi Sensör |
|---|---|---|
| GND | GND | GND |
| 5V | VCC | VCC |
| A4 (SDA) | SDA | – |
| A5 (SCL) | SCL | – |
| 2 | – | Sinyal(S) pini Arduino 2 numaralı dijital pine bağlanacaktır. |




Bir yanıt yazın