詳細的電路圖可以參考:
http://pic.pimg.tw/o4043380/1408703066-754388975_n.png?v=1408703068
程式碼如下:
#define LM35 A1 // 定義LM35 為模擬引腳A1
int ledb =5; // 定義LED藍 腳位5
int ledg =4; // 定義LED綠 腳位4
int ledr =3; // 定義LED紅 腳位3
int val =0; // 將LM350值設為0
float temp = 0; // 將溫度浮動值設為0
void setup(){
pinMode(ledb,OUTPUT); // 定義LED為輸出腳
pinMode(ledg,OUTPUT); // 定義LED為輸出腳
pinMode(ledr,OUTPUT); // 定義LED為輸出腳
Serial.begin(9600); // 設定監控視窗傳輸速度
}
void loop(){
val = analogRead(LM35); // 感值來源為LM35所測的值
temp = (125*val)>>8; //溫度計算公式 125/2^8 = 125/256=0.4882812
Serial.print("Tep="); // 監控視窗句子前添加'Tep'
Serial.print(temp); // 在監控視窗裡顯示"temp"的值
Serial.println(" C"); // 在監視窗家裡 加上單位
delay(150); // 延遲0.15秒
if (temp<20) // 假設溫度小於25 則執行下列式
{
digitalWrite(ledb, 1);
digitalWrite(ledr, 0);
digitalWrite(ledg, 0);
}
else if (temp<25) // 則假設溫度小於35 則執行下列式
{
digitalWrite(ledg, 1);
digitalWrite(ledb, 0);
digitalWrite(ledr, 0);
}
else if(temp>25) // 則假設溫度大於35 則執行下列式
{
digitalWrite(ledr, 1);
digitalWrite(ledg, 0);
digitalWrite(ledb, 0);
}
}
int ledb =5; // 定義LED藍 腳位5
int ledg =4; // 定義LED綠 腳位4
int ledr =3; // 定義LED紅 腳位3
int val =0; // 將LM350值設為0
float temp = 0; // 將溫度浮動值設為0
void setup(){
pinMode(ledb,OUTPUT); // 定義LED為輸出腳
pinMode(ledg,OUTPUT); // 定義LED為輸出腳
pinMode(ledr,OUTPUT); // 定義LED為輸出腳
Serial.begin(9600); // 設定監控視窗傳輸速度
}
void loop(){
val = analogRead(LM35); // 感值來源為LM35所測的值
temp = (125*val)>>8; //溫度計算公式 125/2^8 = 125/256=0.4882812
Serial.print("Tep="); // 監控視窗句子前添加'Tep'
Serial.print(temp); // 在監控視窗裡顯示"temp"的值
Serial.println(" C"); // 在監視窗家裡 加上單位
delay(150); // 延遲0.15秒
if (temp<20) // 假設溫度小於25 則執行下列式
{
digitalWrite(ledb, 1);
digitalWrite(ledr, 0);
digitalWrite(ledg, 0);
}
else if (temp<25) // 則假設溫度小於35 則執行下列式
{
digitalWrite(ledg, 1);
digitalWrite(ledb, 0);
digitalWrite(ledr, 0);
}
else if(temp>25) // 則假設溫度大於35 則執行下列式
{
digitalWrite(ledr, 1);
digitalWrite(ledg, 0);
digitalWrite(ledb, 0);
}
}
以下是測試溫度感測器的影片