ESP32 Eğitimi 21/55 - PIR Hareket Sensörü ile İnsan Algılama | SunFounder'ın ESP32 IoT Öğrenme Kiti
Bu eğitimde, insan varlığını tespit etmek için ESP32 ile bir PIR hareket sensörünün nasıl kullanılacağını öğreneceğiz. ESP32, hem Wi-Fi hem de Bluetooth özellikleri sunan güçlü bir mikrodenetleyicidir ve bu da onu IoT projeleri için ideal kılar. Bir PIR sensörü entegre ederek, hareket algılandığında bir LED veya buzzer'ı etkinleştiren bir sistem kurabilir, insan aktivitesini izlemek için basit ama etkili bir yol sağlayabiliriz.
PIR (Pasif Kızılötesi) sensör, özellikle insanlar gibi sıcak gövdeli nesneler tarafından yayılan kızılötesi radyasyonu algılayarak hareketi tespit eder. Hareket algılandığında, sensör ESP32'ye bir sinyal gönderir ve bu da bir LED'i yakmak veya bir buzzer'ı çalmak gibi bir çıktıyı tetikleyebilir. Bu eğitim, sistemi doğru şekilde çalıştırmak için gereken donanım kurulumu, bağlantı ve kod konusunda size rehberlik edecektir (videoda 00:45'te).
Donanım Açıklaması
Bu proje birkaç temel bileşeni içerir. ESP32 mikrodenetleyicisi, sensör verilerini işleyerek ve çıktıları kontrol ederek işlemin beyni olarak görev yapar. PIR hareket sensörü, kızılötesi radyasyondaki değişiklikleri ölçerek hareketi algılar. LED veya buzzer, hareket algılandığında görsel veya işitsel bir uyarı sağlar.
ESP32, bulut bağlantısı gibi genişletilmiş işlevlere olanak tanıyan Wi-Fi ve Bluetooth ile donatılmıştır. PIR sensörü, kızılötesi ışığı piroelektrik bir sensöre odaklayan bir mercek içerir; bu sensör, kızılötesi seviyelerindeki değişiklikleri algıladığında hareketi gösteren bir voltaj sinyali üretir.
Veri Sayfası Detayları
| Üretici | SunFounder |
|---|---|
| Parça numarası | PIR Sensör Modülü |
| Mantık/IO voltajı | 3.3 V |
| Besleme voltajı | 3.3 V |
| Çıkış akımı (kanal başına) | 20 mA maks. |
| Tepe akımı (kanal başına) | 50 mA maks. |
| PWM frekans rehberi | Yok |
| Giriş mantık eşikleri | 0.3 V (düşük), 2.0 V (yüksek) |
| Voltaj düşümü / RDS(on) / doyum | Yok |
| Termal sınırlar | 0 ila 70 °C |
| Paket | Modül |
| Notlar / varyantlar | Ayarlanabilir hassasiyet ve gecikme |
- Hasarları önlemek için doğru güç kaynağını (3.3 V) sağlayın.
- Akımı sınırlamak için LED için bir direnç kullanın.
- Kısa devreleri önlemek için doğru kablolamayı sağlayın.
- Gerektiğinde hassasiyet ve gecikme için PIR sensör düğmelerini ayarlayın.
- Optimum performans için sensörü farklı ortamlarda test edin.
Bağlantı Talimatları

PIR hareket sensörünü ve LED'i ESP32'ye bağlamak için, PIR sensörünün VCC pinini ESP32 üzerindeki 3.3 V çıkışına bağlayarak başlayın. Ardından, PIR sensörünün toprak pinini ESP32 üzerindeki bir toprak pinine bağlayın. PIR sensöründen gelen sinyal pini (genellikle S olarak etiketlenir) ESP32 üzerindeki GPIO pin 14'e bağlanmalıdır.
LED için, uzun bacağı (anot) 220 Ohm'luk bir direnç üzerinden GPIO pin 26'ya bağlayın ve kısa bacağı (katot) toprağa bağlayın. Doğru işlevselliği sağlamak için tüm bağlantıların güvenli olduğundan emin olun. LED yerine bir buzzer kullanıyorsanız, buzzer'ın bir pinini GPIO pin 26'ya ve diğerini toprağa bağlayarak LED kurulumunu değiştirin.
Kod Örnekleri ve Açıklaması
Kodda, PIR sensörü ve LED için pin numaralarını tanımlıyoruz. PIR pinini ayarlamak için const int pirPin = 14; ve LED pini için const int ledPin = 26; kullanıyoruz. Bu sabitler, programın yürütülmesi boyunca pin numaralarının değişmeden kalmasını sağlar.
const int pirPin = 14; // pir pininin numarası
const int ledPin = 26; // LED pini
Bu kod parçası kullanacağımız pinleri başlatır. setup() fonksiyonunda, PIR pinini bir giriş ve LED pinini bir çıkış olarak yapılandırıyoruz. Bu kurulum, sensörün durumunu okumak ve LED'i kontrol etmek için çok önemlidir.
void setup() {
Serial.begin(115200);
pinMode(pirPin, INPUT); // pir pinini giriş olarak başlat
pinMode(ledPin, OUTPUT); // LED pinini çıkış olarak başlat
}
loop() fonksiyonunda, digitalRead(pirPin); kullanarak PIR sensörünün durumunu sürekli okuruz. Sensör hareket algılarsa (HIGH durumu ile gösterilir), digitalWrite(ledPin, HIGH); kullanarak LED'i açarız. Aksi takdirde, LED'i kapatırız.
if (pirState == HIGH) {
digitalWrite(ledPin, HIGH); // LED'i aç
} else {
digitalWrite(ledPin, LOW); // LED'i kapat
}
Bu mantık, LED'in PIR sensörü tarafından algılanan harekete yanıt vermesini sağlar. Tam işlevsellik için makalenin altında sağlanan tam kodu yüklediğinizden emin olun.
Gösterim / Beklentiler
Her şey kurulduktan ve kod yüklendikten sonra, PIR sensörü tarafından hareket algılandığında LED yanacaktır. Sensörü önünde hareket ederek test edebilirsiniz; LED hemen yanmalıdır. Sensör bir gecikmeye ayarlanmışsa, belirtilen süre boyunca açık kalacak ve ardından tekrar kapanacaktır (videoda 12:15'te).
Yaygın hatalar arasında, sensörün çalışmasını engelleyebilecek yanlış kablolama yer alır. PIR sensörünün doğru şekilde beslendiğinden ve sinyal pininin ESP32 üzerindeki doğru GPIO pinine bağlandığından emin olun. PIR sensöründeki hassasiyet ve gecikme düğmelerini ayarlamak, ortamınıza göre performansı optimize etmeye de yardımcı olabilir.
Video Zaman Damgaları
- 00:00 Başlangıç
- 1:54 PIR Sensörüne Giriş
- 6:38 Kablolama açıklandı
- 10:21 Arduino kodu açıklandı
- 12:45 Arduino IDE'de ESP32 kartı ve COM portu seçimi
- 14:27 PIR sensörünün gösterimi ve kalibrasyonu
// set pin numbers
const int pirPin = 14; // the number of the pir pin
const int ledPin = 26; // LED pin
// variable for storing the pir status
int pirState = 0;
void setup() {
Serial.begin(115200);
// initialize the pir pin as an input
pinMode(pirPin, INPUT);
// initialize the LED pin as an output
pinMode(ledPin, OUTPUT);
}
void loop() {
// read the state of the pir value
pirState = digitalRead(pirPin);
Serial.println(pirState);
delay(100);
// if the pir is pressed, the pirState is HIGH
if (pirState == HIGH) {
// turn LED on
digitalWrite(ledPin, HIGH);
} else {
// turn LED off
digitalWrite(ledPin, LOW);
}
}
Common Course Links
Common Course Files
Kaynaklar ve referanslar
Henüz kaynak yok.
Dosyalar📁
Veri Sayfası (pdf)
-
RE200B_PRI motion sensor datasheet
RE200B_PRI_datasheet.pdf0.02 MB -
BISS0001 motion sensor chip datasheet
BISS0001_datasheet.pdf0.16 MB
Diğer dosyalar
-
HC-SR501 hareket sensörü kullanıcı kılavuzu
robojax-HC-SR501-motion-manual.pdf0.83 MB