基本信息
文件名称:Arduino 系列:Arduino MKR1000 (基于 SAMD21)_(14).传感器与ArduinoMKR1000连接.docx
文件大小:22.7 KB
总页数:20 页
更新时间:2025-06-27
总字数:约8.91千字
文档摘要

PAGE1

PAGE1

传感器与ArduinoMKR1000连接

在本节中,我们将详细探讨如何将各种传感器连接到ArduinoMKR1000,并进行数据读取和处理。ArduinoMKR1000基于SAMD21微控制器,具有丰富的GPIO接口和内置的Wi-Fi模块,使得它成为连接传感器和进行物联网开发的理想选择。我们将通过具体的传感器示例,展示如何连接传感器并编写相应的代码来读取和处理传感器数据。

温度传感器连接

1.DHT11温度湿度传感器

DHT11是一种常用的温度湿度传感器,适合于室内环境监测。它通过一个数字信号输出温度和湿度数据。ArduinoMKR1000可以通过其数字GPIO接口轻松连接DHT11传感器。

连接方式

VCC连接到ArduinoMKR1000的3.3V引脚。

GND连接到ArduinoMKR1000的GND引脚。

DATA连接到ArduinoMKR1000的数字引脚(例如D2)。

示例代码

#includeDHT.h

#defineDHTPIN2//数据引脚连接到D2

#defineDHTTYPEDHT11//使用DHT11传感器

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);

delay(2000);//每2秒读取一次数据

}

2.DS18B20温度传感器

DS18B20是一种高精度数字温度传感器,支持单总线通信。它可以连接到ArduinoMKR1000的数字引脚,并通过单总线协议进行数据通信。

连接方式

VCC连接到ArduinoMKR1000的3.3V引脚。

GND连接到ArduinoMKR1000的GND引脚。

DATA连接到ArduinoMKR1000的数字引脚(例如D3)。

4.7kΩ上拉电阻连接在DATA引脚和VCC之间。

示例代码

#includeOneWire.h

#includeDallasTemperature.h

#defineONE_WIRE_BUS3//数据引脚连接到D3

OneWireoneWire(ONE_WIRE_BUS);//创建OneWire对象

DallasTemperaturesensors(oneWire);//创建DallasTemperature对象

voidsetup(){

Serial.begin(9600);

sensors.begin();

}

voidloop(){

sensors.requestTemperatures();//请求温度数据

floattemperature=sensors.getTempCByIndex(0);//获取第一个传感器的温度

//检查读取是否成功

if(temperature==DEVICE_DISCONNECTED_C){

Serial.println(Error:Couldnotreadtemperaturedata);

}else{

Serial.print(Temperature:);

Serial.print(temperature);

Serial.println(*C);

}

delay(2000);//每2秒读取一次数据

}

光照传感器连接

1.光敏电阻(LDR)

光敏