Arduino 是創(chuàng)客們DIY的必備法寶。借助Arduino 開發(fā)板,創(chuàng)客們通過簡(jiǎn)單的代碼程序就可以實(shí)現(xiàn)一些常用電子設(shè)備的運(yùn)行功能。今天為大家?guī)硪豢預(yù)rduino 溫度計(jì)。這款溫度計(jì)既可以作為日常溫度計(jì)使用,又可以進(jìn)行家用裝飾,特別適合愛畫畫的小創(chuàng)客們動(dòng)手制作。那么,它究竟是如何實(shí)現(xiàn)的呢? 最終作品照 一、材料準(zhǔn)備 Arduino UNO x1 Arduino擴(kuò)展板 x1 Lm35溫度傳感器 x1 9g舵機(jī) x1 導(dǎo)線若干 A4白卡紙 x1 所需材料 二、盒子制作 準(zhǔn)備好工具和卡紙 首先,我們要用尺子和鉛筆把要做的方盒子的平面圖按照下面示意圖,在紙上畫出來,盒子的尺寸大小按照可以放得下一個(gè)Arduino板的尺寸,這里非常考驗(yàn)空間想象力和盒子的構(gòu)造。 方紙盒子展開圖 畫好之后,我們就可以用剪刀把它剪下來,如下圖所示: 剪好后的展開圖 大家可以看到上面有一個(gè)小水滴樣子的指針,這個(gè)非常簡(jiǎn)單,大家在剩下的卡紙料上隨手剪一個(gè)上色就行。 接下來直接按照原來畫的邊線進(jìn)行對(duì)折即可,記得有畫線的一面向里面,這樣可以保證外觀的整潔度。在這里大家記得拿出自己的彩色筆哦!給它設(shè)計(jì)一個(gè)好看的涂裝,刻度劃分可以自己去設(shè)計(jì)。 盒子制作完成 三、Arduino電路搭建及組裝 完成上一步的盒子制作之后,這一步我們要完成的就是整個(gè)作品的核心部分,傳感器連接與電路搭建,連接圖如下所示: 電路連接圖 電路實(shí)物連接 連接好電路之后,把舵機(jī)裝在盒子里面,安裝前要在盒子前面開一個(gè)小孔,然后用熱熔膠把舵機(jī)固定在紙盒上,如圖所示: 安裝舵機(jī) 小水滴指針是如何安裝到舵機(jī)上的呢?這里就要用到舵機(jī)自帶的舵盤啦!直接用雙面膠就把指針固定在舵盤上了,請(qǐng)看下圖: 多盤與指針安裝 安裝舵機(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ī),所以這里會(huì)用到一個(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)的角度 } |