找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 21|回复: 0

光敏+热敏传感器+蜂鸣器报警系统

[复制链接]

15

主题

0

回帖

73

积分

管理员

积分
73
发表于 2026-6-24 09:18:06 | 显示全部楼层 |阅读模式
本课学习目标
1. 掌握分压式模拟传感器通用接线逻辑
2. 区分有源/无源蜂鸣器控制方式
3. 完成光控夜灯、高温报警两个独立项目
所需器材
Uno主板、10k光敏电阻、10k NTC热敏电阻、10k固定电阻2个、有源蜂鸣器、LED220Ω电阻、杜邦线
一、核心理论
光敏电阻:光照越强阻值越小模拟读数越大
• NTC热敏电阻:温度越高阻值越小模拟读数越大
有源蜂鸣器:通电即响,高低电平直接控制,新手首选
无源蜂鸣器:必须PWM频率驱动,本课不使用
二、图文接线
【插图点位7】图6-1 光敏+热敏+蜂鸣器整合接线图
1.光敏电路:光敏5V+10k电阻GND,中点接A0
2.热敏电路:热敏5V+10k电阻GND,中点接A1
3.蜂鸣器:正极8引脚、负极GND
4.LED13引脚串联电阻接GND
调试必看:所有传感器阈值无固定数值,必须串口读数后自定义临界值
三、完整项目代码
项目1:自动光控夜灯
arduino
int lightPin = A0;
int ledPin = 13;
int lightLimit = 450; //光线阈值,小于数值天黑开灯

void setup() {
  Serial.begin(9600);
  pinMode(ledPin,OUTPUT);
}
void loop() {
  int lightData = analogRead(lightPin);
  Serial.println(lightData);
  //光线昏暗自动开灯
  if(lightData < lightLimit){
    digitalWrite(ledPin,HIGH);
  }else{
    digitalWrite(ledPin,LOW);
  }
  delay(200);
}
项目2:温度超标蜂鸣报警
arduino
int tempPin = A1;
int buzzerPin = 8;
int tempLimit = 580; //温度阈值,低于数值温度超标

void setup() {
  Serial.begin(9600);
  pinMode(buzzerPin,OUTPUT);
}
void loop() {
  int tempData = analogRead(tempPin);
  Serial.println(tempData);
  //温度过高蜂鸣报警
  if(tempData < tempLimit){
    digitalWrite(buzzerPin,HIGH);
  }else{
    digitalWrite(buzzerPin,LOW);
  }
  delay(300);
}
避坑要点
蜂鸣器正负极严禁接反;分压电阻必须匹配10k阻值,数据才精准;模块全部共地
课后作业
优化光控夜灯,增加2秒延时防抖,避免光影晃动导致灯光频闪
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表