Arduino mage2560用代码实现使用打火机打火,火焰传感器检测到火焰后,控制蜂鸣器报警,检测到火焰后,OLED屏幕显示Warning!串口调试小助手窗口显示Warning,没有火焰时,OLED屏幕、串口调试小助手窗口显示security
时间: 2024-02-17 08:02:33 浏览: 133
好的,下面是实现这个功能的代码:
```
// 引入必要的库
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
// 定义 OLED 屏幕的参数
#define OLED_RESET 4
Adafruit_SSD1306 display(OLED_RESET);
// 定义火焰传感器的引脚
#define flameSensor A0
// 定义蜂鸣器和打火机的引脚
#define buzzerPin 3
#define lighterPin 5
void setup() {
// 初始化 OLED 屏幕
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
display.clearDisplay();
display.setTextColor(WHITE);
display.setTextSize(2);
display.setCursor(0,0);
display.display();
// 初始化串口
Serial.begin(9600);
// 初始化火焰传感器
pinMode(flameSensor, INPUT);
// 初始化蜂鸣器和打火机
pinMode(buzzerPin, OUTPUT);
pinMode(lighterPin, OUTPUT);
// 初始状态为安全
display.setCursor(0,0);
display.print("Security");
display.display();
Serial.println("Security");
}
void loop() {
// 读取火焰传感器的值
int flameValue = analogRead(flameSensor);
// 如果检测到火焰
if (flameValue > 200) {
// 控制蜂鸣器鸣叫
digitalWrite(buzzerPin, HIGH);
// 控制打火机点火
digitalWrite(lighterPin, HIGH);
// 在 OLED 屏幕上显示警告
display.clearDisplay();
display.setCursor(0,0);
display.print("Warning!");
display.display();
// 在串口调试小助手窗口显示警告
Serial.println("Warning!");
} else {
// 停止蜂鸣器鸣叫
digitalWrite(buzzerPin, LOW);
// 关闭打火机
digitalWrite(lighterPin, LOW);
// 在 OLED 屏幕上显示安全
display.clearDisplay();
display.setCursor(0,0);
display.print("Security");
display.display();
// 在串口调试小助手窗口显示安全
Serial.println("Security");
}
}
```
这个代码会初始化 OLED 屏幕、串口和各个引脚,然后进入无限循环。在每个循环中,代码会读取火焰传感器的值,如果检测到火焰,就会控制蜂鸣器鸣叫、打火机点火,并且在 OLED 屏幕上显示警告,串口调试小助手窗口也会显示警告。如果没有检测到火焰,就会停止蜂鸣器鸣叫、关闭打火机,并且在 OLED 屏幕上显示安全,串口调试小助手窗口也会显示安全。
阅读全文