int ledPin = 13;
int inputPin = 2;
int pirState = LOW; //假设无运动
int val = 0;
#define SPEAKER_PIN 12
#include <LiquidCrystal_I2C.h> //加载库文件
LiquidCrystal_I2C lcd(0x27,20,4);
void setup() {
pinMode(ledPin, OUTPUT); // led为输出状态
pinMode(inputPin, INPUT); // 传感器为输入状态
lcd.init(); // 初始化LCD
lcd.backlight(); //LCD背景亮
Serial.begin(9600);
pinMode(SPEAKER_PIN, OUTPUT); //蜂鸣器引脚状态
}
void loop() {
val = digitalRead(inputPin); // 读取输入值
if (val == HIGH) { // 检测是否输入HIGH
digitalWrite(ledPin, HIGH); // LED打开
if (pirState == LOW) {
lcd.print("1"); //LCD 显示1
tone(SPEAKER_PIN, 500); //蜂鸣器响
pirState = HIGH;
lcd.home(); //lcd从头开始
}
} else {
digitalWrite(ledPin, LOW); // 关闭LED
if (pirState == HIGH) {
lcd.print("0"); //LCD显示0
pirState = LOW;
noTone(SPEAKER_PIN); //关闭蜂鸣器
lcd.home(); //lcd 从头开始
}
}
}