Bu proje, PIR hareket sensörü kullanarak hareket algılandığında bir kırmızı LED’in yanmasını, bir buzzerın sesli uyarı vermesini ve LCD ekranında mesaj görüntülenmesini sağlar. Hareket olmadığında ise yeşil LED yanarak sistemin normal durumda olduğu belirtilir.
Gerekli Malzemeler
- 1 x Arduino Uno
- 1 x PIR hareket sensörü
- 1 x Kırmızı LED
- 1 x Yeşil LED
- 2 x 220 Ohm direnç
- 1 x Buzzer
- 1 x 16x2 LCD ekran (I2C modülü ile)
- Bağlantı kabloları ve breadboard
Devre Bağlantıları

PIR Hareket Sensörü
- VCC → Arduino 5V
- GND → Arduino GND
- OUT → Arduino Dijital Pin 2
LED Bağlantıları
Kırmızı LED
- Uzun bacak (anod) → Arduino Dijital Pin 13
- Kısa bacak (katod) → 220 Ohm direnç üzerinden GND
Yeşil LED
- Uzun bacak (anod) → Arduino Dijital Pin 12
- Kısa bacak (katod) → 220 Ohm direnç üzerinden GND
Buzzer Bağlantısı
- "+" bacağı → Arduino Dijital Pin 3
- "-" bacağı → Arduino GND
LCD Ekran (I2C Modülü ile)
- SDA → Arduino A4
- SCL → Arduino A5
- VCC → Arduino 5V
- GND → Arduino GND
Arduino Kodu
#include
#include
// LCD ekran tanımlama
LiquidCrystal_I2C lcd(0x27, 16, 2);
// Pin tanımlamaları
const int pirPin = 2; // PIR sensör pin
const int redLedPin = 13; // Kırmızı LED pin
const int greenLedPin = 12; // Yeşil LED pin
const int buzzerPin = 3; // Buzzer pin
void setup() {
// Pin modlarını ayarla
pinMode(pirPin, INPUT);
pinMode(redLedPin, OUTPUT);
pinMode(greenLedPin, OUTPUT);
pinMode(buzzerPin, OUTPUT);
// LCD ekran başlatma
lcd.init();
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print("Hareket Algilama");
// Seri iletişim başlatma
Serial.begin(9600);
}
void loop() {
int pirValue = digitalRead(pirPin); // PIR sensöründen değer oku
if (pirValue == HIGH) {
// Hareket algılandıysa işlemleri gerçekleştir
digitalWrite(redLedPin, HIGH); // Kırmızı LED yanar
digitalWrite(greenLedPin, LOW); // Yeşil LED söner
digitalWrite(buzzerPin, HIGH); // Buzzer çalışır
// LCD ekrana mesaj yazdır
lcd.setCursor(0, 1);
lcd.print("Hareket Algilandi");
// Seri monitöre yazdır
Serial.println("Hareket algilandi!");
delay(10000); // 10 saniye bekle
// Hareket algılama işlemi biter
digitalWrite(buzzerPin, LOW); // Buzzer kapanır
} else {
// Hareket yoksa yeşil LED yanar, kırmızı LED ve buzzer kapalı
digitalWrite(redLedPin, LOW);
digitalWrite(greenLedPin, HIGH);
digitalWrite(buzzerPin, LOW);
// LCD ekrana mesaj yazdır
lcd.setCursor(0, 1);
lcd.print("Hareket Yok ");
// Seri monitöre yazdır
Serial.println("Hareket yok!");
}
delay(100); // Kısa bir gecikme
}
Kod Açıklamaları
PIR Sensör Okuma
digitalRead(pirPin)
: PIR sensöründen gelen dijital sinyali okur. HIGH (1) ise hareket algılanmıştır, LOW (0) ise hareket yoktur.
LED ve Buzzer Kontrolü
- Hareket algılandığında kırmızı LED yanar, yeşil LED söner ve buzzer aktif hale gelir.
- Hareket olmadığında ise yeşil LED yanar, kırmızı LED ve buzzer kapalı kalır.
LCD Mesajı
- Hareket algılandığında LCD'de "Hareket Algilandi" mesajı görüntülenir.
- Hareket olmadığında ise "Hareket Yok" mesajı görüntülenir.
Delay Kullanımı
delay(10000)
: Hareket algılandıktan sonra 10 saniye boyunca kırmızı LED ve buzzer aktif kalır.
Proje Çalışma Prensibi
Hareket Algılama: PIR sensörü, hareket algılandığında Arduino’ya bir sinyal gönderir. Kırmızı LED ve buzzer aktif hale gelir. Aynı zamanda LCD ekrana "Hareket Algilandi" mesajı yazdırılır.
Hareket Yok: PIR sensörü hareket algılamadığında yeşil LED yanar ve LCD'de "Hareket Yok" mesajı gösterilir.
Zamanlayıcı: Hareket algılandıktan sonra kırmızı LED ve buzzer 10 saniye boyunca açık kalır, ardından kapatılır.
Projenin çalışan örneğini görmek için tıklayınız.
Ekstra İpuçları
Buzzer Ton Değişimi: Hareket durumuna göre farklı tonlarda sesler çıkarabilirsiniz.
Mesafe Algılama ile Kombinasyon: Hareket sensörü ile birlikte mesafe ölçümü yaparak daha karmaşık sistemler geliştirebilirsiniz.
Bu proje, temel robotik ve sensör sistemlerini anlamak için mükemmel bir başlangıçtır. Projeyi geliştirmek için farklı sensörler veya cihazlar ekleyebilirsiniz.
Sıkça Sorulan Sorular
Arduino ile hareket sensörü kullanmak için bir PIR sensör bağlanır. Sensörün çıkış pini Arduino'nun dijital bir pinine bağlanır. Sensör hareket algıladığında, Arduino bu durumu okuyarak bir LED veya buzzer gibi cihazları kontrol edebilir.
PIR sensörü hareket algıladığında, Arduino dijital bir pin üzerinden LED'i yakabilir. Kırmızı LED hareket olduğunda, yeşil LED hareket olmadığında yanabilir.
Arduino'da bir buzzer pini tanımlanır ve PIR sensörünün HIGH sinyal verdiği durumda digitalWrite(buzzerPin, HIGH);
komutu ile buzzer aktif hale getirilir.
PIR sensörlerinin üzerinde bulunan iki ayar vidası ile hassasiyet (sensitivite) ve algılama mesafesi manuel olarak ayarlanabilir. Bu ayarları yaparak sensörün daha doğru çalışmasını sağlayabilirsiniz.
Kodda bir kontrol yapısı eklenir: Eğer PIR sensöründen gelen değer LOW ise yeşil LED yanar; HIGH ise kırmızı LED yanar.
delay()
fonksiyonu ile belirli bir süre boyunca LED veya buzzer gibi cihazların aktif kalması sağlanabilir. Örneğin, delay(10000);
komutu ile bir cihaz 10 saniye boyunca aktif tutulabilir.
LCD ekran Arduino'ya bağlanır ve PIR sensörü hareket algıladığında lcd.print("Hareket Algılandı");
komutu kullanılarak ekrana mesaj yazdırılabilir.
Evet, PIR sensörleri kullanarak hareket algılayan bir robot yapabilirsiniz. Sensörlerden gelen veriler motor sürücülere iletilerek robotun hareketi yönlendirilebilir.
PIR sensörler mesafe ölçemez, yalnızca hareket algılar. Mesafe ölçmek için ultrasonik sensörler gibi başka sensörler kullanmanız gerekir.
PIR sensörler düşük enerji tüketimine sahiptir ve genellikle 50-60 µA civarında akım çeker. Bu nedenle bataryalı projelerde rahatlıkla kullanılabilir.
Bu Gönderiye Yorum Yapılmamış