国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于Arduino開發板和諾基亞5110 LCD顯示屏的紫外線強度計案例

454398 ? 來源:一板網 ? 作者:風箏 ? 2021-01-01 10:04 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

紫外線(Ultraviolet rays),簡稱UV,是太陽發出的光線。由于臭氧層的消耗,這些射線趨于達到極高的限值,可能導致皮膚曬傷等。這就是為什么始終需要每天和每小時對紫外線指數進行預測,以幫助人們保持追蹤和保持安全的原因。為了進行監控,為什么不擁有個人紫外線強度計?

在本篇文章中,我們將使用Arduino開發板和諾基亞5110 LCD顯示屏以及紫外線傳感器(UVM30A)來制作一款紫外線強度計。諾基亞5110用于顯示紫外線強度指數,這個是國際標準單位,用于表示在特定位置和特定時間遇到的來自太陽的紫外線強度。

測量特定位置和特定時間的紫外線指數的目的是為了防止人們受到高紫外線指數射線所引起的危險,因為高紫外線射線可能會導致諸如曬傷等現象。它還可以用來指導人們,以便他們能夠采取足夠的保護措施,例如每天使用防曬霜、太陽鏡、帽子等。試圖將紫外線指數與適當的防護設備匹配的紫外線防護圖如下所示:

pIYBAF_bF06APHxoAANKPlK4pYg037.png

從該圖表可以看出,當紫外線水平極高時,建議留在室內,原因是紫外線指數室內大部分為零。這意味著在測試我們將要制造的設備時,應將其拿到外面,如下圖所示,因為在室內測試時該值不會改變。

本文中將使用的UVM30A紫外線傳感器是一個具有幾乎線性輸出的低成本模擬傳感器。這意味著傳感器的輸出分別隨紫外線輻射的成比例增加而增加。從傳感器數據表中摘錄出的傳感器輸出(以mV為單位)相對于紫外線指數的圖表如下所示。

pIYBAF_bF4-AY8XYAAGS4APdDWE470.png

UV指數與傳感器輸出電壓之間的線性關系

它是一個由VCC、GND和模擬信號輸出組成的簡單的三引腳傳感器,這樣就可以開始工作了。

所需的組件

● 紫外線傳感器

● Arduino Uno開發板

● 諾基亞5110 LCD顯示屏

● 面包板

● 連接導線

原理圖

準備好所有組件之后,請按照以下示意圖進行原理圖連接:

pIYBAF_bF6KATymtAAG9_F9w8OQ918.png

我們在之前的文章中介紹了將N0kia 5110 LCD連接到Arduino開發板的方法,但在本文中,我們仍列出了引腳圖的連接方式。同時本文給出了UV傳感器與Arduino開發板的連接方式。

UV傳感器與Arduino開發板的引腳連接表

GND GND
VCC VCC
output A0

諾基亞5110 LCD與Arduino開發板之間的引腳連接表:

Pin 1(RST) D12
Pin 2(CE) D11
Pin 3(DC) D10
Pin 4(DIN) D9
Pin 5(CLK) D8
Pin 6(VCC) VCC
Pin 7(LIGHT) GND
Pin 8(GND) GND

在編寫代碼之前,請仔細檢查連接以確認一切正常。

代碼

此項目的代碼非常簡單,我們僅使用一個庫(諾基亞5110 LCD庫)與LCD進行通信??梢詮拇随溄酉螺d該庫。該代碼的基本操作是讀取傳感器輸出連接到的模擬引腳0(A0),并將其轉換為mV,以便我們可以與UV指數表中的值進行比較,并計算該特定位置和時間的UV指數。在計算并確定了紫外線指數之后,該指數通過諾基亞5110 LCD顯示給用戶。下圖顯示了用于比較的紫外線指數表。

o4YBAF_bF76AL17vAAHCkhQZUv8683.png

與往常一樣,我們將代碼分成小塊,并在給出完整代碼之前進行解釋。首先,我們在代碼中要做的第一件事是導入諾基亞5110 LCD庫,該庫是顯示屏所必需的。

//////////////////////////////////////////////

// Arduino UV Meter //

// with NOKIA 5110 LCD //

// http://www.educ8s.tv //

/////////////////////////////////////////////

#include

導入庫后,我們開始聲明將在代碼中使用的其他變量和常量。

LCD5110 lcd(8,9,10,12,11);

extern unsigned char BigNumbers[];

extern uint8_t splash[];

extern uint8_t ui[];

String UV = "0";

完成后,我們轉到setup函數。我們要做的第一件事是初始化LCD,然后設置顯示器的字體,使用lcd.clrScr()清除屏幕,然后繪制初始位圖。

void setup() {

lcd.InitLCD();

lcd.setFont(BigNumbers);

lcd.clrScr();

lcd.drawBitmap(0, 0, splash, 84, 48);

在執行drawBitmap命令之后,我們更新LCD以反映更改,并延遲3000毫秒以確保啟動畫面在屏幕上停留的時間足夠長。

lcd.update();

delay(3000);

}

setup函數結束后,我們進入loop()函數,這里調用readSensor函數,該函數從UV傳感器讀取值,將其轉換為mV并將其與Index表進行比較以獲得mV的UV索引匹配讀入的值。

void loop() {

int stringLength = 0;

UV = readSensor();

接下來,我們清除屏幕并繪制將要插入索引的UI。

lcd.clrScr();

lcd.drawBitmap(0, 0, ui, 84, 48);

繪制UI后,我們將計算索引的長度,并使用printUV函數將其顯示,然后調用LCD更新命令。

stringLength = UV.length();

printUV(stringLength);

lcd.update();

delay(150);

}

該項目的完整代碼如下。

//////////////////////////////////////////////

// Arduino UV Meter //

// with NOKIA 5110 LCD //

// http://www.educ8s.tv //

/////////////////////////////////////////////

#include

LCD5110 lcd(8,9,10,12,11);

extern unsigned char BigNumbers[];

extern uint8_t splash[];

extern uint8_t ui[];

String UV = "0";

void setup() {

lcd.InitLCD();

lcd.setFont(BigNumbers);

lcd.clrScr();

lcd.drawBitmap(0, 0, splash, 84, 48);

lcd.update();

delay(3000);

}

void loop() {

int stringLength = 0;

UV = readSensor();

lcd.clrScr();

lcd.drawBitmap(0, 0, ui, 84, 48);

stringLength = UV.length();

printUV(stringLength);

lcd.update();

delay(150);

}

void printUV(int length)

{

switch(length)

{

case 1:lcd.print(UV,38,19); break;

case 2:lcd.print(UV,24,19); break;

default:lcd.print(UV,0,19); break;

}

}

String readSensor()

{

String UVIndex = "0";

int sensorValue = 0;

sensorValue = analogRead(0); //connect UV sensor to Analog 0

int voltage = (sensorValue * (5.0 / 1023.0))*1000;//Voltage in miliVolts

if(voltage<50)

{

UVIndex = "0";

}else if (voltage>50 && voltage<=227)

{

UVIndex = "0";

}else if (voltage>227 && voltage<=318)

{

UVIndex = "1";

}

else if (voltage>318 && voltage<=408)

{

UVIndex = "2";

}else if (voltage>408 && voltage<=503)

{

UVIndex = "3";

}

else if (voltage>503 && voltage<=606)

{

UVIndex = "4";

}else if (voltage>606 && voltage<=696)

{

UVIndex = "5";

}else if (voltage>696 && voltage<=795)

{

UVIndex = "6";

}else if (voltage>795 && voltage<=881)

{

UVIndex = "7";

}

else if (voltage>881 && voltage<=976)

{

UVIndex = "8";

}

else if (voltage>976 && voltage<=1079)

{

UVIndex = "9";

}

else if (voltage>1079 && voltage<=1170)

{

UVIndex = "10";

}else if (voltage>1170)

{

UVIndex = "11";

}

return UVIndex;

}

演示

將Arduino開發板連接到計算機,啟動IDE并將代碼粘貼到其中。 在上傳之前,請不要忘記將UI和Splash文件添加到代碼的Arduino sketch文件夾中,因為這可能會引發錯誤。

將代碼上傳到您的開發板上,然后帶到外面以測量您所在區域的紫外線強度。
編輯:hfy

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 紫外線
    +關注

    關注

    1

    文章

    380

    瀏覽量

    22099
  • Arduino
    +關注

    關注

    190

    文章

    6526

    瀏覽量

    196691
  • LCD顯示屏
    +關注

    關注

    1

    文章

    92

    瀏覽量

    15047
  • 紫外線傳感器

    關注

    0

    文章

    89

    瀏覽量

    12887
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    【EASY EAI Nano-TB(RV1126B)開發板試用】+顯示屏連接與顯示測試

    我們收到開發板更近于是套件,它包括顯示屏、驅動模塊、攝像頭及電源配件等。 在使用時,需要自行將它們組裝起來,以顯示屏為例,要實現顯示功能其器件構成如圖1所示。 圖1 器件構成 在連接過
    發表于 12-25 14:10

    51單片機驅動VEML6075測量紫外線強度

    VEML6075是一種紫外線(UV)光傳感器,它可以測量紫外線強度。它通常用于各種應用,包括環境監測、皮膚防護和生物醫學應用,在紫外線中,UVA是最常見的
    的頭像 發表于 11-30 15:51 ?4186次閱讀
    51單片機驅動VEML6075測量<b class='flag-5'>紫外線</b><b class='flag-5'>強度</b>

    基于RK3568開發板顯示屏調試適配方法(1)-如何在Uboot界面切換顯示屏

    顯示屏作為電子產品不可或缺的一部分,此文檔的目的在于幫助用戶調試適配其它顯示屏。本文檔將以調試適配7寸MIPI為例。本文檔章節安排:第一章:幫助用戶如何在Uboot界面切換顯示屏(L
    的頭像 發表于 11-07 16:19 ?554次閱讀
    基于RK3568<b class='flag-5'>開發板</b><b class='flag-5'>顯示屏</b>調試適配方法(1)-如何在Uboot界面切換<b class='flag-5'>顯示屏</b>

    新技術可提升紫外線傳感器響應速度

    研究示意圖 澳大利亞麥考瑞大學科學家開發了一項新技術,將紫外線傳感器的響應速度提高了128000倍。該成果有望催生更高效、更靈活的可穿戴設備。相關論文發表于新一期《Small》雜志。 研究團隊指出
    的頭像 發表于 11-07 09:13 ?308次閱讀
    新技術可提升<b class='flag-5'>紫外線</b>傳感器響應速度

    【匠芯創D133CBS KunLun Pi開發板試用體驗】1、開發板開箱及介紹

    應用于工業 HMI、 網關、串口等泛工業和智慧家居領域。 D133CBS RISC-V KunLun Pi V1.0 是一款基于 D13x 芯片的人機交互應用開發板,配備 4.3 寸 LCD
    發表于 09-05 13:49

    太陽光模擬器的紫外線老化測試標準

    紫外線通過破壞分子鍵引發材料降解,表現褪色、開裂、強度下降等問題,太陽光模擬器憑借精準復現太陽光譜的能力,成為紫外線老化測試的核心設備,紫外線老化測試通過人工模擬太陽光
    的頭像 發表于 08-13 18:02 ?768次閱讀
    太陽光模擬器的<b class='flag-5'>紫外線</b>老化測試標準

    如何用Arduino Nano/UNO R3開發板給另一個Arduino IDE不能下載的Arduino Nano/UNO R3開發板重新燒錄引導程序bootlaoder

    本文介紹了如何用能夠Arduino IDE下載的Arduino Nano/UNO R3開發板給另一個Arduino IDE不能下載的Arduino
    的頭像 發表于 08-08 20:16 ?3515次閱讀
    如何用<b class='flag-5'>Arduino</b> Nano/UNO R3<b class='flag-5'>開發板</b>給另一個<b class='flag-5'>Arduino</b> IDE不能下載的<b class='flag-5'>Arduino</b> Nano/UNO R3<b class='flag-5'>開發板</b>重新燒錄引導程序bootlaoder

    【免費試用】匠芯創D133CBS KunLun Pi開發板試用體驗

    匠芯創D133CBSRISC-VKunLunPiV1.0是一款基于D13x芯片的人機交互應用開發板,配備4.3寸LCD顯示屏以及電容觸摸,支持DVP攝像頭。
    的頭像 發表于 07-29 08:06 ?1152次閱讀
    【免費試用】匠芯創D133CBS KunLun Pi<b class='flag-5'>開發板</b>試用體驗

    【BPI-CanMV-K230D-Zero開發板體驗】+TFT顯示驅動及信息顯示

    對于BPI-CanMV-K230D-Zero開發板來講,其標準的顯示器配置是基于芯片ST7701的LCD顯示屏,該顯示屏
    發表于 07-02 11:03

    紫外光固化技術介紹

    本文主要介紹了光的分類和紫外線的定義,以及紫外線的特性、應用和固化原理。
    的頭像 發表于 06-30 17:27 ?1446次閱讀
    <b class='flag-5'>紫外</b>光固化技術介紹

    廣明源積極布局222nm遠紫外線消毒技術

    近年來,隨著公共衛生安全和生物安全防護需求的持續增長,紫外線消毒技術受到廣泛關注。作為深耕光科技領域20多年的企業,廣明源積極布局222nm遠紫外線消毒技術,持續提升自主研發與成果轉化能力,構建多場景應用解決方案,助力公共環境消毒與健康防護水平提升。
    的頭像 發表于 06-18 10:23 ?1200次閱讀

    戶外顯示屏驅動的具體防護措施

    驅動在戶外顯示屏中的防水設計是確保顯示屏長期穩定運行的關鍵之一。
    的頭像 發表于 04-22 15:58 ?937次閱讀

    紫外線對產品的影響及紫外老化試驗的重要性

    紫外線對產品的危害紫外線,作為電磁波譜中紫光之外的不可見光,其對產品的破壞性不容忽視。在眾多外界因素中,紫外線是導致材料性能劣變的關鍵因素之一。材料或產品在加工、貯存或使用過程中,會受到熱、光、氧
    的頭像 發表于 03-26 15:34 ?1671次閱讀
    <b class='flag-5'>紫外線</b>對產品的影響及<b class='flag-5'>紫外</b>老化試驗的重要性

    用AI人臉識別開發板BW21-CBV-Kit驅動墨水

    試著用BW21-CBV-Kit點亮2.9寸墨水,開發板例程非常豐富,在arduino開發的話上手超級容易。
    的頭像 發表于 03-04 18:24 ?1768次閱讀
    用AI人臉識別<b class='flag-5'>開發板</b>BW21-CBV-Kit驅動墨水<b class='flag-5'>屏</b>

    2.0寸顯示屏,輕薄低功耗12864點陣COG顯示屏

    2.0寸單色LCD液晶顯示屏12864圖形點陣,輕薄低功耗128*64點陣COG顯示屏
    的頭像 發表于 02-19 12:02 ?1282次閱讀
    2.0寸<b class='flag-5'>顯示屏</b>,輕薄低功耗12864點陣COG<b class='flag-5'>顯示屏</b>