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

    文章

    3254

    浏览量

    163367
  • lcd
    lcd
    +关注

    关注

    36

    文章

    4630

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    浅谈液晶显示屏的七大特色技术

    今天将聚焦最具突破性的7大特色技术,这些技术从视觉效果、功能拓展、环境适应性等维度全面升级,让LCD跳出“单纯显示”的局限,彰显中国TFT显示屏的硬核实力。
    的头像 发表于 01-29 15:11 692次阅读
    浅谈液晶<b class='flag-5'>显示屏</b>的七大特色技术

    浅谈液晶显示屏的产品结构与连接方式

    在电子设备无处不在的今天,液晶显示屏LCD)作为人机交互的核心窗口,其技术实力直接决定了设备的使用体验。从智能穿戴到工业控制,从车载显示到消费电子,不同场景下的 LCD 产品背后,都
    的头像 发表于 01-15 09:18 5018次阅读
    浅谈液晶<b class='flag-5'>显示屏</b>的产品结构与连接方式

    LED与液晶显示屏的抗干扰光模拟测试

    复现自然太阳光谱、光强及光照条件的精密设备,可为显示屏在模拟真实环境下的抗干扰性能评估提供科学、可控的测试手段。太阳光模拟器核心抗干扰测试项目luminbox液晶显
    的头像 发表于 12-22 18:04 576次阅读
    LED与液晶<b class='flag-5'>显示屏</b>的抗干扰光模拟测试

    LCD液晶显示屏在强光模拟下的性能测试

    随着智能终端、车载显示、移动设备等领域的快速发展,LCD液晶显示屏的使用场景日益复杂,强光环境下的显示性能成为衡量产品品质的核心指标之一。太阳光作为自然界最强的光源,其光照
    的头像 发表于 12-17 18:03 523次阅读
    <b class='flag-5'>LCD</b>液晶<b class='flag-5'>显示屏</b>在强光模拟下的性能测试

    基于RK3568开发板显示屏调试适配方法(1)-如何在Uboot界面切换显示屏

    显示屏作为电子产品不可或缺的一部分,此文档的目的在于帮助用户调试适配其它显示屏。本文档将以调试适配7寸MIPI为例。本文档章节安排:第一章:帮助用户如何在Uboot界面切换显示屏(L
    的头像 发表于 11-07 16:19 554次阅读
    基于RK3568开发板<b class='flag-5'>显示屏</b>调试适配方法(1)-如何在Uboot界面切换<b class='flag-5'>显示屏</b>

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

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

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

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

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

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

    30千瓦的显示屏EMC如何整改呢?

    南柯电子|30千瓦的显示屏EMC如何整改呢?
    的头像 发表于 07-24 09:35 809次阅读

    液晶显示屏出厂要做哪些安全检测

    液晶显示屏LCD)在出厂时需要进行一系列安全检测,以确保其在使用过程中不会对用户造成任何潜在的安全隐患。这些检测主要包括电气安全、机械安全、环境适应性等方面,以下是液晶显示屏出厂需要做的主要安全
    的头像 发表于 06-30 14:59 1637次阅读
    液晶<b class='flag-5'>显示屏</b>出厂要做哪些安全检测

    #LCD显示屏 #HDMI #智能显示 #驱动方案

    lcd
    jf_65742179
    发布于 :2025年06月18日 10:07:54

    【RA4L1-SENSOR】电压表 - 段码LCD显示屏

    额外的 LCD 驱动芯片。 RA4L1 还内置 12bit ADC,可以采样外部电压和芯片内部温度传感器模拟电压 使能 ADC 和 SLCDC 模块,可以将 ADC 采集的电压值显示到液晶显示
    发表于 06-08 17:40

    K230 V3.0使用Mipi显示屏无法显示图像怎么解决?

    1.创乐博的K230 V3.0版本 烧录了官网上的最新固件,使用sdcard里面的例程,分别是display里面的lcd 和sensor的single_lcd,商家配套的mipi显示屏上 都没有
    发表于 06-04 07:17

    FZH1691 4×36 LCD显示屏高集成度驱动控制芯片中文手册

    深圳市方中禾科技有限公司(Premier Chip Limited)推出的 FZH1691 是一款专为 4×36 LCD 显示屏 设计的高集成度驱动控制芯片,最多可驱动 144 段显示,适用于低功耗
    发表于 05-23 10:19 0次下载

    FZH1692P/Q 4×40 LCD显示屏高性能驱动控制芯片中文手册

    深圳市方中禾科技有限公司(Premier Chip Limited)推出的 FZH1692P/Q 是一款专为 4×40 LCD 显示屏 设计的高性能驱动控制芯片,最大支持 160 段显示,适用于
    发表于 05-23 10:18 0次下载