单片机外设使用 ¶
约 847 个字 37 行代码 预计阅读时间 4 分钟
加速度 ¶
MPU6050¶
MPU6050 是一款集成了三轴加速度计和三轴陀螺仪的 6 轴运动传感器。它可以测量加速度、角速度以及温度,广泛应用于姿态检测、运动追踪等场景。
主要特点:¶
- 内置 16 位 ADC,可以同时输出 6 个轴的数据
- 可测量范围:
- 加速度 : ±2g、±4g、±8g、±16g 可选
- 角速度 : ±250、±500、±1000、±2000°/s 可选
- 内置数字运动处理器 (DMP),可直接输出姿态角
- 工作电压 : 3.3V-5V
- 通信方式 : I2C 接口,标准地址 0x68
引脚说明:¶
- VCC: 供电引脚 (3.3V-5V)
- GND: 接地
- SCL: I2C 时钟线
- SDA: I2C 数据线
- INT: 中断引脚
- XDA/XCL: 用于外接磁力计的 I2C 接口 ( 可选 )
超声波 ¶
HC-SR04¶
HC-SR04 是一种常见的超声波距离测量传感器,通过超声波的传播时间来测量物体的距离。它的工作原理基于超声波反射回来的时间来计算距离。
工作步骤:¶
-
发送超声波信号:当有脉冲电压触发时(就是控制板给 Trig 引脚发送高电频
) ,探头里的晶片就会振动,这会产生一个超声波信号(通常是 40kHz 的声波) 。( 逆压电效应 )正压电效应:某些晶体材料在交变拉压应力作用下,产生交变电场的效应称 之为正压电效应
。 (就是机械能转换成电能) 逆压电效应:当晶体材料在交变电场作用下,产生伸缩变形的效应称为逆压电效应。(就是电能转换成机械能) -
超声波传播与反射:超声波信号在空气中传播,当遇到物体时会发生反射。反射回来的超声波信号被传感器的 Echo(回波)引脚 接收。
-
测量回波时间:传感器通过 Echo 引脚 测量从发送信号到接收回波信号所需的时间。这个时间通常以微秒(μs)为单位(
pausein()
函数以微秒为单位) ,反映了信号从发射到接收所经历的往返时间。 -
计算距离:利用声音在空气中的传播速度,可以根据回波时间计算距离。声速在空气中的速度约为 343 米 / 秒,或者 0.0343 cm/μs。因为超声波是来回传播的,所以下来的总时间需要除以 2 来得到物体的单程距离。
引脚与连线 ¶
- VCC:供电引脚,连接到 5V。
- GND:接地引脚,连接到 GND。
- Trig(触发引脚):控制信号的输入引脚,用来发出短脉冲触发超声波发送。
- Echo(回波引脚):接收超声波反射信号的输出引脚,返回高电平信号的持续时间,表示回波的时间。
代码 ¶
#define TRIG_PIN 2 // 设置Trig引脚为2,可以自定义
#define ECHO_PIN 3 // 设置Echo引脚为3,可以自定义
void setup() {
// 初始化串口通信
Serial.begin(9600);
// 设置Trig和Echo引脚模式
pinMode(TRIG_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
}
void loop() {
// 发出超声波信号
digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(2); // 将 `Trig` 引脚设置为低电平,确保传感器准备好接收触发信号。
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10); //将 `Trig` 引脚设置为高电平,持续 10 微秒来发射超声波。
digitalWrite(TRIG_PIN, LOW);
// 计算回波信号传回的时间
long duration = pulseIn(ECHO_PIN, HIGH); //使用 `pulseIn()` 函数测量从 `Echo` 引脚返回的高电平持续时间,这个时间代表超声波信号从发射到接收的往返时间。
// 计算距离(单位:cm)
long distance = duration * 0.034 / 2;
// 输出距离到串口监视器
Serial.print("Distance: ");
Serial.print(distance);
Serial.println(" cm");
// 延时100毫秒后再次测量
delay(100);
}
温度 ¶
DHT11¶
DHT11 是一款应用非常广泛的温湿度采集元件,传感器包括一个电阻式感湿元件和一个 ntc 测温元件
- 在温度上的测量范围是0-50摄氏度,在湿度上的测量范围是20-90%
Arduino 使用 ¶
下载完成后可通过 : 文件 / 示例 /DHT sensor library /DHTtester,打开示例程序并修改。 - 需要在程序中修改数据输入引脚和传感器型号
#define DHTPIN 3
#define DHTTYPE DHT11 //DHT11