0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何使用LCD顯示屏顯示溫度和光強(qiáng)度

454398 ? 來源:網(wǎng)絡(luò)整理 ? 作者:網(wǎng)絡(luò)整理 ? 2019-11-29 09:37 ? 次閱讀

概述

在本課程中,您將基于在第11課中學(xué)到的內(nèi)容并使用LCD顯示屏顯示溫度和光強(qiáng)度。

使用第9課中使用的同一光電管測(cè)量光強(qiáng)度。

要測(cè)量溫度,您將使用溫度測(cè)量芯片。該設(shè)備只有3條導(dǎo)線,兩條分別用于5V和GND,第三條導(dǎo)線直接連接到Arduino上的模擬輸入。

零件

零件 數(shù)量

LCD顯示(16x2個(gè)字符)

1

10kΩ可變電阻器電位器

1

1kΩ電阻(棕色,黑色,紅色條紋)

1

光電管(光敏電阻

1

TMP36溫度傳感器

1

半面包板

1

Arduino Uno R3

1

跳線包

1

TMP36的外觀類似于PN2222晶體管,但是如果看封裝體的平坦側(cè)面,則應(yīng)該看到它被標(biāo)記為TMP36。

面包板布局

面包板布局基于第11課的布局,因此,如果您仍將其放在面包板上,它將大大簡(jiǎn)化操作。

有一些跳線在此版式上已稍有移動(dòng)。尤其是鍋底附近的那些。

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

Arduino代碼

此草圖基于第11課的草圖。將其加載到Arduino上,您應(yīng)該發(fā)現(xiàn)將手指放在上面即可加熱溫度傳感器會(huì)增加溫度讀數(shù)。

此外,如果您將手放在光電管上,遮擋了一些光,讀數(shù)也會(huì)降低。

下載:文件

復(fù)制代碼

/*

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

下載:文件

復(fù)制代碼

// 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);

如果您決定更改使用的引腳,這將使事情變得更容易。

在“循環(huán)”功能中,現(xiàn)在發(fā)生了兩個(gè)有趣的事情。首先,我們必須將溫度傳感器的模擬量轉(zhuǎn)換為實(shí)際溫度,其次,我們必須弄清楚如何顯示它們。

首先,讓我們看一下計(jì)算溫度。

下載:文件

復(fù)制代碼

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;

首先將溫度傳感器的原始讀數(shù)乘以5,然后除以1024,以得到‘tempPin處的電壓(0至5之間)模擬輸入。

要將TMP36的電壓轉(zhuǎn)換為攝氏度,必須從測(cè)量值中減去0.5V,然后乘以100。

要將其轉(zhuǎn)換為溫度。在華氏溫度下,您必須將其乘以9/5,然后再加上32。

在LCD顯示屏上顯示變化的讀數(shù)可能很棘手。主要的問題是讀數(shù)不一定總是相同的位數(shù)。因此,如果溫度從101.50變?yōu)?9.00,則舊讀數(shù)的多余數(shù)字有留在顯示器上的危險(xiǎn)。/p》

下載:文件

復(fù)制代碼

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

lcd.print(“Temp F ”);

lcd.setCursor(6, 0);

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

lcd.print(“Temp F ”);

lcd.setCursor(6, 0);

lcd.print(tempF);

一個(gè)相當(dāng)奇怪的注釋用來提醒您顯示屏的16列。然后,您可以打印該長度的字符串,并在其中帶有實(shí)際讀數(shù)的空格。

要填充空格,請(qǐng)?jiān)O(shè)置光標(biāo)所在位置,然后顯示讀數(shù)。

完全相同的方法用于顯示光照水平。光線水平?jīng)]有單位,我們只顯示模擬讀數(shù)的原始讀數(shù)。

其他要做的事情

嘗試更改示例,使其以攝氏度而不是華氏度顯示溫度。

責(zé)任編輯:wv

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 溫度傳感器
    +關(guān)注

    關(guān)注

    48

    文章

    2963

    瀏覽量

    156241
  • lcd
    lcd
    +關(guān)注

    關(guān)注

    34

    文章

    4437

    瀏覽量

    167967
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    小尺寸單色LCD液晶顯示屏12832圖形點(diǎn)陣 低功耗128*32點(diǎn)陣COG顯示模塊

    顯示屏
    深圳市乾思迪電子科技有限公司
    發(fā)布于 :2024年12月13日 10:11:31

    2.0寸單色LCD液晶顯示屏,12864圖形點(diǎn)陣

    顯示屏串口
    乾思迪電子科技
    發(fā)布于 :2024年11月19日 16:45:32

    #物聯(lián)網(wǎng) LED顯示屏

    LED顯示屏
    斯塔克物聯(lián)科技
    發(fā)布于 :2024年11月01日 14:24:14

    oled是什么顯示屏 OLED與LCD的區(qū)別

    OLED是什么顯示屏 OLED(Organic Light-Emitting Diode),即有機(jī)發(fā)光二極管,是一種電流型的有機(jī)發(fā)光器件。其工作原理是通過載流子的注入和復(fù)合而致發(fā)光,發(fā)光強(qiáng)度與注入
    的頭像 發(fā)表于 10-21 16:40 ?2001次閱讀

    液晶顯示屏是什么材料做的

    液晶顯示屏(Liquid Crystal Display,簡(jiǎn)稱LCD)是一種廣泛使用的顯示技術(shù),它利用液晶材料的光學(xué)特性來控制光線的通過,從而實(shí)現(xiàn)圖像的顯示。液晶
    的頭像 發(fā)表于 10-12 10:41 ?1256次閱讀

    液晶顯示屏與led顯示屏的區(qū)別

    在現(xiàn)代電子設(shè)備中,顯示屏是人機(jī)交互的重要界面。隨著科技的發(fā)展,顯示屏技術(shù)也在不斷進(jìn)步,其中液晶顯示屏LCD)和LED顯示屏是兩種主流的
    的頭像 發(fā)表于 10-12 10:39 ?1576次閱讀

    lcd和led顯示屏有什么區(qū)別

    LCD(液晶顯示器)和LED(發(fā)光二極管)顯示屏是兩種常見的顯示技術(shù),它們?cè)谠S多方面都有顯著的不同。以下是對(duì)這兩種技術(shù)的比較: 1. 基本工作原理
    的頭像 發(fā)表于 10-10 14:18 ?1408次閱讀

    通用型國產(chǎn)工程機(jī)械顯示屏#顯示屏 #工程機(jī)械 #國產(chǎn)替代

    顯示屏
    長沙碩博電子科技股份有限公司
    發(fā)布于 :2024年09月19日 10:47:24

    vr顯示屏用電視還是led

    直接影響到視覺體驗(yàn)、舒適度和沉浸感。當(dāng)前市場(chǎng)上,電視和LED是兩種常見的顯示屏類型,它們各自具有優(yōu)缺點(diǎn)。 一、顯示屏技術(shù)原理 電視顯示屏 電視顯示
    的頭像 發(fā)表于 07-08 10:36 ?755次閱讀

    全彩LED顯示屏/天幕哪家好?#LED顯示屏 #天幕# 多媒體宣傳展示

    LED顯示屏
    jf_50082260
    發(fā)布于 :2024年06月13日 07:24:59

    LED顯示屏設(shè)計(jì)方案

    1、LED顯示屏基礎(chǔ)知識(shí)2、LED顯示屏設(shè)計(jì)要素3、LED顯示屏驅(qū)動(dòng)方案4、LED顯示屏控制系統(tǒng)5、LED顯示屏應(yīng)用案例分析6、LED
    發(fā)表于 04-03 17:21 ?12次下載

    LED電子顯示屏的相關(guān)報(bào)告

    LED電子顯示屏是一種利用LED發(fā)光二極管作為顯示元件,通過控制LED的亮滅來顯示文字、圖像、視頻等信息的顯示屏幕。根據(jù)不同的應(yīng)用場(chǎng)合和顯示
    發(fā)表于 04-03 17:18 ?0次下載

    Led顯示屏控制系統(tǒng)怎么使用 led顯示屏控制器怎么設(shè)置

    Led顯示屏控制系統(tǒng)是一種用于控制LED顯示屏的硬件設(shè)備,通過它可以實(shí)現(xiàn)對(duì)LED顯示屏的亮度、顏色、顯示內(nèi)容等參數(shù)的設(shè)置和控制。在使用LED顯示屏
    的頭像 發(fā)表于 02-03 14:03 ?8415次閱讀