Cảm biến chuyển động HC-SR501 là cảm biến có khả năng nhận biết được một vật di chuyển vào vùng mà cảm biến hoạt động. Module cảm biến có thể điều chỉnh được độ nhạy nhờ 2 biến trở là Sx biến trở điều chỉnh độ nhạy của cảm biến, Tx biến trở điều chỉnh thời gian đóng của cảm biến, giúp cho cảm biến hoạt động phù hợp với những yêu cầu của người dùng.
int sensorPin = 4; // ket noi cam bien vs Pin4
int buttonPin = 3; // ket noi button vs Pin3
int relayPin = 5; // ket noi relay vs Pin5
int sensor_value, button_value; // bien luu gia tri adc va trang thai button
void setup() {
// put your setup code here, to run once:
pinMode (sensorPin, INPUT); // set input
pinMode (buttonPin, INPUT); // set input
pinMode (relayPin, OUTPUT); // set output
}
void loop() {
// put your main code here, to run repeatedly:
sensor_value = digitalRead(sensorPin); // doc gia tri adc
if(sensor_value == HIGH){ // so sanh neu = HIGH thi den bat
digitalWrite(relayPin, HIGH); // bat den
}
button_value = digitalRead(buttonPin); // doc trang thai button
if(button_value == HIGH){ //so sanh neu = HIGH, tat den
while(button_value == HIGH){
button_value = digitalRead(buttonPin); // doi button nha thi thuc hien
}
digitalWrite(relayPin, LOW); // tat den
}
}