0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何使用LCD显示屏显示温度和光强度

454398 来源:网络整理 作者:网络整理 2019-11-29 09:37 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

概述

在本课程中,您将基于在第11课中学到的内容并使用LCD显示屏显示温度和光强度。

使用第9课中使用的同一光电管测量光强度。

要测量温度,您将使用温度测量芯片。该设备只有3条导线,两条分别用于5V和GND,第三条导线直接连接到Arduino上的模拟输入。

零件

零件 数量

LCD显示(16x2个字符)

1

10kΩ可变电阻器电位器

1

1kΩ电阻(棕色,黑色,红色条纹)

1

光电管(光敏电阻

1

TMP36温度传感器

1

半面包板

1

Arduino Uno R3

1

跳线包

1

TMP36的外观类似于PN2222晶体管,但是如果看封装体的平坦侧面,则应该看到它被标记为TMP36。

面包板布局

面包板布局基于第11课的布局,因此,如果您仍将其放在面包板上,它将大大简化操作。

有一些跳线在此版式上已稍有移动。尤其是锅底附近的那些。

光电管,1kΩ电阻和TMP36都是板子的新添加。 TMP36的曲面朝向显示器。

Arduino代码

此草图基于第11课的草图。将其加载到Arduino上,您应该发现将手指放在上面即可加热温度传感器会增加温度读数。

此外,如果您将手放在光电管上,遮挡了一些光,读数也会降低。

下载:文件

复制代码

/*

Adafruit Arduino - Lesson 12. Light and Temperature

*/

#include

int tempPin = 0;

int lightPin = 1;

// BS E D4 D5 D6 D7

LiquidCrystal lcd(7, 8, 9, 10, 11, 12);

void setup()

{

lcd.begin(16, 2);

}

void loop()

{

// Display Temperature in C

int tempReading = analogRead(tempPin);

float tempVolts = tempReading * 5.0 / 1024.0;

float tempC = (tempVolts - 0.5) * 100.0;

float tempF = tempC * 9.0 / 5.0 + 32.0;

// ----------------

lcd.print(“Temp F ”);

lcd.setCursor(6, 0);

lcd.print(tempF);

// Display Light on second row

int lightReading = analogRead(lightPin);

lcd.setCursor(0, 1);

// ----------------

lcd.print(“Light ”);

lcd.setCursor(6, 1);

lcd.print(lightReading);

delay(500);

} /*

Adafruit Arduino - Lesson 12. Light and Temperature

*/

#include

int tempPin = 0;

int lightPin = 1;

// BS E D4 D5 D6 D7

LiquidCrystal lcd(7, 8, 9, 10, 11, 12);

void setup()

{

lcd.begin(16, 2);

}

void loop()

{

// Display Temperature in C

int tempReading = analogRead(tempPin);

float tempVolts = tempReading * 5.0 / 1024.0;

float tempC = (tempVolts - 0.5) * 100.0;

float tempF = tempC * 9.0 / 5.0 + 32.0;

// ----------------

lcd.print(“Temp F ”);

lcd.setCursor(6, 0);

lcd.print(tempF);

// Display Light on second row

int lightReading = analogRead(lightPin);

lcd.setCursor(0, 1);

// ----------------

lcd.print(“Light ”);

lcd.setCursor(6, 1);

lcd.print(lightReading);

delay(500);

}

I

下载:文件

复制代码

// BS E D4 D5 D6 D7

LiquidCrystal lcd(7, 8, 9, 10, 11, 12); // BS E D4 D5 D6 D7

LiquidCrystal lcd(7, 8, 9, 10, 11, 12);

如果您决定更改使用的引脚,这将使事情变得更容易。

在“循环”功能中,现在发生了两个有趣的事情。首先,我们必须将温度传感器的模拟量转换为实际温度,其次,我们必须弄清楚如何显示它们。

首先,让我们看一下计算温度。

下载:文件

复制代码

int tempReading = analogRead(tempPin);

float tempVolts = tempReading * 5.0 / 1024.0;

float tempC = (tempVolts - 0.5) * 100.0;

float tempF = tempC * 9.0 / 5.0 + 32.0; int tempReading = analogRead(tempPin);

float tempVolts = tempReading * 5.0 / 1024.0;

float tempC = (tempVolts - 0.5) * 100.0;

float tempF = tempC * 9.0 / 5.0 + 32.0;

首先将温度传感器的原始读数乘以5,然后除以1024,以得到‘tempPin处的电压(0至5之间)模拟输入。

要将TMP36的电压转换为摄氏度,必须从测量值中减去0.5V,然后乘以100。

要将其转换为温度。在华氏温度下,您必须将其乘以9/5,然后再加上32。

在LCD显示屏上显示变化的读数可能很棘手。主要的问题是读数不一定总是相同的位数。因此,如果温度从101.50变为99.00,则旧读数的多余数字有留在显示器上的危险。/p》

下载:文件

复制代码

// ----------------

lcd.print(“Temp F ”);

lcd.setCursor(6, 0);

lcd.print(tempF); // ----------------

lcd.print(“Temp F ”);

lcd.setCursor(6, 0);

lcd.print(tempF);

一个相当奇怪的注释用来提醒您显示屏的16列。然后,您可以打印该长度的字符串,并在其中带有实际读数的空格。

要填充空格,请设置光标所在位置,然后显示读数。

完全相同的方法用于显示光照水平。光线水平没有单位,我们只显示模拟读数的原始读数。

其他要做的事情

尝试更改示例,使其以摄氏度而不是华氏度显示温度。

责任编辑:wv

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 温度传感器
    +关注

    关注

    48

    文章

    3109

    浏览量

    162471
  • lcd
    lcd
    +关注

    关注

    36

    文章

    4579

    浏览量

    175840
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    硕博电子7寸触摸显示屏,支持CAN通信和Codesy编程#工业显示屏 #汽车CAN总线  #触摸显示屏

    显示屏
    长沙硕博电子科技股份有限公司
    发布于 :2025年09月18日 15:29:59

    EMC整改显示屏:怎么选择?功率多少?

    南柯电子|EMC整改显示屏:怎么选择?功率多少?
    的头像 发表于 08-28 09:30 481次阅读

    TFT显示屏环境温度设计指南

    在工业控制、户外设备等复杂环境中,液晶 的稳定运行至关重要。作为核心视觉组件,TFT 显示屏的表现深受环境温度影响。忽视这一点,轻则显示异常、色彩失真,重则缩短屏幕寿命甚至导致永久损
    的头像 发表于 08-04 11:21 1309次阅读

    户外显示屏驱动板的具体防护措施

    驱动板在户外显示屏中的防水设计是确保显示屏长期稳定运行的关键之一。
    的头像 发表于 04-22 15:58 669次阅读

    LED灯杆与常规LED显示屏的区别

    LED灯杆与常规LED显示屏的区别
    的头像 发表于 03-21 08:45 869次阅读
    LED灯杆<b class='flag-5'>屏</b>与常规LED<b class='flag-5'>显示屏</b>的区别

    显示屏的ESD应用方案——显示屏的发展史 #jin

    显示屏
    jf_15747056
    发布于 :2025年03月10日 18:11:37

    SPD-043-Ex车载显示屏显示终端,支持CAN总线和RS232串口通信#显示屏 #串口通信 #CAN通信

    车载显示屏
    长沙硕博电子科技股份有限公司
    发布于 :2025年02月27日 16:15:20

    2.0寸显示屏,轻薄低功耗12864点阵COG显示屏

    2.0寸单色LCD液晶显示屏12864图形点阵,轻薄低功耗128*64点阵COG显示屏
    的头像 发表于 02-19 12:02 1071次阅读
    2.0寸<b class='flag-5'>显示屏</b>,轻薄低功耗12864点阵COG<b class='flag-5'>显示屏</b>

    5.6英寸工业TFT高清智能串口 640*480分辨率终端显示器彩色LCD显示屏

    5.6英寸工业TFT高清智能串口 640*480分辨率终端显示器彩色LCD显示屏
    的头像 发表于 02-19 10:07 1232次阅读
    5.6英寸工业TFT高清智能串口<b class='flag-5'>屏</b> 640*480分辨率终端<b class='flag-5'>显示</b>器彩色<b class='flag-5'>LCD</b><b class='flag-5'>显示屏</b>

    12864超宽(低)温图形点阵工业液晶显示模块负40度正常显示 128*64点阵LCD显示屏

    显示屏
    深圳市乾思迪电子科技有限公司
    发布于 :2024年12月13日 14:27:42

    低功耗128*128点阵工业SPI串口通讯单色LCD液晶显示模块 128128点阵COG显示屏

    显示屏
    深圳市乾思迪电子科技有限公司
    发布于 :2024年12月13日 14:26:08

    2.8寸单色LCD液晶显示屏12864点阵SPI或并口通讯 低功耗工业级128*64点阵COG显示屏

    显示屏
    深圳市乾思迪电子科技有限公司
    发布于 :2024年12月13日 14:09:59

    小尺寸单色LCD液晶显示屏12832图形点阵 低功耗128*32点阵COG显示模块

    显示屏
    深圳市乾思迪电子科技有限公司
    发布于 :2024年12月13日 10:11:31