PAGE1
PAGE1
项目实战:环境监测系统
在这一部分,我们将通过一个具体的项目实战来学习如何使用ArduinoNano33IoT(基于SAMD21)构建一个环境监测系统。这个项目将涵盖传感器的连接、数据采集、数据处理、无线传输和云平台数据展示等各个环节。我们将使用常见的环境传感器,如温度传感器、湿度传感器、空气质量传感器等,并通过WiFi将数据上传到云端。
1.项目概述
1.1项目目标
通过本项目,你将学会如何:
连接和使用常见的环境传感器。
采集和处理传感器数据。
使用WiFi功能将数据上传到云平台。
在云平台上展示和分析数据。
1.2硬件需求
ArduinoNano33IoT
温度传感器(如DHT11或DHT22)
湿度传感器(如DHT11或DHT22)
空气质量传感器(如MQ-135)
杜邦线若干
电脑
USB数据线
1.3软件需求
ArduinoIDE
DHT传感器库(DHTsensorlibrary)
WiFiNINA库(WiFiNINAlibrary)
MQTT协议库(PubSubClientlibrary)
2.环境传感器连接
2.1DHT传感器连接
DHT11和DHT22是常见的温湿度传感器。我们将以DHT22为例进行连接和编程。
2.1.1硬件连接
ArduinoNano33IoT|DHT22|
|———————|——-|
3V3|VCC|
GND|GND|
D2|DATA|
2.1.2库安装
在ArduinoIDE中安装DHT传感器库:
打开ArduinoIDE。
点击“工具”-“管理库”。
在搜索框中输入“DHTsensorlibrary”。
找到AdafruitDHT传感器库,点击安装。
2.2空气质量传感器连接
MQ-135是一种常见的空气质量传感器,可以检测多种气体(如CO、NH3、NOx等)。
2.2.1硬件连接
ArduinoNano33IoT|MQ-135|
|———————|——–|
3V3|VCC|
GND|GND|
A1|AOUT|
2.2.2库安装
在ArduinoIDE中安装MQ-135传感器库:
打开ArduinoIDE。
点击“工具”-“管理库”。
在搜索框中输入“MQ135”。
找到MQ135传感器库,点击安装。
3.传感器数据采集
3.1DHT传感器数据采集
3.1.1代码示例
#includeDHT.h
#defineDHTPIN2//DHT22数据引脚连接到D2
#defineDHTTYPEDHT22//使用DHT22传感器
DHTdht(DHTPIN,DHTTYPE);
voidsetup(){
Serial.begin(9600);
dht.begin();
}
voidloop(){
//读取温度和湿度
floathumidity=dht.readHumidity();
floattemperature=dht.readTemperature();
//检查读取是否成功
if(isnan(humidity)||isnan(temperature)){
Serial.println(FailedtoreadfromDHTsensor!);
return;
}
//打印温度和湿度
Serial.print(Humidity:);
Serial.print(humidity);
Serial.print(%\t);
Serial.print(Temperature:);
Serial.print(temperature);
Serial.println(*C);
//延时2秒
delay(2000);
}
3.1.2代码说明
#includeDHT.h:包含DHT传感器库。
#defineDHTPIN2:定义DHT22传感器的数据引脚为D2。
#defineDHTTYPEDHT22:指定使用DHT22传感器。
DHTdht(DHTPIN,DHTTYPE);:初始化DHT传感器对象。
voidsetup():设置串口通信和DHT传感器。
voidloop():读取温湿度数据并打印到串口监视器。
3.2空气质量传感器数据采集
3.2.1代码示例