“入手了Arduino和几个传感器,可怎么连线?代码怎么写才能读出温度、光线这些数据?”
这是许多初探电子世界的爱好者面临的第一个实用关卡。传感器如同Arduino的”感官”,使其能感知物理世界的光线、温度、压力、运动等。掌握连接与读取传感器的技能,是迈出智能设备项目的第一步。本文将循序渐进,带你轻松掌握核心步骤。
一、 准备工作:核心组件与软件环境
二、 硬件连接:搭建感知通路
连接是读取数据的基础,务必谨慎操作,避免短路或接错损坏设备。核心步骤如下:
GND)。| 传感器类型 | 输出信号 | 典型接口引脚 | 特点 | 
|---|---|---|---|
| 数字传感器 | 0或1(高低电平) | Arduino 数字引脚 | 输出简单,读取方便(digitalRead()) | 
| 模拟传感器 | 连续变化电压值 | Arduino 模拟引脚 | 数值连续,需转换(analogRead()) | 
| 数字通信(I2C/SPI) | 数据包 | 专用通信引脚 | 可并联多个设备,传输效率高 | 
VCC引脚连接到Arduino的5V或3.3V输出引脚(务必严格遵循传感器要求!)。GND引脚连接到Arduino的任意GND引脚。2, 3, 4, … 13)。A0, A1, … A5(Uno/Nano)的模拟输入引脚。A4/SDA, A5/SCL;SPI通常是10(SS), 11(MOSI), 12(MISO), 13(SCK))。这类传感器通常依赖库文件简化操作。三、 软件编程:编写数据读取指令
硬件通路建立后,需要代码指令让Arduino主动去获取传感器的数据。在Arduino IDE中实现:
DHT sensor library, Adafruit_Sensor),在代码开头使用#include引入。#include  // 以DHT温湿度传感器为例
 
#define DHTPIN 2 // 假设DHT的DATA引脚连接在Arduino数字引脚2上
#define DHTTYPE DHT11 // 指定传感器类型为DHT11
DHT dht(DHTPIN, DHTTYPE); // 创建DHT传感器对象
setup()函数):void setup() {
Serial.begin(9600); // 开启串口,波特率设为9600(需与串口监视器设置一致)
dht.begin(); // 初始化DHT传感器(对于需要初始化的库)
// 其他初始化代码,如设置引脚模式(对于数字输入传感器,可能需要pinMode(pin, INPUT))
}
loop()函数):loop()中编写读取传感器数据的代码,这是核心步骤。digitalRead(pin)函数。返回值为HIGH或LOW。int sensorState = digitalRead(3); // 假设数字传感器接在引脚3
Serial.print("Sensor State: ");
Serial.println(sensorState == HIGH ? "ON" : "OFF"); // 将状态转为文字输出
analogRead(pin)函数。返回值范围是0-1023(对应0V-5V),需根据传感器特性转换为物理量。int sensorValue = analogRead(A0); // 假设模拟传感器(如光敏电阻)接在A0
Serial.print("Raw Analog Value: ");
Serial.println(sensorValue);
// 示例:将光敏电阻值转换为更直观的百分比(需根据实际电路调整转换公式)
float lightPercent = map(sensorValue, 0, 1023, 100, 0); // 假设值越小光线越强
Serial.print("Light Level: ");
Serial.print(lightPercent);
Serial.println("%");
  Copyright © 南京凯基特电气有限公司 版权所有 
																				苏ICP备12080292号-5  
																			 全国服务电话:025-66098387传真:025-87168200  
																			 公司地址:江苏省南京市江宁区科宁路777号申智滙谷9栋101