Skip to Content
Proje ListesiBaşlangıç8. Hareket Alarmı

8. PIR Hareket Alarmı

HC-SR501 PIR sensörünün dijital çıkışını okuyun; hareket başladığında PxServ’e olay ve sayaç verisi gönderin.

Seviye: Başlangıç · Süre: 30 dakika

Gerekenler ve bağlantılar

  • ESP32 DevKit V1
  • HC-SR501 PIR hareket sensörü
PIRESP32
VCC5V / VIN
OUTGPIO 27
GNDGND

HC-SR501 OUT pini tipik olarak ESP32 için uygun dijital seviyede çalışır; farklı bir modül kullanıyorsanız çıkış gerilimini veri sayfasından doğrulayın.

Tam kod

#include <PxServ.h> const char* WIFI_SSID = "wifi_ssid"; const char* WIFI_PASSWORD = "wifi_sifre"; const char* PXSERV_API_KEY = "pxserv_api_anahtariniz"; const int PIR_PIN = 27; PxServ client(PXSERV_API_KEY); bool previousMotion = false; unsigned long eventCount = 0; void setup() { Serial.begin(115200); pinMode(PIR_PIN, INPUT); PxServ::connectWifi(WIFI_SSID, WIFI_PASSWORD); Serial.println("PIR sensorunun isinmasi bekleniyor..."); delay(30000); } void loop() { bool motion = digitalRead(PIR_PIN) == HIGH; if (motion != previousMotion) { client.setData("hareket/durum", motion ? "1" : "0"); if (motion) { eventCount++; client.setData("hareket/olay-sayisi", String(eventCount)); Serial.println("Hareket algilandi."); } else { Serial.println("Hareket sona erdi."); } previousMotion = motion; } delay(100); }

Test

Kart açıldıktan sonra 30 saniyelik ısınma süresini bekleyin. Sensör önünde hareket ettiğinizde durum anahtarı 1 olmalı ve sayaç bir artmalıdır. PIR üzerindeki süre potansiyometresi, çıkışın ne kadar süre aktif kalacağını belirler.

Sorun giderme

  • Sürekli hareket görülüyorsa hassasiyeti azaltın ve sensörü ısı kaynağı ya da güneşten uzaklaştırın.
  • Olaylar geç sıfırlanıyorsa sensör üzerindeki gecikme ayarını düşürün.

Teknik referans: Adafruit PIR kullanım rehberi 

Son güncelleme