【Arduino10】温度警报器实验

实验背景

温度与我们的生活和工作息息相关。在生活中,如果温度过高,我们会有生命危险。在工作中,温度的高低会影响我们的产品质量。而温度警报器可以让我们尽可能规避这些危害。

硬件准备

RGB三色灯:1个

220欧电阻:3个

1K电阻:1个

热敏电阻:1个

杜邦线:9根

面包板:1块

硬件连线

1、将RGB三色灯和热敏电阻插入面包板中

2、用三根杜邦线和三个220欧电阻分别将RGB三色灯的三色极接到11号(红色)、10号(绿色)、9号(蓝色)引脚

3、用一根杜邦线将RGB三色灯的正极接到带加号的横排插口上

4、用1K电阻与热敏电阻的一端相连

5、用一根杜邦线将热敏电阻这端接到A0接口

6、用一根杜邦线将热敏电阻另一端接到带加号的横排插口上

7、用一根杜邦线将1K电阻另一端接到带减号的横排插口上

8、用杜邦线将5V接口接到带加号的横排插口上

9、用杜邦线将GND接口接到带减号的横排插口上

软件程序

//温度警示器,随着温度的升高,RGB灯的颜色发生从绿色到黄色再到红色的变化
int redpin = 11;  //定义LED接口
int greenpin = 10;
int bluepin = 9;
int potpin = A0;//定义模拟接口
int redval;  //定义LED变量
int blueval;
int greenval;
int val;//接收热敏电阻的模拟值

void setup() {
  Serial.begin(9600);
  pinMode(redpin, OUTPUT);  //设置LED接口为输出接口
  pinMode(bluepin, OUTPUT);
  pinMode(greenpin, OUTPUT);
}
//绿,红+绿=黄,红
void loop() {
  val = analogRead(potpin);
  Serial.println(val);
  if (val <= 115){
    GREEN();//绿色
  }
  else if (val <= 125){
    YELLOW();//从绿色渐变到黄色
  }
  else{
    RED();//从黄色渐变到红色
  }
  analogWrite(redpin, 255 - redval);  //给LED接口付模拟值
  analogWrite(bluepin, 255 - blueval);
  analogWrite(greenpin, 255 - greenval);
}

void GREEN(){
  greenval = 255;
  redval = 0;
  blueval = 0;
}

void YELLOW(){
  greenval = 255;
  blueval = 0;
  redval = 30 * (val-115);//热敏电阻模拟值比115大1,redval就增加30
  if (redval > 255){      //redval最大值为255
    redval = 255;
  }
}

void RED(){
  redval = 255;
  blueval = 0;
  greenval = 255 - 30 * (val-125);//热敏电阻模拟值比125大1,greenval就减少30
  if (greenval < 0){      //greenval最小值为0
    greenval = 0;
  }
}

成品展示视频

温度警示器,随着温度的升高,RGB灯的颜色发生从绿色到黄色再到红色的变化

【Arduino10】温度警报器

总结

本次实验,我通过电阻的变化大小来设计了三色灯的变化幅度,并使用 if 语句来控制输出值在0~255这个范围内。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值