你的位置:首頁 > 測試測量 > 正文

創(chuàng)客朋友的親子時(shí)間,和寶貝一起用Arduino改造溫度計(jì)

發(fā)布時(shí)間:2016-03-30 責(zé)任編輯:wenwei

【導(dǎo)讀】Arduino 是創(chuàng)客們DIY的必備法寶。借助Arduino 開發(fā)板,創(chuàng)客們通過簡單的代碼程序就可以實(shí)現(xiàn)一些常用電子設(shè)備的運(yùn)行功能。今天為大家?guī)硪豢預(yù)rduino 溫度計(jì)。這款溫度計(jì)既可以作為日常溫度計(jì)使用,又可以進(jìn)行家用裝飾,特別適合愛畫畫的小創(chuàng)客們動(dòng)手制作。那么,它究竟是如何實(shí)現(xiàn)的呢?
 
親子時(shí)刻,和寶貝一起用Arduino 改造溫度計(jì)
最終作品照
 
一、材料準(zhǔn)備
 
Arduino UNO x1
 
Arduino擴(kuò)展板 x1
 
Lm35溫度傳感器 x1
 
9g舵機(jī) x1
 
導(dǎo)線若干
 
A4白卡紙 x1
 
親子時(shí)刻,和寶貝一起用Arduino 改造溫度計(jì)
所需材料
 
二、盒子制作
 
準(zhǔn)備好工具和卡紙
 
首先,我們要用尺子和鉛筆把要做的方盒子的平面圖按照下面示意圖,在紙上畫出來,盒子的尺寸大小按照可以放得下一個(gè)Arduino板的尺寸,這里非??简?yàn)空間想象力和盒子的構(gòu)造。
 
親子時(shí)刻,和寶貝一起用Arduino 改造溫度計(jì)
方紙盒子展開圖
 
畫好之后,我們就可以用剪刀把它剪下來,如下圖所示:
 
親子時(shí)刻,和寶貝一起用Arduino 改造溫度計(jì)
剪好后的展開圖
 
大家可以看到上面有一個(gè)小水滴樣子的指針,這個(gè)非常簡單,大家在剩下的卡紙料上隨手剪一個(gè)上色就行。
 
接下來直接按照原來畫的邊線進(jìn)行對折即可,記得有畫線的一面向里面,這樣可以保證外觀的整潔度。在這里大家記得拿出自己的彩色筆哦!給它設(shè)計(jì)一個(gè)好看的涂裝,刻度劃分可以自己去設(shè)計(jì)。
 
親子時(shí)刻,和寶貝一起用Arduino 改造溫度計(jì)
盒子制作完成
 
三、Arduino電路搭建及組裝
 
完成上一步的盒子制作之后,這一步我們要完成的就是整個(gè)作品的核心部分,傳感器連接與電路搭建,連接圖如下所示:
 
親子時(shí)刻,和寶貝一起用Arduino 改造溫度計(jì)
電路連接圖
 
親子時(shí)刻,和寶貝一起用Arduino 改造溫度計(jì)
電路實(shí)物連接
 
連接好電路之后,把舵機(jī)裝在盒子里面,安裝前要在盒子前面開一個(gè)小孔,然后用熱熔膠把舵機(jī)固定在紙盒上,如圖所示:
 
親子時(shí)刻,和寶貝一起用Arduino 改造溫度計(jì)
安裝舵機(jī)
 
小水滴指針是如何安裝到舵機(jī)上的呢?這里就要用到舵機(jī)自帶的舵盤啦!直接用雙面膠就把指針固定在舵盤上了,請看下圖:
 
親子時(shí)刻,和寶貝一起用Arduino 改造溫度計(jì)
多盤與指針安裝
 
親子時(shí)刻,和寶貝一起用Arduino 改造溫度計(jì)
安裝舵機(jī)、舵盤、指針到紙盒
 
在這里就完成了硬件的所有制作,接下來就是寫驅(qū)動(dòng)程序。
 
四、程序編寫
 
Arduino驅(qū)動(dòng)程序編寫,我們還是用到Arduino IDE來寫這個(gè)程序,下面就是這個(gè)美美的Arduino溫度計(jì)的驅(qū)動(dòng)程序,就讓我們一起DIY來讓這個(gè)寒冷的冬天變更即視。下面這個(gè)代碼大概的運(yùn)行的原理是先通過LM35溫度傳感器采集到模擬值,將模擬值通過變換公式轉(zhuǎn)換出溫度值,因?yàn)楸肀P用的是舵機(jī),所以這里會用到一個(gè)映射函數(shù)map,將溫度值映射到相應(yīng)的角度值,從而控制指針旋轉(zhuǎn)到相應(yīng)的位置。代碼如下:
 
#include
 
#include
 
Servo myservo;
 
int a,val; //定義變量
 
float temperature; //定義浮點(diǎn)型變量,用于存放轉(zhuǎn)換后的溫度
 
int B=3975; //熱敏電阻的基礎(chǔ)參考值B
 
float resistance;
 
void setup()
 
{
 
myservo.attach(4); //定義舵機(jī)驅(qū)動(dòng)端口
 
}
 
void loop()
 
{
 
a=analogRead(0); //讀取溫度傳感器的模擬值
 
resistance=(float)(1023-a)*10000/a; //計(jì)算出傳感器的電阻值
 
temperature=1/(log(resistance/10000)/B+1/298.15)-273.15;//將電阻值轉(zhuǎn)換成溫度值
 
delay(500); //延時(shí)500毫秒
 
val=map(temperature,0,50,0,180); //將轉(zhuǎn)換的溫度值映射到舵機(jī)的角度值
 
myservo.write(val); //舵機(jī)轉(zhuǎn)到相應(yīng)的角度
 
}



【推薦閱讀】

零基礎(chǔ)小白也可以做的愛心彩燈,送給心愛的Ta
Foream便利貼相機(jī)——隨心記錄生活點(diǎn)點(diǎn)滴滴
搞怪“美人魚”盡享靈克藍(lán)牙音箱的天籟之音!
生命不停運(yùn)動(dòng)不息,新我握力器—將運(yùn)動(dòng)游戲化
“雙享號”讓 iPhone 實(shí)現(xiàn)雙卡雙待,So easy!



 
要采購盒子么,點(diǎn)這里了解一下價(jià)格!
特別推薦
技術(shù)文章更多>>
技術(shù)白皮書下載更多>>
熱門搜索
?

關(guān)閉

?

關(guān)閉