电子说
步骤1:电子产品
对于此项目,您需要:
1 Arduino UNO
1 LM35温度传感器
1串行LCD 16X2
1面包板
一些跳线。
步骤2:连接LCD,LM35和Arduino UNO
我将使用的LCD是带有I2C的串行LCD。
连接LCD
VCC连接在面包板上的+ ve红色导轨上
GND连接到-ve面包板上的蓝色导轨
SDA连接到Arduino上的SDA
SCL连接到Arduino上的SCL
有关如何操作的更多详细信息连接它,请访问我之前的指示文章:
https://www.instructables.com/id/How-to-connect-as 。..
连接LM35
VCC连接在面包板上的+ ve红色导轨上
GND连接到面包板上的-ve蓝色导轨上
中间引脚连接到PIN A0( Arduino上的模拟0)
*记住正确连接VCC和GND,否则LM35会加热到300度甚至更高。
我对LM35以及如何在
https://www.instructables.com/id/How-to-display-tem 。..
上连接它,现在我们可以准备草图了。 。..。..。.
步骤3:草绘
草绘不是复制和粘贴两个草图一样简单,我必须对其进行修改以适应两个设备并告诉Arduino从传感器获取数据并将其显示在LCD上。但是变量和库保持不变。
此指令中有一个压缩的草图副本,您可以根据需要进行调整。
我首先定义了库需要液晶显示器。有关如何在Arduino库文件夹中加载库的更多详细信息,请遵循以下说明中的说明:
https://www.instructables.com/id/How-to-connect-as 。..
//加载库
#include
#include
#include
我定义了LCD和LM35所需的变量
我添加了tempf变量,以帮助显示华氏温度
//LCD
#define I2C_ADDR 0x27//定义PCF8574A所在的I2C地址
#define BACKLIGHT_PIN 3
#define En_pin 2
#define Rw_pin 1
#define Rs_pin 0
#define D4_pin 4
#define D5_pin 5
#define D6_pin 6
#define D7_pin 7
//为LM35温度传感器定义变量
浮点温度;//定义临时浮动变量
float tempf;//定义华氏浮点变量
int sensor = 0;//传感器中间引脚在模拟引脚0上
然后我使用以下行初始化LCD:
//初始化LCD
LiquidCrystal_I2C lcd(I2C_ADDR,En_pin,Rw_pin,Rs_pin ,D4_pin,D5_pin,D6_pin,D7_pin);
在Void设置中,我告诉Arduinio我正在使用16X2 LCD,打开背光灯并打印一些不会改变的行。
void setup(){
lcd.begin(16,2);//将LCD定义为2列16列
//打开背光
lcd.setBacklightPin(BACKLIGHT_PIN,POSITIVE);
lcd.setBacklight(HIGH);
lcd.setCursor(0,0);//转到第一列(第0列)和第一行(第0行)
lcd.print(“ Temp C =”);//在光标位置打印
lcd.setCursor(0,1);//转到第一列(第0列)和第二行(第1行)
lcd.print(“ Temp F =”);//在光标位置打印
}
在Void循环中,我将从传感器读取温度,将其更改为摄氏温度并将其显示在第一行,然后再次更改到华氏度并显示在第二行。每5秒重复一次该过程
void loop(){
temp = AnalogRead(sensor);//将模拟输出分配给temp
temp = temp * 0.48828125;//将电压转换为摄氏度----- 0.48828125 = [(5V * 1000)/1024] 10 tempf =(temp * 1.8)+32;//从摄氏温度转换为温度
lcd.setCursor(8,0);//将光标移动到第1行的位置
lcd.print(temp);//以摄氏度为单位打印温度
lcd.setCursor(8,1);//将光标移动到第2行的位置
lcd.print(tempf);//以华氏度打印温度
delay(5000);//等待5秒钟
}
全部0条评论
快来发表一下你的评论吧 !