蜂鸣器不响 2023-02-26 21:33 采纳率: 0%
浏览 29

Arduino+DHT11+LCD+蜂鸣器(蜂鸣器没反应)DHT11+蜂鸣器的时候是好的,然后加上LCD1602后超过设置的温度蜂鸣器就没有反应了,如何解决?

#include <LiquidCrystal.h>
#include <dht11.h>

dht11 DHT11;

#define DHT11PIN 8
// 实例化一个名为lcd的LiquidCrysta类型对象,并初始化相关引脚
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

volatile unsigned int temp;
int dht_12_gettemperature() {
  // 得到DHT11检测到的温度
  int value = DHT11.temperature;
  return value;
}
void setup()
{
  // 初始化温度
  temp = 0;
  // 设置引脚模式,7号为输出
  pinMode(7, OUTPUT);
  // 设置LCD有几列几行,1602LCD为16列2行
  lcd.begin(16, 2);
  // 串口设置为9600
  Serial.begin(9600);
}
void loop()
{
  // 温度超过22蜂鸣器报警
   if (temp >= 20) {
    tone(7,10,1000);//参数一:引脚号,参数二:频率,参数三:时间(可选:默认无限长)
  }else if (temp < 20) {
    noTone(7);// 停止输出方波 参数引脚号
  }
  // 读取传感器数据
  int chk = DHT11.read(DHT11PIN);
  Serial.print("Read sensor: ");
  // 检测数据是否正常接收
  switch (chk)
  {
    case DHTLIB_OK: 
    Serial.println("OK"); 
    break;
    case DHTLIB_ERROR_CHECKSUM: 
    Serial.println("Checksum error"); 
    break;
    case DHTLIB_ERROR_TIMEOUT: 
    Serial.println("Time out error");
    break;
    default: 
    Serial.println("Unknown error"); 
    break;
  }

  // 在串口监视器上输出湿度与温度信息
  Serial.print("Humidity (%): ");
  Serial.println(DHT11.humidity);
  Serial.print("Temperature (℃): ");
  Serial.println(DHT11.temperature);
  
  // 将光标设置在列 0, 行 1
  lcd.setCursor(0, 0);
  // 在LCD上输出湿度信息
  lcd.print("Humidity (%): ");
  lcd.println(DHT11.humidity);
  // 将光标设置在列 0, 行 1
  lcd.setCursor(0, 1);
  // 在LCD上输出温度信息
  lcd.print("Temperature : ");
  lcd.println(DHT11.temperature);

  delay(1000);
}
  • 写回答

3条回答 默认 最新

  • MarkHan_ 2023-02-26 21:42
    关注

    该回答引用GPTᴼᴾᴱᴺᴬᴵ
    根据您提供的代码,蜂鸣器在温度超过20摄氏度时会报警。但是您的描述是超过设置的温度时蜂鸣器没有反应,这里有一个可能的问题是您在代码中的温度判断条件是'temp >= 20

    temp = DHT11.temperature;
    
    
    

    另外,您也可以检查一下蜂鸣器的连接是否正确,以及是否需要使用一个电位器来调整蜂鸣器的音量。

    评论 编辑记录

报告相同问题?

问题事件

  • 修改了问题 2月26日
  • 修改了问题 2月26日
  • 修改了问题 2月26日
  • 创建了问题 2月26日

悬赏问题

  • ¥50 求恶意流量检测系统搭建教程( C++ python C)
  • ¥15 mmseqs内存报错
  • ¥15 vika文档如何与obsidian同步
  • ¥15 华为手机相册里面的照片能够替换成自己想要的照片吗?
  • ¥15 陆空双模式无人机飞控设置
  • ¥15 sentaurus lithography
  • ¥100 求抖音ck号 或者提ck教程
  • ¥15 关于#linux#的问题:子进程1等待子进程A、B退出后退出(语言-c语言)
  • ¥20 web页面如何打开Outlook 365的全球离线通讯簿功能
  • ¥15 io.jsonwebtoken.security.Keys