本网页已闲置超过3分钟,按键盘任意键或点击空白处,即可回到网页
最热资讯


亲,“电路城”已合并升级到更全、更大、更强的「新与非网」。点击查看「新与非网」
该项目是通过LM35和arduino制造一个简单的数字温度计,当温度高于35摄氏度时,绿色的LED发光;当温度低于35摄氏度时,红色的led发光。
硬件:
LM35:
温度传感器,其输出为模拟信号,且该信号与温度成线性比例。
LM35具有三个引脚:
PIN 1:Vcc,它是输入引脚(5v)
PIN 2:Vout,我们得到输出(它应该连接到arduino的模拟引脚)
PIN 3:GND,用于接地
温度公式:
LM35输出电压与摄氏度成正比,而10毫伏代表1摄氏度。
注意:LM35的测量范围为-50至150摄氏度。
Arduino的模拟引脚分辨率为0-1023,即,在+ 5v输入下,其计数为1023。
LM35的最大输入为1500毫伏(最高温度为150摄氏度)或1.5v(最大输出电压)。
因此在1.5v时,模拟引脚数等于(1.5 / 5)* 1023 = 306.9。
现在LM35的新分辨率等于306.9 / 150 = 2.046。该模拟引脚数为2.046,等于LM35的摄氏温度变化1度。
电路图:
在IDE中选择板作为“ Arduino Uno”,然后上载给定的代码。
如果代码无法上传,请检查USB或尝试重新插入。
代码:
#include <LiquidCrystal.h>
LiquidCrystal lcd(8,9,10,11,12,13);
#define LM35_sensor A0
byte degree[8]={
0b00011,
0b00011,
0b00000,
0b00000,
0b00000,
0b00000,
0b00000,
0b00000
};
int LEDR = 5;
int LEDG = 7;
void setup() {
// 设置代码,只需运行一次即可
pinMode(LEDR,OUTPUT);
pinMode(LEDG,OUTPUT);
lcd.begin(16,2);
lcd.createChar(1, degree);
lcd.setCursor(0,0);
lcd.print(" DIGITAL ");
lcd.setCursor(0,1);
lcd.print(" THERMOMETER ");
delay(2800);
lcd.clear();
}
void loop() {
// 温度
float analog_read = analogRead(LM35_sensor);
float temp = analog_read/2.046 ;
delay(10);
//液晶显示器
lcd.clear();
lcd.setCursor(2,0);
lcd.print("TEMPERATURE");
lcd.setCursor(4,1);
lcd.print(temp);
lcd.write(1);// 读取ASCII 值
lcd.print("C");
delay(1000);
//LED
if(temp<35)
{
digitalWrite(LEDG,LOW);
digitalWrite(LEDR,HIGH);
}
else{
digitalWrite(LEDR,LOW);
digitalWrite(LEDG,HIGH);
}}
执行:
将代码上传到arduino后,请确保电路连接正确。
使用了5V的arduino来为传感器(LM35)和LCD供电。也可以使用电池提供的独立5V电源。
当温度高于35℃时,绿色LED发光
当温度低于35℃时,红色的led发光
开启“人工智能”——贝尔金WeMo智能插座套装拆解
2014-05-23
iPhone 6 plus最专业传感器深入解析
2014-10-22
智能手机里面都装着哪些传感器?它们都记录了你的什么?
2016-04-11
NXP开发板不知道选什么,看这里就对了!
2016-07-28
盘点全球知名传感器芯片巨头Top10
2015-08-21
这套工业物联网解决方案把乐高变成了一座智慧城市
2019-06-24
[项目实录]全流程LoRaWAN开发
2019-07-22
【视频秀】用STM32和光传感器控制电机马达开关窗户
2019-06-12
自制一种自动测量人体高度的实用设备
2020-05-29
基于Arduino的自制秒表
2021-04-30
讨论