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

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

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

3天內不再提示

如何構建與Arduino板兼容的溫度傳感器

454398 ? 來源:網絡整理 ? 作者:佚名 ? 2019-11-06 10:34 ? 次閱讀

步驟1:

要構建傳感器,我創建了一個小的PCB。為此,我使用了墨粉轉移方法。如何做到這一點是許多指導對象的目標。我焊接了芯片,電容和引腳頭。在傳感器的第五個針腳上,我放了一根從電纜絕緣層中取出的小塑料管。它的目的是將傳感器引導到正確的位置并阻止其插入錯誤的母頭孔中。在圖片上可以看到它必須放置的正確方式。傳感器按照使用以下Arduino引腳的方式投影:“5V”,“GNG”,“GND”,_,_,“A0”。這意味著-模擬輸出電壓值由ADC0采樣。

步驟2:硬件

對于基于DIY溫度傳感器的簡單溫度計項目,我使用了Arduino MEGA板(也是我的DYI項目)。還需要LCD防護罩。就我而言,盾牌也是自制的。使用的LCD是帶有ST9720芯片的圖形128x64顯示器。我在ebay上買了它。 LCD屏蔽板的PCB也來自ebay。我已經在LCD上焊接了母排針,并在原型屏蔽板上焊接了排針-現在,我可以簡單地將LCD模塊插入到原型板上,并且可以正常工作,并且不使用任何電纜。如果您沒有任何LCD防護罩,那么當然可以使用面包屑的標準方法。對于該項目,也可以使用任何字符LCD(例如16x2),但我沒有LCD,但我經歷了更復雜的方式:-)。

步驟3:代碼

現在是時候編寫代碼了。我試圖使它盡可能簡短。因為我使用GLCD,所以我決定將實現基于u8glib庫。如果要使用字符LCD,則應使用標準的LCD Arduino庫,并且必須根據它們來調整代碼。

這是代碼:

/*

溫度計基于Maxims DS600u +芯片

*/

#include“U8glib.h”

#include

U8GLIB_ST7920_128X64_4X u8g(8,9,10,11) ,4,5,6,7,18,17,16);//8Bit Com:D0..D7:8,9,10,11,4,5,6,7 en = 18,di = 17,rw = 16

void u8g_prepare(void){

u8g。 setFont(u8g_font_6x10);

u8g.setFontRefHeightExtendedText();

u8g.setDefaultForegroundColor();

u8g.setFontPosTop();

}

void setup(void){

//翻轉屏幕,如果需要的話

//u8g.setRot180();

//指定默認顏色值

if(u8g.getMode()== U8G_MODE_R3G3B2)

u8g.setColorIndex(255);//white

else if(u8g.getMode()== U8G_MODE_GRAY2BIT)

u8g.setColorIndex(3);//最大強度

否則if(u8g.getMode()== U8G_MODE_BW)

u8g.setColorIndex(1);//像素在

//u8g.setContrast(0x30);

pinMode(13,OUTPUT);

digitalWrite(13,HIGH);

u8g_prepare();

}

void draw(void){

浮動供應= 4.91 ;//必須在此處輸入arduino板的測量電源電壓

//讀取傳感器輸出電壓

int讀數= AnalogRead(0);

float v_out =(讀取*電源)/ 1.024 ;

//在液晶顯示屏上顯示溫度

float temperature =(v_out-509)/6.45;

char temp [5];

dtostrf(temperature,5,1 ,溫度);結果,u8g.drawStr(4,24, “溫度:”);結果,u8g.drawStr(76,24,溫度);結果,u8g.drawStr(108,24,“的 260 C“);

}

void loop(void){

//圖片循環

u8g.firstPage();

do {

draw();

} while(u8g.nextPage());

//延遲一段時間后重建圖片

延遲(1000);

有一些棘手的問題代碼中的點。

我把它們放在粗體中。

1)因為內部Atmega ADC使用電源電壓作為參考來測量模擬電壓電位,這不是比率指標電源電壓,但由傳感器芯片固定,如果電源電壓變化,可能會發生錯誤。粗略的計算表明,50mV的電源變化會引起1度的溫度誤差。提高精度的解決方案是按應使用的方式測量Arduino板上的確切電源電壓-如果您打算使用USB提供的Arduino溫度計,則必須測量這種情況下的板子電源電壓。如果您打算將溫度計用作AC/DC適配器提供的獨立設備 - 那么,在這種情況下應測量電路板+屏蔽的電源電壓。在我的情況下,設備由USB供電,我在“5V”Arduino引腳上測得4.91V。所以我把這個值放在草圖中。

2)很高興在LCD上你可以看到度數“°”符號。這里的問題是不同的顯示器具有不同的ASCII表,并且難以說出對應于該符號的八進制數究竟是什么。有兩種可能的解決方案:

A )如果有任何ASCII表,則讀取LCD模塊/驅動程序的數據表

B )編寫草圖以顯示寫在LCD ROM中的整個ASCII表,查看符號出現的位置并計算/查看與之對應的十進制數。進一步將此值轉換為八進制數并放入草圖。

我使用了第二種方法。..。..并且以最簡單的方式:-) - 庫中有“示例”u8glib。程序“ GraphicsTest”將打印存儲在驅動器芯片ROM中的兩個ASCII表。在那里,我發現所需的符號具有260個八進制等效數字。

想要在Arduino Due上實現此項目的家伙,我建議在代碼中也插入以下行:

analogReadResolution(12);

在設置過程中,然后在1.024上除以4.096除。

步驟4:

整個設備組裝,編程并運行:

PS該項目繼續。..

步驟5:其他工作

在幾周前,我決定在此防護罩中實現其他功能。這些功能必須是:LCD上顯示的當前時間和日期。為此,我從ebay購買了RTC模塊。 (如圖所示)。該模塊不是很精確,必須不時調整。另一個解決方案是嘗試用更好的石英晶體進行更換。

步驟6:進行屏蔽修改

能夠插入RTC我已通過以下方式修改了屏蔽:我焊接了4針母接頭,并將其連接到正確的信號

SCL RTC引腳與屏蔽/引腳21相連。 arduino

分別將SDA與#20引腳相連

別忘了連接GND和Vcc引腳。

步驟7:代碼。..

以前的代碼已修改為:

/*

基于Maxims DS600u +芯片+ RTC的溫度計

*/

#include“ U8glib.h”

#include

#include

# include

int rtc [7];

float supply = 4.91;//這里必須輸入arduino板的測量電源電壓

//讀取傳感器輸出電壓

char hours [2];

char minutes [2];

char seconds [2] ;

char天[2];

char months [2];

char years [4];

U8GLIB_ST7920_128X64_4X u8g(8,9,10,11,4,5,6,7, 18、17、16);//8Bit Com:D0..D7:8,9,10,11,4,5,6,7 en = 18,di = 17,rw = 16

void u8g_prepare(void){

u8g。 setFont(u8g_font_6x10);

u8g.setFontRefHeightExtendedText();

u8g.setDefaultForegroundColor();

u8g.setFontPosTop();

}

void setup(void){

序列號。 begin(9600);

//翻轉屏幕,如果需要的話

//u8g.setRot180();

//指定默認顏色值

if(u8g.getMode()== U8G_MODE_R3G3B2)

u8g.setColorIndex(255);//white

else if(u8g.getMode()== U8G_MODE_GRAY2BIT)

u8g.setColorIndex(3);//最大強度

否則if(u8g.getMode()== U8G_MODE_BW)

u8g.setColorIndex(1);//像素在

//u8g.setContrast(0x30);

pinMode(13,OUTPUT);

digitalWrite(13,HIGH);

u8g_prepare();

}

void draw(void){ u8g.drawFrame(0,0,127,63);

u8g.drawFrame(13,7,103,21);

u8g.drawBox(15,9,99,17);

RTC.get(rtc,true); u8g.setColorIndex(0);

dtostrf(rtc [2],2,0,hours);

if(rtc [2] 《10 )結果{結果u8g.drawStr(26,14, “0”);結果,},點擊u8g.drawStr(26,14,小時);結果,dtostrf(RTC [1],2 ,0,minutes);

u8g.drawStr(45,14,“:”);

if(rtc [1] 《10)

{

u8g.drawStr(58,14,“ 0“ );結果,},點擊u8g.drawStr(58,14,分鐘);結果,dtostrf(RTC [0],2,0,秒);結果,u8g.drawStr(78,14, “:”);

if(rtc [0] 《10)

{

u8g.drawStr(91,14,“ 0”);

}

u8g.drawStr(91, 14秒);

u8g.setColorIndex(1);

switch(rtc [3])

{

情況1:u8g.drawStr(4,33,“ Sunday”);休息;

案例2:u8g.drawStr(4,33,“星期一”);休息;

案例3:u8g.drawStr(4,33,“星期二”);休息;

案例4:u8g.drawStr(4,33,“星期三”);休息;

案例5:u8g.drawStr(4,33,“星期四”);休息;

案例6:u8g.drawStr(4,33,“星期五”);休息;

案例7:u8g.drawStr(4,33,“星期六”); break;

}

dtostrf(rtc [4],2,0,days);

if(rtc [4] 《10)

{ u8g.drawStr(64,33, “0”);結果,},點擊u8g.drawStr(64,33,天);結果,u8g.drawStr(75,33, “”);結果,dtostrf(RTC [5],2 ,0,months);

if(rtc [5] 《10)

{

u8g.drawStr(80,33,“ 0”);

}

u8g.drawStr(80 ,33,月);結果,u8g.drawStr(90,33, “”);結果,dtostrf(RTC [6],4,0,歲);結果,u8g.drawStr(96,33,年);

int讀數= AnalogRead(0);

浮點v_out =(讀數*供給)/1.024;

//在LCD上顯示溫度

浮點溫度=(v_out-509)/6.45;

char temp [5]; dtostrf(temperature,5,1,temp);

u8g.drawStr(4,48,“ Temperature:”);

u8g.drawStr( 76,48,temp);

u8g.drawStr(108,48,“ 260C”);

void loop(void){

//圖片循環

u8g.firstPage();

做{

draw();

} while(u8g.nextPage());

//延遲一段時間后重建圖片

delay( 1000);

}

如您所見,此代碼需要庫DS1307。我已附上該庫,以幫助您解決由于可用的DS1307庫不同而引起的混亂。

責任編輯:wv

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

    關注

    48

    文章

    2969

    瀏覽量

    156272
  • Arduino
    +關注

    關注

    188

    文章

    6477

    瀏覽量

    187529
收藏 人收藏

    評論

    相關推薦

    溫度傳感器常用規格參數

    溫度傳感器是一種用于測量和記錄溫度的設備,其廣泛應用于各種行業和領域,如工業、醫療、消費電子等。為了滿足不同應用的需求,溫度傳感器具有多種規
    的頭像 發表于 01-03 18:25 ?169次閱讀

    如何校準溫度傳感器

    校準溫度傳感器是確保其測量準確性的重要步驟。以下是一些常用的溫度傳感器校準方法: 一、比較法校準 原理 : 將待校準的溫度
    的頭像 發表于 11-22 09:36 ?869次閱讀

    溫度傳感器與濕度傳感器的區別

    在環境監測和控制領域,溫度和濕度是兩個非常重要的參數。它們不僅影響著人類的舒適度,還對工業生產、農業生產、科學研究等多個領域有著深遠的影響。為了準確監測和控制這些參數,我們通常會使用專門的傳感器設備
    的頭像 發表于 11-22 09:31 ?388次閱讀

    工業溫度傳感器的優缺點 溫度傳感器在智能家居中的應用

    工業溫度傳感器的優缺點 優點 高精度 :工業溫度傳感器通常具有較高的精度,能夠提供準確的溫度讀數,這對于需要精確控制
    的頭像 發表于 11-22 09:30 ?371次閱讀

    基于電阻的溫度傳感器原理

    基于電阻的溫度傳感器,即電阻式溫度傳感器(RTD,Resistance Temperature Detector),其原理是利用導體或半導體材料的電阻值隨
    的頭像 發表于 10-31 09:36 ?470次閱讀

    dht22溫度傳感器的原理及應用

    DHT22是一款廣泛使用的數字溫濕度傳感器,它結合了溫度和濕度的測量功能,并且以數字信號的形式輸出,這使得它在各種環境監測和控制系統中非常受歡迎。 DHT22傳感器原理 1. 工作原理 DHT22
    的頭像 發表于 09-03 16:06 ?1689次閱讀

    溫度傳感器怎么測好壞_溫度傳感器的測量方法是什么

    溫度傳感器是測量溫度的儀器,廣泛應用于工業、科研、醫療等領域。本文將詳細介紹溫度傳感器的測量方法和判斷好壞的標準。 一、
    的頭像 發表于 06-19 14:54 ?3788次閱讀

    溫度探頭和溫度傳感器的區別是什么

    溫度探頭和溫度傳感器是兩種不同的設備,它們在測量溫度方面有著各自的特點和應用場景。本文將詳細介紹溫度探頭和
    的頭像 發表于 06-19 14:45 ?2537次閱讀

    非接觸溫度傳感器如何測量內部溫度

    非接觸溫度傳感器,又稱為紅外溫度傳感器,是一種通過測量物體表面發射的紅外輻射來確定物體溫度傳感器
    的頭像 發表于 06-19 14:43 ?1159次閱讀

    溫度傳感器種類有哪些,原理是什么

    溫度傳感器是一種將溫度變化轉換為電信號的裝置,廣泛應用于工業、科研、醫療等領域。本文將詳細介紹溫度傳感器的種類、原理及其應用。 一、
    的頭像 發表于 06-19 11:02 ?1280次閱讀

    水位溫度傳感器的作用和原理

    水位溫度傳感器是一種廣泛應用于水處理、環境監測、農業灌溉、工業控制等領域的傳感器。它能夠實時監測水體的水位和溫度,為相關領域提供重要的數據支持。本文將詳細介紹水位
    的頭像 發表于 06-19 10:34 ?1286次閱讀

    溫度傳感器的原理及應用

    溫度傳感器是一種將溫度變化轉換為電信號的傳感器,廣泛應用于工業、農業、醫療、氣象等領域。本文將詳細介紹溫度
    的頭像 發表于 06-19 10:27 ?2916次閱讀

    【電路百科】溫度傳感器pcb

    溫度傳感器PCB指的是集成了溫度傳感器的印刷電路。這種 PCB 可能包含溫度
    的頭像 發表于 05-07 17:36 ?932次閱讀

    溫度傳感器的類型與設計技巧

    作者:DigiKey Editor 溫度傳感器是一種用來測量環境或物體溫度的器件,它們在各種應用中都扮演著重要的角色,從家用電器到工業控制系統都有廣泛應用,像是熱水、干衣機、暖通空調
    的頭像 發表于 05-05 10:29 ?3053次閱讀
    <b class='flag-5'>溫度</b><b class='flag-5'>傳感器</b>的類型與設計技巧

    光纖溫度傳感器的原理 光纖溫度傳感器的應用

    光纖溫度傳感器的原理 光纖溫度傳感器的應用? 光纖溫度傳感器是一種利用光纖的熱學特性實現
    的頭像 發表于 03-07 15:55 ?3143次閱讀
    主站蜘蛛池模板: 日日噜噜噜夜夜爽爽狠狠| 亚在线| 酒色影院| zsvdy午夜片| 91成人在线免费视频| 6080yy午夜不卡一二三区| 热久久久久| 国产色妞妞在线视频免费播放| 日本骚视频| 久久久噜噜噜久久| 国产精品嫩草影院一二三区入口 | 2017天天干| 亚洲一级毛片中文字幕| 久久久久久免费播放一级毛片| 最新久久免费视频| 色网址在线| 久久国产精品视频| 一级毛片免费不卡在线视频| 日本免费人成黄页网观看视频 | 免费观看片| 黄色大片在线免费观看| 韩国韩宝贝2020vip福利视频| 亚洲高清美女一区二区三区| 日韩一区二区三区在线| 九色在线| 天天综合在线视频| 琪琪午夜伦埋大全影院| 男人你懂的网站| 国产黄色三级网站| 亚洲一区二区免费| 国产福利vr专区精品| 五月天婷婷在线视频| 欧美xxxxxbbbb| 91热成人精品国产免费| 狼人 成人 综合 亚洲| 88xx成人永久免费观看| 亚洲高清色图| 激情文学亚洲色图| 深夜视频在线| 午夜神马福利影院| 高清一级毛片一本到免费观看|