关于arduino单片机的,红外传感器检测到人输出高电平时蜂鸣器LED灯报警,OLED ssd1306驱动屏幕可以显示汉字,未检测人时,其他模块待机,OLED 屏幕显示另外的汉字
时间: 2023-05-31 14:01:52 浏览: 120
。具体实现可以参考以下代码:
```
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define OLED_RESET 4
Adafruit_SSD1306 display(OLED_RESET);
#define IRsensorPin 5
#define buzzerPin 6
#define LEDpin 7
void setup() {
pinMode(IRsensorPin, INPUT);
pinMode(buzzerPin, OUTPUT);
pinMode(LEDpin, OUTPUT);
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
display.clearDisplay();
display.setTextColor(WHITE);
display.setTextSize(2);
display.setCursor(0,0);
display.println("Welcome!");
display.display();
}
void loop() {
int IRvalue = digitalRead(IRsensorPin);
if(IRvalue == HIGH) {
digitalWrite(buzzerPin, HIGH);
digitalWrite(LEDpin, HIGH);
display.clearDisplay();
display.setCursor(0,0);
display.println("警告:检测到人员!");
display.display();
}
else {
digitalWrite(buzzerPin, LOW);
digitalWrite(LEDpin, LOW);
display.clearDisplay();
display.setCursor(0,0);
display.println("待机中...");
display.display();
}
delay(500);
}
```
其中,IRsensorPin、buzzerPin和LEDpin分别连接红外传感器、蜂鸣器和LED灯的引脚。当红外传感器检测到人时,输出高电平,触发蜂鸣器和LED灯报警,并在OLED屏幕上显示相应文字。当未检测到人时,其他模块待机,OLED屏幕显示另外的汉字。
阅读全文