0
本文作者: 少年創(chuàng)學(xué)院 | 2016-03-11 14:22 |
前幾天,我們發(fā)了一個(gè)用Arduino制作溫度計(jì)的例子,這是創(chuàng)新林創(chuàng)客空間的作品,作品將傳感器產(chǎn)生的電壓值轉(zhuǎn)換為舵機(jī)的轉(zhuǎn)動(dòng)角度,再通過舵機(jī)上連接的指針來指示當(dāng)前的溫度。
整篇文章介紹詳細(xì),圖文并茂,不但作品好,文章也好。不過最后的程序是代碼的,看起來還是有點(diǎn)費(fèi)勁,剛好本人這兩天在學(xué)Mixly,那我就用Mixly為這個(gè)Arduino溫度計(jì)來編一個(gè)程序吧。
硬件連接大家參照“如何用Arduino來改造溫度計(jì)?”的文章,本人這里只介紹程序部分,具體步驟如下:
1、分析溫度和傳感器反饋電壓的關(guān)系,LM35溫度傳感器輸出的電壓是與溫度呈線性關(guān)系的。0攝氏度時(shí)輸出電壓為0V,每升高1攝氏度,輸出量增加10mV【1】。再由于A/D轉(zhuǎn)換的分辨率是1024,所以我們需要先將采集到的模擬值轉(zhuǎn)換為電壓值,假設(shè)獲取到的值為Value,則Value與1024的比值應(yīng)等于電壓值與5V的比值,即
2、將輸入/輸出分類中的模擬輸入模塊拖拽到程序構(gòu)建區(qū)。這里參數(shù)A0不變。
3、按照公式對模擬輸入值進(jìn)行一個(gè)處理,先乘以125,再除以256。模塊效果如下圖所示:
4、因?yàn)檫@個(gè)溫度值還要轉(zhuǎn)換成舵機(jī)轉(zhuǎn)動(dòng)的角度,所以我們在對上面的程序塊做一個(gè)映射處理。效果如下圖所示,這里將0到50度范圍內(nèi)的溫度值轉(zhuǎn)換到0到180度的舵機(jī)轉(zhuǎn)動(dòng)角度。
5、將傳感器分類中的舵機(jī)模塊拖拽到程序構(gòu)建區(qū),將最終映射的值作為角度傳給舵機(jī)模塊。另外將管腳參數(shù)設(shè)定為4,延時(shí)參數(shù)設(shè)定為500ms。最終如下圖所示。
6、這樣通過一行模塊我們就完成了這個(gè)示例的程序編寫,是不是感覺very easy ,so simple呀。
參考文獻(xiàn)
[1] 程晨,Arduino電子設(shè)計(jì)實(shí)戰(zhàn)指南:零基礎(chǔ)篇,機(jī)械工業(yè)出版社,2013年4月
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。