树莓派4 使用wringpi通信MPU6050模块陀螺

本文介绍了如何在树莓派3/4上通过/dev/ttyAMA0高效利用MPU6050陀螺模块,涉及串口配置、wiringpi库的使用以及串口通信设置,确保了高精度数据传输。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前段时间在某宝上39大洋买了个MPU6050陀螺模块。好不容易有空,用掏出了个树莓派来用用这个屌丝陀螺模块。

 

首先看到关于树莓派串口有这样的介绍:树莓派3/4b的外设一共包含两个串口,一个称之为硬件串口(/dev/ttyAMA0),一个称之为mini串口(/dev/ttyS0)。硬件串口由硬件实现,有单独的波特率时钟源,性能高、可靠,mini串口性能低,功能也简单,并且没有波特率专用的时钟源而是由CPU内核时钟提供,因此mini串口有个致命的弱点是:波特率受到内核时钟的影响。

陀螺嘛怎么说也算是高精密的东西,虽然贼便宜,但是理应上/dev/ttyAMA0,严肃对待。还得上wringpi这个树莓派高性能库。我不知道这个库什么个情况。但是之前一直苦于树莓派本身python的延时函数精度实在太次。后面搜到有这个库。用了这个库里的延时函数,一下子就精确很多。所以感觉贼牛逼。这个库还有牛逼的线程函数,和牛逼的高性能串口。所以没有这个库的话先输入pip install wiringpi

安装它。

接下来确保你的树莓派打开了串口服务。

sudo raspi-config

选择Interfacing Options

选择serial

再选择 否,禁用串口登录功能,将串口用于通信。

再选择 是,启动串口硬件。然后树莓派重启。串口就可以用了。

接着要禁用蓝牙,树莓派3或4的蓝牙与串口是冲突的,只能2选1,系统默认是选择蓝牙,现在需要关闭蓝牙:

 1)打开文件 sudo nano /boot/config.txt

2)在文件的最后添加 dtoverlay=pi3-disable-bt

该语句是关闭蓝牙 ,然后按下Ctrl+X, 再按 Y 保存文件 。(这句是给菜鸟用的,老鸟可无视~~~) 

3)重启树莓派

后发现任务栏上的蓝牙图标变灰色证明已经关闭蓝牙,(原来是蓝色的)

再下来是接线:

陀螺模块的TX要接在树莓派的RX上(10号脚),模块的RX要接在树莓派的TX(8号脚)上。陀螺VCC接树莓派 DC Power 的 (2或4脚)。GND接Groud(6)。

 接下来写一个简单的Python脚本:

import wiringpi as wpi
import time
 
wpi.wiringPiSetup()
serial = wpi.serialOpen('/dev/ttyAMA0', 115200)  # Requires device/baud and returns an ID

wpi.delayMicroseconds(100)
while True:
    while wpi.serialDataAvail(serial) != -1:
        byte = wpi.serialGetchar(serial)
        print(byte)
    wpi.delayMicroseconds(10)

运行看看有没有数据打印出来。正常会打印陀螺发来的原始数据。后续会放出协议解算程序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值