基于arduino的温度计

使用器件:arduino uno,LM35模块,LCD602模块,10k电位器,面包板,杜邦线

线路连接
LCD1602模块连接

VSS(电源地) GND
VDD(电源正极) 5v
V0(显示对比度调整) 电位器
RS(数据/命令选择) 11
RW (读/写选择) 12
E(使能信号) 10
D4(数据) 5
D5(数据) 4
D6 (数据) 3
D7 (数据) 2
A (背光源正极) 5v
K(背光源负极) GND

LM35模块连接

正极 5v
输出 A0
负极 GND

LM35的输出连接上arduino的模拟引脚,Arduino的模拟引脚连接到一个了10位A/D转换,输入0–5V的电压对应读0–1023的数值,每个读到的数值对应的都是一个电压值。这里读到的是温度的电压值,以0~1023的方式输出,而LM35温度传感器每10mV对应1摄氏度。计算温度式子为:
data = (double) val *(5/10.24);
代码部分

#include <LiquidCrystal.h>  //调用头文件
#include <SoftwareSerial.h>//软串口通信

LiquidCrystal lcd(11,12,10,5,4,3,2);    //连接引脚LiquidCrystal(rs,rw,en,d4,d5,d6,d7);

void setup() {                                           
  lcd.begin(16,2);
  lcd.clear();
}

void GetTemperatures(){
    int val;            //用于存储LM35读到的值
    double data;        //用于存储已转换的温度值
    val=analogRead(0);   //LM35连到模拟口,并从模拟口A0读值(输入0~5V的电压对应读到0~1023的数值)
    data = (double) val *(5/10.24);  // 得到电压值,通过公式换成温度
    lcd.setCursor(9, 1) ;    
    lcd.print(data);         // 串口输出温度值
    lcd.setCursor(14, 1);  
    lcd.print((char)223); //显示o符号
    lcd.setCursor(15, 1);  
    lcd.print("C"); //显示字母C    
}

void loop() {
  lcd.setCursor(2, 0);
  lcd.print("hello world");
  lcd.setCursor(0, 1); 
  lcd.print("Sec: ");
  lcd.print(millis() / 1000);
  GetTemperatures();     //获取LM135温度
  delay(1000);
  lcd.clear();
}

在这里插入图片描述
参考:Arduino基础入门篇32—LCD1602驱动库的使用

版权声明:本文为CSDN博主「qq_47686200」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_47686200/article/details/121768490

使用器件:arduino uno,LM35模块,LCD602模块,10k电位器,面包板,杜邦线

线路连接
LCD1602模块连接

VSS(电源地) GND
VDD(电源正极) 5v
V0(显示对比度调整) 电位器
RS(数据/命令选择) 11
RW (读/写选择) 12
E(使能信号) 10
D4(数据) 5
D5(数据) 4
D6 (数据) 3
D7 (数据) 2
A (背光源正极) 5v
K(背光源负极) GND

LM35模块连接

正极 5v
输出 A0
负极 GND

LM35的输出连接上arduino的模拟引脚,Arduino的模拟引脚连接到一个了10位A/D转换,输入0–5V的电压对应读0–1023的数值,每个读到的数值对应的都是一个电压值。这里读到的是温度的电压值,以0~1023的方式输出,而LM35温度传感器每10mV对应1摄氏度。计算温度式子为:
data = (double) val *(5/10.24);
代码部分

#include <LiquidCrystal.h>  //调用头文件
#include <SoftwareSerial.h>//软串口通信

LiquidCrystal lcd(11,12,10,5,4,3,2);    //连接引脚LiquidCrystal(rs,rw,en,d4,d5,d6,d7);

void setup() {                                           
  lcd.begin(16,2);
  lcd.clear();
}

void GetTemperatures(){
    int val;            //用于存储LM35读到的值
    double data;        //用于存储已转换的温度值
    val=analogRead(0);   //LM35连到模拟口,并从模拟口A0读值(输入0~5V的电压对应读到0~1023的数值)
    data = (double) val *(5/10.24);  // 得到电压值,通过公式换成温度
    lcd.setCursor(9, 1) ;    
    lcd.print(data);         // 串口输出温度值
    lcd.setCursor(14, 1);  
    lcd.print((char)223); //显示o符号
    lcd.setCursor(15, 1);  
    lcd.print("C"); //显示字母C    
}

void loop() {
  lcd.setCursor(2, 0);
  lcd.print("hello world");
  lcd.setCursor(0, 1); 
  lcd.print("Sec: ");
  lcd.print(millis() / 1000);
  GetTemperatures();     //获取LM135温度
  delay(1000);
  lcd.clear();
}

在这里插入图片描述
参考:Arduino基础入门篇32—LCD1602驱动库的使用

版权声明:本文为CSDN博主「qq_47686200」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_47686200/article/details/121768490

生成海报
点赞 0

qq_47686200

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

基于arduino的温度计

使用器件:arduino uno,LM35模块,LCD602模块,10k电位器,面包板,杜邦线 线路连接 LCD1602模块连接 VSS(电源地)GNDVD

Arduino UNO步进电机控制

1.开发环境:Arduino IDE 2.步进电机驱动器:雷赛DM860 3.单片机程序 //定义了板上的控制端DIR,8作为方向控制端 const int DIRPIN 2;//定义了板上的步数端

【单片机】Arduino进阶应用

前期教程 【单片机】Arduino(以UNO R3为例)—— 基本函数汇总【单片机】Arduino供电总结【嵌入式模块】舵机使用详解 前言 作为最容易入门的单片机之一,Arduino总是可以用非常简

Arduino UNO步进电机控制

1.开发环境:Arduino IDE 2.步进电机驱动器:雷赛DM860 3.单片机程序 //定义了板上的控制端DIR,8作为方向控制端 const int DIRPIN 2;//定义了板上的步数端