在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

基于Arduino的OLED溫度計濕度計的制作教程

454398 ? 來源:工程師吳畏 ? 2019-08-01 10:39 ? 次閱讀

在這個項目中,我們將制作Arduino OLED溫度計和濕度計。我們將從DHT22傳感器讀取溫度和濕度,然后我們將在OLED屏幕上顯示數據。

OLED代表有機發光二極管,它們有多種不同尺寸可供選擇。我們要使用的尺寸是128X64(1.3英寸)。 OLED通過SPI和I2C通信與Arduino配合使用,但在我們的項目中,我們將使用SPI通信。

電路圖

首先,我們將OLED與Arduino連接起來。 OLED可以連接到I2C中的Arduino以及SPI。以I2C方式連接OLED的連接更容易,但SPI通信比I2C更快。因此,我們將使用SPI將OLED與Arduino連接起來。按照以下方式將OLED與Arduino連接:

將OLED上的CS引腳連接到Arduino上的引腳10

將OLED上的DC引腳連接到Arduino上的引腳9

將OLED上的RST引腳連接到Arduino上的引腳8

將OLED上的D1或CLK引腳連接到Arduino上的引腳11

將OLED上的D0或DIN引腳連接到引腳13在Arduino

我們已將OLED連接到引腳13,11,10,9和8,因為這些引腳用于SPI通信。接下來,將DHT22與Arduino連接。 DHT22傳感器與Arduino的連接如下:

將DHT22上的VCC連接到Arduino上的5V引腳

將DHT22上的GND連接到Arduino上的GND

將DHT22的數據引腳連接到Arduino上的引腳7

Arduino代碼

#include #include“DHT.h “#define DHTPIN 7 #define DHTTYPE DHT22 DHT傳感器(DHTPIN,DHTTYPE); U8GLIB_SH1106_128X64 oled(13,11,10,9,8); void setup(){sensor.begin(); oled.firstPage(); do {oled.setFont(u8g_font_fur14);//設置字體大小//在OLED上打印數據oled.drawStr(20,15,“歡迎”); oled.drawStr(40,40,“To”); oled.drawStr(5,60,“DIYHACKING “); } while(oled.nextPage()); delay(5000);} void loop(){float h = sensor.readHumidity();//讀取濕度值float t = sensor.readTemperature();//讀取溫度值float fah = sensor.readTemperature(true);//讀取Fahrenheitif中的溫度(isnan(h)|| isnan(t)|| isnan(fah)){//檢查我們是否收到值或notSerial.println(“無法讀取DHT傳感器!”); return;} float heat_index = sensor.computeHeatIndex(fah,h);//計算Fahrenheitfloat中的熱指數heat_indexC = sensor.convertFtoC(heat_index);//在Celsiusoled.firstPage()中計算熱量指數; do {oled.setFont(u8g_font_fub11);//設置字體大小//在OLBled.drawStr上打印數據(0,15,“Temp:”); oled.drawStr(0,40,“Hum:”); oled.drawStr(0,60,“嗨:“); oled.setPrintPos(72,15);//設置尺寸以打印temperatureoled.print(t,0); oled.println(“C”); oled.setPrintPos(72,40);//設置尺寸以打印humidoled.print(h,0); oled.println(“%”); oled.setPrintPos(72,60);//設置尺寸以打印熱量indexoled.print(heat_indexC,0); oled.println(“%”);} while(oled。 nextPage()); delay(2000); }

代碼說明

首先,我們包括DHT22傳感器和OLED的庫。 ‘ U8glib ’庫適用于OLED,它使代碼非常簡單。我們將使用“ U8glib ”庫的功能顯示OLED上的數據。

#include #include“DHT.h”接下來,我們定義了連接DHT22傳感器數據引腳的引腳,然后定義了DHT傳感器的類型。市場上還有一些其他類型的DHT傳感器。之后,我們初始化了連接OLED的引腳。

#define DHTPIN 7 #define DHTTYPE DHT22 DHT傳感器(DHTPIN,DHTTYPE); U8GLIB_SH1106_128X64 oled(13 ,11,10,9,8); 在設置功能中,我們給出命令以開始從DHT22傳感器接收值。然后我們設置字體并在OLED上打印“歡迎DIYHACKING”5秒鐘。如果您不喜歡,可以更改字體大小。你可以在這里找到不同的字體大小。

sensor.begin(); oled.firstPage(); do {oled.setFont(u8g_font_fur14);//設置字體大小//在OLED上打印數據oled.drawStr(20,15,“歡迎”); oled.drawStr(40,40,“To”); oled.drawStr(5,60,“DIYHACKING “); } while(oled.nextPage()); delay(5000);} 在循環函數中,我們從DHT22傳感器讀取濕度和溫度值,然后我們使用溫度計算熱量指數濕度。

float h = sensor.readHumidity();//讀取濕度值float t = sensor.readTemperature();//讀取溫度值float fah = sensor.readTemperature(true);//讀取Fahrenheitif中的溫度(isnan(h)|| isnan(t)|| isnan(fah)){//檢查我們是否收到值或notSerial.println(“無法讀取DHT傳感器!”); return; float heat_index = sensor.computeHeatIndex(fah,h);//計算Fahrenheitfloat中的熱指數heat_indexC = sensor.convertFtoC(heat_index);//以攝氏度計算熱指數最后,我們再次設置字體大小并在OLED上打印溫度,濕度和熱指數。您可以按照上面討論的鏈接更改字體大小,也可以在不同的維度設置數據。

oled.firstPage(); do {oled.setFont(u8g_font_fub11);//設置字體大小//在OLBED.drawStr上打印數據(0,15,“Temp:”); oled.drawStr(0,40,“Hum:”); oled.drawStr(0,60,“嗨:“); oled.setPrintPos(72,15);//設置尺寸以打印temperatureoled.print(t,0); oled.println(“C”); oled.setPrintPos(72,40);//設置尺寸以打印humidoled.print(h,0); oled.println(“%”); oled.setPrintPos(72,60);//設置尺寸以打印熱量indexoled.print(heat_indexC,0); oled.println(“%”);} while(oled。 nextPage()); delay(2000); }

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

    關注

    119

    文章

    6254

    瀏覽量

    226633
  • 濕度計
    +關注

    關注

    0

    文章

    17

    瀏覽量

    11104
  • 溫度計
    +關注

    關注

    6

    文章

    406

    瀏覽量

    78801
  • Arduino
    +關注

    關注

    188

    文章

    6485

    瀏覽量

    189755
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    雙金屬溫度計的作用有哪些?

    溫度計
    華泰天科
    發布于 :2025年04月09日 17:04:43

    溫度計使用注意事項 溫度計濕度計的區別

    一、溫度計使用注意事項 溫度計是一種用于測量物體溫度的儀器,廣泛應用于日常生活、工業生產、科學研究等領域。在使用溫度計時,為了確保測量結果的準確性和安全性,需要注意以下事項: 選擇合適
    的頭像 發表于 02-01 17:13 ?725次閱讀

    關于遠傳雙金屬溫度計你真的了解嗎?

    溫度計
    jzyb
    發布于 :2024年12月13日 09:58:38

    雙金屬溫度計優點竟然這么多!

    溫度計
    jzyb
    發布于 :2024年11月27日 10:59:36

    帶遠傳雙金屬溫度計的接線方法竟是這樣!

    溫度計
    jzyb
    發布于 :2024年11月01日 11:32:07

    恭喜你發現這條雙金屬溫度計校驗方法的視頻!

    溫度計
    華泰天科
    發布于 :2024年10月18日 11:00:13

    你知道雙金屬溫度計該怎么測量嗎?

    溫度計
    jzyb
    發布于 :2024年10月08日 11:27:29

    注意!雙金屬溫度計該選擇軸向or徑向?

    溫度計
    華泰天科
    發布于 :2024年09月21日 09:08:44

    探針式電子溫度計由什么組成

    探針式電子溫度計是一種用于測量物體表面或內部溫度的高精度儀器,廣泛應用于工業、醫療、科研等領域。它由多個精密部件組成,以確保測量的準確性和可靠性。 一、探針式電子溫度計的工作原理 探針式電子
    的頭像 發表于 09-07 10:54 ?1241次閱讀

    探針式電子溫度計用來測量什么的溫度

    探針式電子溫度計是一種高精度的溫度測量工具,廣泛應用于各種工業、醫療、科研和日常生活中,以確保溫度的精確控制和監測。這種溫度計通過一個或多個探針來接觸被測物體,從而測量其表面或內部的
    的頭像 發表于 09-07 10:53 ?1959次閱讀

    探針式溫度計使用的正確流程是

    探針式溫度計,也稱為溫度探頭或熱電偶,是一種用于測量溫度的設備。它們廣泛應用于工業、醫療和科學領域。以下是使用探針式溫度計的正確流程的概述: 選擇合適的探針式
    的頭像 發表于 09-07 10:51 ?1696次閱讀

    電阻式溫度計是利用什么原理

    電阻式溫度計是一種利用物體電阻隨溫度變化的特性來測量溫度的儀器。它的原理基于金屬導體的電阻率隨溫度的升高而增加,而半導體材料的電阻率則隨溫度
    的頭像 發表于 08-27 16:28 ?2633次閱讀

    儀表工程師帶你快速了解遠傳雙金屬溫度計

    溫度計
    華泰天科
    發布于 :2024年07月29日 09:49:39

    溫度計的種類、常見故障及原因分析

    溫度計,作為一種能夠準確測量和顯示溫度變化的工具,在科研、工業、醫療、日常生活等多個領域中都發揮著重要作用。隨著科技的發展,溫度計的種類越來越豐富,功能也越來越完善。然而,在使用過程中,溫度計
    的頭像 發表于 05-10 15:36 ?2396次閱讀

    溫度計的技術原理及分類 溫度計的功能特點及應用場景

    溫度計,作為測量溫度的專用儀器,在科研、工業、醫療、日常生活等多個領域發揮著至關重要的作用。隨著科技的不斷進步,溫度計的種類、性能和應用范圍也在不斷擴展。本文將對溫度計的技術原理、分類
    的頭像 發表于 05-10 15:28 ?3369次閱讀
    主站蜘蛛池模板: 夜夜艹天天干 | 亚洲精品成人久久久影院 | 色多多在线观看播放 | 色欧美视频 | 寂寞午夜影院 | 中文字幕 视频一区 | 国产精品爱久久久久久久三级 | 鲁一鲁色一色 | 天堂在线中文字幕 | 亚洲欧美日韩特级毛片 | 欧美爱爱帝国综合社区 | 四虎精品免费国产成人 | 色综合天天色 | 濑亚美莉iptd619在线观看 | 在线免费一区 | 婷婷网五月天天综合天天爱 | 成年人网站黄色 | 久久艹免费视频 | 黄色成人在线 | 五月天六月丁香 | 欧美综合天天夜夜久久 | 欧美日韩在线一本卡 | 我不卡老子影院午夜伦我不卡四虎 | 免费福利片2022潦草影视午夜 | 色综合天天综合中文网 | 又粗又大又爽又色又过瘾视频 | 亚洲国产丝袜精品一区杨幂 | 国产福利vr专区精品 | 婷婷久久综合九色综合九七 | 啪啪在线视频 | 久久成人综合网 | 亚洲伊人精品综合在合线 | 久久三级毛片 | 欧美性野久久久久久久久 | 国产亚洲欧美日韩俺去了 | 曰本三级香港三级人妇99视频 | 在线观看午夜 | 亚洲日本高清 | 日本高清高色 | 色男人网| 日本亚洲黄色 |