基本信息
文件名称:Arduino 系列:Arduino MKR WiFi 1010 (基于 SAMD21)_(9).连接外部传感器和执行器.docx
文件大小:23.2 KB
总页数:18 页
更新时间:2025-06-27
总字数:约7.75千字
文档摘要

PAGE1

PAGE1

连接外部传感器和执行器

在本节中,我们将探讨如何使用ArduinoMKRWiFi1010连接外部传感器和执行器。我们将详细介绍传感器和执行器的基本原理,以及如何通过ArduinoMKRWiFi1010的引脚进行硬件连接和软件编程。我们将通过具体的示例来说明如何读取传感器数据并控制执行器。

传感器连接

1.连接温度传感器

温度传感器是常见的传感器之一,用于测量环境温度。ArduinoMKRWiFi1010可以连接多种温度传感器,例如DS18B20、DHT11和DHT22。

原理

DS18B20是一种数字温度传感器,通过一根数据线与单片机通信。它使用1-Wire协议,可以连接多个传感器到同一数据线上。DHT11和DHT22是较简单的温湿度传感器,通过一根数据线与单片机通信,提供温度和湿度数据。

硬件连接

以DS18B20为例,其连接方式如下:

VCC连接到Arduino的3.3V引脚

GND连接到Arduino的GND引脚

DATA连接到Arduino的数字引脚(例如D7)

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

|ArduinoMKRWiFi1010|DS18B20|

|||

|3.3V|VCC|

|GND|GND|

|D7|DATA|

|4.7kΩ上拉电阻|VCC-DATA|

软件编程

使用OneWire和DallasTemperature库来读取DS18B20的温度数据。

//引入所需的库

#includeOneWire.h

#includeDallasTemperature.h

//定义数据引脚

#defineONE_WIRE_BUS7

//创建OneWire对象

OneWireoneWire(ONE_WIRE_BUS);

//创建DallasTemperature对象

DallasTemperaturesensors(oneWire);

voidsetup(){

//初始化串行通信

Serial.begin(9600);

//初始化温度传感器

sensors.begin();

}

voidloop(){

//请求温度数据

sensors.requestTemperatures();

//获取温度

floattemperature=sensors.getTempCByIndex(0);

//打印温度

Serial.print(当前温度:);

Serial.print(temperature);

Serial.println(°C);

//延时1秒

delay(1000);

}

2.连接光敏电阻

光敏电阻(光敏电阻器)是一种随光线强度变化而改变电阻值的传感器。通过测量光敏电阻的电压变化,可以获取环境光线的强度。

原理

光敏电阻的电阻值随光照强度变化。在电路中,光敏电阻通常与一个固定电阻串联形成分压电路,通过读取分压点的电压值来计算光敏电阻的电阻值。

硬件连接

将光敏电阻和一个10kΩ的固定电阻串联后连接到Arduino的模拟引脚(例如A0)。

|ArduinoMKRWiFi1010|光敏电阻|10kΩ固定电阻|

||||

|3.3V|一端|一端|

|GND|一端|另一端|

|A0|分压点||

软件编程

使用Arduino的analogRead函数读取光敏电阻的电压值,并将其转换为光照强度。

//定义光敏电阻的模拟引脚

#defineLDR_PINA0

voidsetup(){

//初始化串行通信

Serial.begin(9600);

}

voidloop(){

//读取光敏电阻的电压值

intldrValue=analogRead(LDR_PIN);

//打印电压值

Serial.print(当前光敏电阻电压值:)