2015年5月11日 星期一

課程16-溫度實驗

目的:

使用Arduino 邏輯讀取溫度模組的數值,知道目前的溫度。


電子元件:

麵包板 x 1
Arduino 主板 x 1
溫度模組 x 1

下載:

OneWire可到此下載,我下載的是版本2.1,解壓縮後得到目錄OneWire,放到Arduino的sketchbook目錄下的libraries目錄裡。
DallasTemperature可到此下載,我下載的是版本3.7.2 Beta,解壓縮後得到目錄dallas-temperature-control,請改名為DallasTemperature,放到Arduino的sketchbook目錄下的libraries目錄裡。

電路圖:


程式碼:


  1. #include <OneWire.h>
  2. #include <DallasTemperature.h>
  3. const int Temperature=2;
  4. OneWire oneWire(Temperature );
  5. DallasTemperature sensors(&oneWire);
  6. void setup(void){
  7.  Serial.begin(9600);
  8.  Serial.println("Temperature Sensor");
  9.  sensors.begin();
  10. }
  11. void loop(void){
  12.  sensors.requestTemperatures();
  13.  Serial.println(sensors.getTempCByIndex(0));
  14.  delay(1000);
  15. }

程式說明:

第一行 匯入OneWire.h函式庫。
第二行 匯DallasTemperature.h函式庫。
第三行 宣告溫度模組腳位為Pin2。
第四行 宣告一個溫度感測oneWire。
第五行 宣告一個計算溫度的程式sensors。
第六行 第十行 初始功能。
第七行 開啟Serial 功能,並且設定頻率9600給Serial。
第八行 在Serial 列印出"Temperature Sensor"文字。
第九行 計算溫度的程式sensors開啟。
第十一行~第十五行 為主程式
第十二行 要求感測器進行溫度轉換。
第十三行 把溫度感測器讀到的數值傳給溫度轉換程式,回傳讀到的溫度並在Serial上面列印出來。
第十四行 延遲1秒。

實驗影片:




參考資料:
Arduino練習:溫度感測DS18B20

沒有留言:

張貼留言

Arduino、Raspberry Pi、System Integration,如有問題或建議,可以互相討論喔~