十几行代码跑通"采集—传输—显示",传感器的入门实验就该这么玩。
MPU6050 是嵌入式里最常见的六轴传感器,内部集成了三轴陀螺仪和三轴加速度计,还自带温度传感器。把它接到树莓派上,再用 Python 把数据显示到 16×2 的 LCD 上,一整套"数据采集—传输—显示"链路就通了,这也是很多入门者的传感器第一课。

硬件连接不复杂。MPU6050 走的是 I2C 总线,树莓派的 I2C 引脚固定:SDA 接 GPIO2、SCL 接 GPIO3,VCC 供 3.3V,GND 接地。16×2 LCD 可以走 I2C 转接板(PCF8574),同样挂在 I2C 总线上,这样整块板子只需要树莓派引出四根线,干净利落。
软件准备分两步。第一步启用树莓派的 I2C:在 raspi-config 里打开 I2C 接口,再用 i2cdetect 扫描总线地址,能看到 0x68(MPU6050)和 LCD 转接板的地址,说明硬件链路已经通了。第二步装 Python 库:树莓派官方生态里,用 smbus2 或者 adafruit-circuitpython-mpu6050 这类库,几行代码就能读出原始数据。
代码逻辑可以拆成三块:初始化传感器和 LCD、循环读取加速度和陀螺仪值、格式化后写到 LCD 上。加速度计的分量 g 值、陀螺仪的角速度 dps 值,再加上传感器自带的温度,正好填满 16×2 两行屏幕。想让数据更直观,还可以顺手用 matplotlib 把角度变化画成曲线——这也是树莓派相比单片机的优势,分析工具链随手就有。
动手做这个小实验,有三点收获值得留心。一是 I2C 的"设备即地址"思想:挂几条设备、怎么区分,扫一遍地址就全明白了;二是传感器融合的起点:六轴数据怎么转成姿态角,这个问题会在你调平衡车、做飞控时再次出现;三是嵌入式调试的基本功:先确认总线通不通,再谈数据对不对。
至于显示上的小坑也提前排一下:LCD 转接板默认对比度电位器可能没调好,字符不清晰先拧电位器;地址不对显示全黑,用 i2cdetect 重新确认。都是五分钟能解决的问题,别让它们卡住你一晚上。
— 本文技术内容由三防胶网技术部整理 —
技术服务:13267509618 | 邮箱:info@sanfangjiao.com





