前幾天,我們發(fā)了一個用Arduino制作溫度計的例子,這是創(chuàng)新林創(chuàng)客空間的作品,作品將傳感器產(chǎn)生的電壓值轉(zhuǎn)換為舵機的轉(zhuǎn)動角度,再通過舵機上連接的指針來指示當(dāng)前的溫度。
整篇文章介紹詳細(xì),圖文并茂,不但作品好,文章也好。不過最后的程序是代碼的,看起來還是有點費勁,剛好本人這兩天在學(xué)Mixly,那我就用Mixly為這個Arduino溫度計來編一個程序吧。
硬件連接大家參照“如何用Arduino來改造溫度計?”的文章,本人這里只介紹程序部分,具體步驟如下:
1、分析溫度和傳感器反饋電壓的關(guān)系,LM35溫度傳感器輸出的電壓是與溫度呈線性關(guān)系的。0攝氏度時輸出電壓為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、按照公式對模擬輸入值進行一個處理,先乘以125,再除以256。模塊效果如下圖所示:
4、因為這個溫度值還要轉(zhuǎn)換成舵機轉(zhuǎn)動的角度,所以我們在對上面的程序塊做一個映射處理。效果如下圖所示,這里將0到50度范圍內(nèi)的溫度值轉(zhuǎn)換到0到180度的舵機轉(zhuǎn)動角度。
5、將傳感器分類中的舵機模塊拖拽到程序構(gòu)建區(qū),將最終映射的值作為角度傳給舵機模塊。另外將管腳參數(shù)設(shè)定為4,延時參數(shù)設(shè)定為500ms。最終如下圖所示。
6、這樣通過一行模塊我們就完成了這個示例的程序編寫,是不是感覺very easy ,so simple呀。