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.

Bu Gönderiye Yorum Yapılmamış