int ledPin = 2; // chọn chân 13 báo hiệu LED
int inputPin = 4; // chọn ngõ tín hiệu vào cho PIR
int pirState = LOW; // Bắt đầu với không có báo động
int val = 0;
int cambien = 5;// khai báo chân digital 10 cho cảm biến
void setup()
{
pinMode(ledPin, OUTPUT);
pinMode(inputPin, INPUT);
Serial.begin(9600);
pinMode(LedPin,OUTPUT);//pinMode xuất tín hiệu đầu ra cho led
pinMode(cambien,INPUT);//pinMode nhận tín hiệu đầu vào cho cảm biê
}
void loop()
{
val = digitalRead(inputPin); // đọc giá trị đầu vào.
if (val == HIGH) // nếu giá trị ở mức cao.(1)
{
int value = digitalRead(cambien);//lưu giá trị cảm biến vào biến value
digitalWrite(LedPin,value);//xuất giá trị ra đèn LED
digitalWrite(ledPin, HIGH); // LED On
delay(150);
if (pirState == LOW)
{
Serial.println("Motion detected!");
pirState = HIGH;
}
}
else
{
digitalWrite(ledPin, LOW);
delay(300);
if (pirState == HIGH)
{
Serial.println("Motion ended!");
pirState = LOW;
}
}
}