用火焰传感器制作火焰报警器

用火焰传感器制作火焰报警器@[TOC]

实验材料:蜂鸣器 面包板 arduino UNO 火焰传感器
实验环境:arduino IDE
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
int flame=A5;加粗样式
int Beep=8;
int val=0;
void setup()
{
pinMode(Beep,OUTPUT);
pinMode(flame,INPUT);
Serial.begin(9600);
}

void loop(){
val=analogRead(flame);
Serial.println(val);
if(val<=100)
{
//digitalWrite(Beep,HIGH);
tone(Beep,500);
Serial.println(“Bi~~~~~~~~~”);
}
else
{
noTone(Beep);
}
delay(1000);
}

实验结果:当测试的val指数小于100时,蜂鸣器会发出持续1s的响声,试验成功

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的STM32火焰传感器与蜂鸣器报警的代码示例: ```c #include "stm32f10x.h" #define FLAME_SENSOR_PIN GPIO_Pin_0 #define FLAME_SENSOR_PORT GPIOA #define BEEP_PIN GPIO_Pin_8 #define BEEP_PORT GPIOB void FLAME_SENSOR_Init(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); GPIO_InitStructure.GPIO_Pin = FLAME_SENSOR_PIN; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; // 设置为输入模式并启用上拉 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(FLAME_SENSOR_PORT, &GPIO_InitStructure); } void BEEP_Init(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); GPIO_InitStructure.GPIO_Pin = BEEP_PIN; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(BEEP_PORT, &GPIO_InitStructure); } int FLAME_SENSOR_Read(void) { return GPIO_ReadInputDataBit(FLAME_SENSOR_PORT, FLAME_SENSOR_PIN); } void BEEP_On(void) { GPIO_SetBits(BEEP_PORT, BEEP_PIN); } void BEEP_Off(void) { GPIO_ResetBits(BEEP_PORT, BEEP_PIN); } int main(void) { FLAME_SENSOR_Init(); BEEP_Init(); while (1) { int flameValue = FLAME_SENSOR_Read(); if (flameValue == 0) { BEEP_On(); // 火焰传感器检测到火焰,蜂鸣器报警 } else { BEEP_Off(); // 火焰传感器未检测到火焰,蜂鸣器关闭 } } } ``` 在这个代码示例中,我们使用GPIOA的Pin 0作为火焰传感器的输入引脚,使用GPIOB的Pin 8作为蜂鸣器的输出引脚。在初始化函数 `FLAME_SENSOR_Init()` 和 `BEEP_Init()` 中,我们分别配置了火焰传感器引脚和蜂鸣器引脚的模式和速度。 在主函数中,我们通过调用 `FLAME_SENSOR_Read()` 函数来读取火焰传感器的状态,并根据返回值控制蜂鸣器的开关状态。如果火焰传感器检测到火焰(返回值为0),则调用 `BEEP_On()` 函数打开蜂鸣器报警;如果火焰传感器未检测到火焰(返回值为1),则调用 `BEEP_Off()` 函数关闭蜂鸣器。程序将持续运行,并根据火焰传感器的状态控制蜂鸣器的开关状态。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值