電子發(fā)燒友App

硬聲App

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

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

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>使用Swift語(yǔ)言在LCD上顯示溫度

使用Swift語(yǔ)言在LCD上顯示溫度

2022-11-02 | zip | 0.13 MB | 次下載 | 免費(fèi)

資料介紹

描述

在上一個(gè)任務(wù)中,您了解了 LCD。現(xiàn)在您將了解更多信息,LCD 將用于顯示您房間的溫度。

第 1 步:您需要什么

poYBAGNh10OAZxyuAAClK90FsWU989.png
?

您將使用的零件都包含在此Maker 套件中。

第 2 步:溫濕度傳感器

溫濕度傳感器可以同時(shí)感應(yīng)溫度和濕度。

它使用 I2C 協(xié)議與 SwiftIO 板進(jìn)行通信。您可以SHT3x.swift在此任務(wù)中找到可用于讀取值的文件。

第 3 步:電路

pYYBAGNh10aAKmXQAADh8lRNA9Y409.png
?

將屏蔽罩放在 SwiftIO 板的頂部。

將溫濕度傳感器和 LCD 連接到 I2C0。共有三個(gè)可用引腳,您可以選擇任意兩個(gè)。

第 4 步:代碼

/* Import the SwiftIO library to use everything in it. */
import SwiftIO

/* Import the board library to use the Id of the specific board. */
import SwiftIOBoard


/* Initialize the LCD and sensor to use the I2C communication. */
let i2c = I2C(Id.I2C0)
let lcd = LCD1602(i2c)
let sht = SHT3x(i2c)

while true{
    /* Read and display the temperature on the LCD and update the value every 1s. */
    let temp = sht.readCelsius()

    lcd.write(x:0, y:0, "Temperature:")
    lcd.write(x: 0, y: 1, temp)
    lcd.write(x:4, y:1, " ")
    lcd.write(x:5, y:1, "C")

    sleep(ms: 1000)
}

第 5 步:代碼分析

在這個(gè)項(xiàng)目中,您可以找到LCD1602.swiftLCD 文件和SHT3x.swift傳感器文件。您可以直接使用它們來(lái)簡(jiǎn)化您的代碼,而無(wú)需根據(jù)它們的數(shù)據(jù)表進(jìn)行配置。

那么讓我們來(lái)看看文件main.swift。

import SwiftIO
import SwiftIOBoard

導(dǎo)入必要的庫(kù):SwiftIOSwiftIOFeather。SwiftIO用于控制SwiftIO板的輸入輸出。SwiftIOBoard定義板的引腳名稱。

let i2c = I2C(Id.I2C0)
let lcd = LCD1602(i2c)
let sht = SHT3x(i2c)

初始化 I2C 接口 I2C0。然后初始化 LCD 和傳感器。它們都需要 I2C 接口作為參數(shù)。

let temp = sht.readCelsius()

要獲取溫度,您需要readCelsius()文件中的方法SHT3x.swift。它會(huì)將溫度計(jì)算為攝氏度。

lcd.write(x:0, y:0, "Temperature:")
lcd.write(x: 0, y: 1, temp)
lcd.write(x:4, y:1, " ")
lcd.write(x:5, y:1, "C")

當(dāng)您獲得該值時(shí),您可以將其顯示在 LCD 上。這四個(gè)語(yǔ)句都是關(guān)于要顯示的內(nèi)容:

  • LCD 的第一行將顯示文本“溫度:”。它從原點(diǎn)開始。
  • 溫度將顯示在第一列的第二行。它們將占用四個(gè)字符。
  • 第五個(gè)是空白,用于將值與單位分開。
  • 第六是單位。
sleep(ms: 1000)

傳感器每 1s 讀取一次值,因此 LCD 上的值將每秒刷新一次。

第 6 步:運(yùn)行項(xiàng)目

poYBAGNh10qAQ3SvAABfwOGK_kU748.png
?

下載代碼后,液晶顯示屏開始顯示溫度。該值會(huì)略有變化。

第 7 步:使用庫(kù)

上面的代碼包括配置 LCD 和溫濕度傳感器的兩個(gè)文件。但是,還有一種更方便的方法——使用庫(kù),您無(wú)需在項(xiàng)目中添加硬件驅(qū)動(dòng)程序。

簡(jiǎn)而言之,庫(kù)包含用于特定功能的代碼塊。然后你可以在你的任何項(xiàng)目中使用它來(lái)實(shí)現(xiàn)這些功能。

讓我們看一下代碼:

/* Import the SwiftIO library to use everything in it. */
import SwiftIO

/* Import the board library to use the Id of the specific board. */
import SwiftIOBoard

/* Import LCD1602 and SHT3x driver from MadDrivers which is an online git repo. */
import LCD1602
import SHT3x

/* Initialize the LCD and sensor to use the I2C communication. */
let i2c = I2C(Id.I2C0)
let lcd = LCD1602(i2c)
let sht = SHT3x(i2c)

while true{
    /* Read and display the temperature on the LCD and update the value every 1s. */
    let temp = sht.readCelsius()

    lcd.write(x:0, y:0, "Temperature:")
    lcd.write(x: 0, y: 1, temp)
    lcd.write(x:4, y:1, " ")
    lcd.write(x:5, y:1, "C")

    sleep(ms: 1000)
}

在前面的代碼中,包含了這兩個(gè)文件,因此您可以直接使用它們。

現(xiàn)在,您將在代碼中使用在線庫(kù) - LCD1602 和 SHT3x。它們位于包含所有相關(guān)硬件庫(kù)的 MadDriver 中,并且其位置已在項(xiàng)目中指示。因此,您無(wú)需將這些文件添加到您的項(xiàng)目中,只需將它們導(dǎo)入您的代碼即可。IDE 將在構(gòu)建項(xiàng)目時(shí)自動(dòng)下載它們。

然后剩下的代碼和上一個(gè)一樣。


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
  2. 1.06 MB  |  532次下載  |  免費(fèi)
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費(fèi)
  5. 3TC358743XBG評(píng)估板參考手冊(cè)
  6. 1.36 MB  |  330次下載  |  免費(fèi)
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費(fèi)
  9. 5元宇宙深度解析—未來(lái)的未來(lái)-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費(fèi)
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費(fèi)
  13. 7元宇宙底層硬件系列報(bào)告
  14. 13.42 MB  |  182次下載  |  免費(fèi)
  15. 8FP5207XR-G1中文應(yīng)用手冊(cè)
  16. 1.09 MB  |  178次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21549次下載  |  免費(fèi)
  9. 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191187次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)