ก็คือว่าผมใช้ เซนเซอร์ตรวจความเคลื่อนไหวคับ
การทำงานคือว่าเมื่อมีคนเข้ามาแล้วให้ไฟติดและ delay 2 นาที
แต่ว่าในขณะที่มัน delay 2นาที อยู่ ถ้าเกิดเจอความเคลื่อนไหวก็ให้มันเริ่มนับ delay ใหม่คับ
แก้ code ไงดีคับ
#include <16F88.h> // Standard Header file for the PIC16F877A
#fuses HS, NOWDT, NOPROTECT, BROWNOUT, NOPUT, NOLVP
#use delay(clock=10000000)
int j;
void delay_2min(void){
for(j=0;j<120;j++){
delay_ms(1000);
}}
void main(void)
{
set_tris_a(0x07);
set_tris_b(0x00);
output_b(0x00);
delay_ms(200);
while(TRUE)
{
if(input(PIN_A0))
{
output_high(PIN_B0);
if(input(PIN_A0))
{
output_high(PIN_B0);
}
delay_2min();
output_high(PIN_B0);
}
output_low(PIN_B0);
}
}