上一篇玩儿了一下Arduino入门,这次再进一步,用一下LM35温度传感器来监测当前温度。LM35温度传感器已经在Arduino入门套件里包含了,就是那个有三个脚的小黑块儿。

我们先把这些东西连起来。把传感器查在面包板上,然后按照下面的示意图和Arduino连起来。

左边的脚是电源脚,用红线连接到Arduino的 5V 电源孔上,最右边的是接地,用黑线连接到Arduino的GND孔上,中间的脚是温度数据输出,我们连接到模拟信号口0(A0)上面。下面会写代码从A0读取温度值。如果你的不工作,拿很可能是把左右搞反了,调个方向再重新连一下就行了。

使用 Arduino 和 LM35 温度传感器监测温度-冯金伟博客园

接好了之后就是这样的:

使用 Arduino 和 LM35 温度传感器监测温度-冯金伟博客园

(你可能注意到Arduino上面还有个红色的 CC3000 WIFI shield 扩展插板,这个是我用了连接互联网的,现在先不用,可以忽略她)

 

下来该写点代码了,打开Arduino IDE,输入下面的代码:

float temp = 0;


// the setup routine runs once when you press reset:
void setup() {

Serial.begin(115200);

Serial.println(F("reading temperature begin.
"));

}

// the loop routine runs over and over again forever:
void loop() {
 
  static unsigned long sensortStamp = 0;
  
  if(millis() - sensortStamp > 100){
    sensortStamp = millis();
    // read the LM35 sensor value and convert to the degrees every 100ms.

    int reading = analogRead(0); //注意到我们是把LM35的输出端连接到了A0,所以这里是analogRead(0)
    temp = reading *0.0048828125*100;
    Serial.print(F("Real Time Temp: ")); 
    Serial.println(temp); 
  }
  
}

.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, “Courier New”, courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }

 

写好代码,就可以把代码上传到Arduino中执行了。上传完毕后打开串口编辑器你就应该能看到当前温度已经输出出来了。从Arduino IDE的“工具”菜单里可找到“串口监视器”。主要在串口监视器的右下角可以选择波特率,我们要选择115200波特,因为我们在setup里面设置了: Serial.begin(115200); 否则的话你可能看不到输出。

使用 Arduino 和 LM35 温度传感器监测温度-冯金伟博客园

 

为了验证,你可以找个电吹风给传感器加加温看看是不是温度有变化?:)