【小组成员】
五组:王韵淇 冯怡 吴瑶 褚冉 王澍 宋格格
一、实验目的
本次实验旨在通过Arduino平台,利用模拟温度传感器(如LM35)进行温度数据的采集与处理,并通过LED灯的亮灭状态来反映温度传感器的输出状态。通过本实验,学生可以掌握Arduino编程的基本方法,了解模拟信号的读取与处理,以及如何通过串口监视器进行数据的实时监控。
二、实验器材
- Arduino Uno开发板
- 模拟温度传感器(如LM35)
- LED灯
- 面包板及连接线
- 电脑及Arduino IDE软件
三、实验原理
模拟温度传感器(如LM35)能够将温度变化转换为模拟电压信号,Arduino通过其模拟输入引脚(A0)读取该电压值,并将其转换为数字值(0-1023)。通过编程,我们可以设定温度传感器的某一引脚(如D0)作为状态指示,当该引脚为高电平时,表示温度达到或超过设定值,此时控制LED灯亮起;反之,LED灯熄灭。同时,通过串口监视器可以实时查看温度传感器的模拟值和状态引脚的电平状态。
四、实验步骤
1. 硬件连接:将模拟温度传感器的VCC引脚连接到Arduino的5V电源,GND引脚连接到Arduino的GND,模拟输出引脚(Vout)连接到Arduino的A0引脚。将LED灯的正极通过限流电阻连接到Arduino的数字引脚13,负极连接到GND。
2. 编写程序:在Arduino IDE中编写程序,定义模拟温度传感器的模拟输入引脚(A0)和状态引脚(D0),以及LED灯的控制引脚(13)。在`setup()`函数中初始化LED引脚为输出模式,模拟温度传感器的D0引脚为输入模式,并开启串口通信。在`loop()`函数中,读取模拟温度传感器的模拟值和状态引脚的电平状态,通过串口监视器输出。根据状态引脚的电平状态控制LED灯的亮灭。
3. 上传程序:将编写好的程序上传到Arduino开发板。
4. 观察结果:通过串口监视器观察模拟温度传感器的模拟值和状态引脚的电平状态,同时观察LED灯的亮灭状态。
五、实验代码
```cpp
// Analog Temperature Sensor
const int digitalPin = 7; // Analog Temperature Sensor pin D0 to pin7
int analogPin = A0; // Analog Temperature Sensor pin A0 to pin A0
const int ledPin = 13; // pin is built-in LED light
// variables will change:
boolean Dstate = 0; // variable for reading status of D0
int Astate = 0; // variable for reading status of A0
void setup()
{
pinMode(ledPin, OUTPUT); // initialize the LED pin as an output:
pinMode(digitalPin, INPUT); // initialize Analog Temperature Sensor D0 pin as an input
Serial.begin(9600); // initialize serial communications at 9600 bps
}
void loop()
{
Astate = analogRead(analogPin); // read Analog Temperature Sensor A0 value (set point)
Dstate = digitalRead(digitalPin); // read state of Analog Temperature Sensor D0
Serial.print("D0: ");
Serial.println(Dstate); // print the value of D0
Serial.print("A0: ");
Serial.println(Astate); // print the value of A0
// check if the pushbutton is pressed.
// if it is, the buttonState is HIGH:
if (Dstate == HIGH) // check if Analog Temperature Sensor D0 is HIGH
{
// turn LED :
digitalWrite(ledPin, LOW);
}
else
{
// turn LED :
digitalWrite(ledPin, HIGH);
}
delay(1000); // controls speed of Analog Temperature Sensor and Serial Monitor display rate
}
```
六、实验结果与分析
通过串口监视器可以观察到模拟温度传感器的模拟值和状态引脚的电平状态,当温度达到或超过设定值时,状态引脚为高电平,LED灯亮起;反之,LED灯熄灭。实验结果表明,通过Arduino可以实现对模拟温度传感器的温度数据采集与处理,并通过LED灯的亮灭状态直观地反映温度传感器的输出状态。
七、实验总结
通过本次实验,我们不仅掌握了Arduino编程的基本方法,还了解了模拟信号的读取与处理,以及如何通过串口监视器进行数据的实时监控。同时,通过实验,我们还学会了如何解决实验过程中遇到的问题,培养了动手能力和解决问题的能力。此外,通过实验,我们还体会到了团队合作的重要性,通过与同学的合作,我们能够更快地解决问题,顺利完成实验