RT-Thread-设备(MPU6050)

#include <rtdevice.h>
#include "mpu6xxx.h"

/* defined the LED pin: GPIO1_IO9 */
#define LED0_PIN               9

struct mpu6xxx_device *device;
struct mpu6xxx_3axes *gyro;

int main(void)
{
    /* set LED0 pin mode to output */
    rt_pin_mode(LED0_PIN, PIN_MODE_OUTPUT);
    rt_kprintf("build time: %s %s \n", __DATE__, __TIME__);
    
    device = mpu6xxx_init("i2c1", 0x68);
    
    while (1)
    {
        rt_pin_write(LED0_PIN, PIN_HIGH);
        mpu6xxx_get_gyro(device, gyro);
        rt_kprintf("%d %d %d\n", gyro->x, gyro->y, gyro->z);
        rt_thread_mdelay(500);
        rt_pin_write(LED0_PIN, PIN_LOW);
        rt_thread_mdelay(500);
    }
}

 

概述:声源自动跟随小车,方案主要是通过采集实时环境声音,计算声音的到达方向,同步小车的角度和声源方向角度并行进,达到声源跟随的目的。主要可以应用在电子宠物上,与人进行互动,也可以判断声源方向用来指示目标,是一个比较有趣的设计。 开发环境硬件:ART-Pi开发板,Raspberry Pi开发板 扩展板:四通道麦克风扩展板,GY-521 MPU-6050模块,直流电机驱动模块,锂电池电源组件 RT-Thread版本:RT-Thread Nano 开发工具及版本:STM32CubeMX 5.6.1 MDK 5.20 RT-Thread使用情况概述采用STM32CubeMX生成RT-Thread Nano的代码工程 内核部分:调度器。 调度器:创建2个线程分别实现MPU-6050的DMP角度数据读取和小车平台姿态与声源达到方向角的同步。 硬件框架ART-Pi定时读取MPU-6050的小车平台姿态数据,然后通过对比串口中断接收的Raspberry Pi声源到达方向角数据,PWM驱动直流电机芯片同步小车姿态并前进,实现声源跟随功能。 软件框架说明本项目软件分为两部分: 第一部分:Raspberry Pi 软件 通过ReSpeaker 4-Mics Pi HAT扩展板采集实时现场环境音频数据,估算声源的到达方向并通过USB TTL串口发送声源到达方向角数据到ART-Pi串口接收端。 第二部分:ART-Pi 软件 ART-Pi开发板上电之后首先完成板级外设的初始化,并初始化MPU-6050的数字运动处理器DMP实现小车姿态的获取。开启串口中断接收Raspberry Pi发送的声源到达方向角数据,输出PWM控制小车的直流电机来改变小车姿态符合声源到达方向角,再控制小车前进。 软件模块说明Raspberry Pi 软件: 安装ReSpeaker 4-Mics Pi HAT的驱动,安装声源到达方向应用mic_array,修改vad_doa.py使其能够通过USB TTL串口输出声源到达方向角数据。 ART-Pi 软件: 创建了2个线程 thread1_entry:周期性的读取MPU-6050的数字运动处理器DMP数值,并把读取到的值放入全局变量中; thread2_entry:循环检查串口数据接收变量,如有声源到达方向角数据就控制小车姿态符合声源到达方向角。 演示效果视频观看: 代码地址(附件为代码地址,下载后打开可见)比赛感悟RT-Thread Nano集成在STM32 Cubemx工具中,直接图形化配置生成初始代码真的非常方便。 由衷的感谢开源社区大佬们的贡献。 最后感谢主办方提供了这么好的一个平台,能学到很多知识。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值