|
本课学习目标 1. 掌握分压式模拟传感器通用接线逻辑 2. 区分有源/无源蜂鸣器控制方式 3. 完成光控夜灯、高温报警两个独立项目 所需器材 Uno主板、10k光敏电阻、10k NTC热敏电阻、10k固定电阻2个、有源蜂鸣器、LED、220Ω电阻、杜邦线 一、核心理论 • 光敏电阻:光照越强→阻值越小→模拟读数越大 • NTC热敏电阻:温度越高→阻值越小→模拟读数越大 • 有源蜂鸣器:通电即响,高低电平直接控制,新手首选 • 无源蜂鸣器:必须PWM频率驱动,本课不使用 二、图文接线 【插图点位7】图6-1 光敏+热敏+蜂鸣器整合接线图 1.光敏电路:光敏5V+10k电阻GND,中点接A0
2.热敏电路:热敏5V+10k电阻GND,中点接A1
3.蜂鸣器:正极8引脚、负极GND
4.LED:13引脚串联电阻接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秒延时防抖,避免光影晃动导致灯光频闪
|