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