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

    文章

    2648

    浏览量

    154287
  • lcd
    lcd
    +关注

    关注

    34

    文章

    4276

    浏览量

    164049
收藏 人收藏

    评论

    相关推荐

    商场外墙户外P5LED显示屏# P5LED显示屏# 商场LED显示屏# 广场LED显示屏# 小区LED显示屏

    LED显示屏
    LED显示屏生产厂家
    发布于 :2024年01月16日 20:24:01

    酒店会议室LED显示屏P2#酒店LED显示屏# P2LED显示屏# 会议室LED显示屏

    LED显示屏
    LED显示屏生产厂家
    发布于 :2024年01月16日 20:19:32

    LCD显示屏、LED显示屏、OLED显示屏有什么区别?

    LCD显示屏、LED显示屏、OLED显示屏有什么区别? LCD显示屏、LED
    的头像 发表于 12-11 14:29 3593次阅读

    硕博电子8寸工业触控显示屏

    显示屏
    长沙硕博电子科技股份有限公司
    发布于 :2023年12月08日 15:39:54

    请问LCD1602显示屏显示中文汉字吗?

    LCD1602显示屏是外文显示屏,它本身带的ROM固化的字型库,只有英文数字特殊符号和日语假名,没中文。这样的显示中文吗?
    发表于 10-28 08:07

    户外全彩LED广告LED广告显示屏【#

    LED显示屏
    联诚发
    发布于 :2023年10月09日 17:17:00

    LCD1602显示屏如何使用

    1.芯片简介 LCD1602显示屏为字符显示屏显示字符为16*2。采用 LCD 显示一个字符时
    的头像 发表于 09-11 11:29 1666次阅读
    <b class='flag-5'>LCD</b>1602<b class='flag-5'>显示屏</b>如何使用

    直径4米无边圆形圆饼圆面圆盘平面圆LED显示屏及各种定制异形创意LED显示屏

    ledLED显示屏
    晶锐创显JRCLED
    发布于 :2023年08月16日 19:14:10

    让瓶子飞一会儿,高清裸眼3DLED显示屏亮相展厅# 裸眼3DLED显示屏# 展厅# 瓶子

    LED显示屏
    LED显示屏生产厂家
    发布于 :2023年07月16日 09:43:42

    #LED显示屏 #数字展厅 #显示科技 #上热门?

    LED显示屏
    jf_95600885
    发布于 :2023年07月06日 11:09:05

    esp32cam和圆形显示屏微雪1.28寸LCD #esp32 #lcd #显示屏

    显示屏
    学习电子知识
    发布于 :2023年06月26日 20:58:49

    带Arduino和LCD显示屏的秒表

    电子发烧友网站提供《带Arduino和LCD显示屏的秒表.zip》资料免费下载
    发表于 06-12 09:51 4次下载
    带Arduino和<b class='flag-5'>LCD</b><b class='flag-5'>显示屏</b>的秒表

    液晶显示屏高温老化箱

    显示屏
    jf_00310430
    发布于 :2023年06月02日 10:59:34