写一段代码关于arduino单片机的,红外传感器检测到人输出高电平时蜂鸣器LED灯报警,OLED 屏幕显示一串汉字,未检测人时,其他模块待机,OLED 屏幕显示另外一串汉字
时间: 2023-05-25 16:06:07 浏览: 145
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define OLED_RESET 4
Adafruit_SSD1306 display(OLED_RESET);
int IR_sensor_pin = 2; // 红外传感器连接的引脚
int buzzer_pin = 7; // 蜂鸣器连接的引脚
int LED_pin = 8; // LED 灯连接的引脚
void setup() {
pinMode(IR_sensor_pin, INPUT);
pinMode(buzzer_pin, OUTPUT);
pinMode(LED_pin, OUTPUT);
// OLED 屏幕初始化
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
display.clearDisplay();
}
void loop() {
int IR_sensor_value = digitalRead(IR_sensor_pin); // 读取红外传感器的值
if(IR_sensor_value == HIGH) { // 如果检测到人
digitalWrite(LED_pin, HIGH); // 点亮 LED 灯
tone(buzzer_pin, 1000); // 开始蜂鸣
display.clearDisplay(); // 清空屏幕
display.setTextSize(1);
display.setTextColor(SSD1306_WHITE);
display.setCursor(0,0);
display.print("检测到人"); // 在 OLED 屏幕上显示一串汉字
display.display();
}
else { // 如果未检测到人
digitalWrite(LED_pin, LOW); // 关闭 LED 灯
noTone(buzzer_pin); // 停止蜂鸣
display.clearDisplay(); // 清空屏幕
display.setTextSize(1);
display.setTextColor(SSD1306_WHITE);
display.setCursor(0,0);
display.print("未检测到人"); // 在 OLED 屏幕上显示另外一串汉字
display.display();
}
}
阅读全文