0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于STM32的平衡小车设计过程分享(2)

一口气吃不成胖子 来源:一口气吃不成胖子 作者:一口气吃不成胖子 2023-04-27 14:37 次阅读

一、简介

续上文,电机驱动部分完成,接下来我们给他加上一个OLED的显示功能和MPU6050的姿态检测功能

二、姿态角显示开发

2.1 MPU6050简介

MPU6050是一种集成了3轴陀螺仪和3轴加速度计的数字运动处理器。它由英飞凌公司开发,可用于测量物体的角速度、加速度和方向,广泛应用于机器人无人机、游戏手柄、智能手机和运动监测等领域。MPU6050采用I2C接口进行通信,具有低功耗、高精度、小尺寸等特点,是一款非常优秀的运动传感器

poYBAGRKF7WAeO5MAAErXrwYGv0985.png

2.2 OLED简介

OLED(Organic Light Emitting Diode)是有机发光二极管,是一种新型的显示技术。与传统的液晶显示屏相比,OLED显示屏具有更高的对比度、更快的响应速度、更广的视角、更薄的厚度和更低的功耗。
OLED显示屏是由一系列有机材料制成的薄膜堆叠而成,其中包括发光材料、电子传输材料和电极材料等。当电流通过这些材料时,它们会发出光,形成图像。OLED显示屏可以实现高分辨率、真实的颜色和高亮度。

poYBAGRKF7yAXS-YAACad0cbdtA658.png

2.3 驱动开发

OLED、MPU6050都是采用的IIC通信方式,我们简单介绍一下IIC通信的原理

2.3.1 IIC 通信

2.3.1.1 概念

IIC(Inter-Integrated Circuit)总线是一种由NXP(原PHILIPS)公司开发的两线式串行总线,用于连接微控制器及其外围设备。多用于主控制器和从器件间的主从通信,在小数据量场合使用,传输距离短,任意时刻只能有一个主机等特性。在 CPU 与被控 IC 之间、IC 与 IC 之间进行双向传送,高速 IIC 总线一般可达 400kbps 以上。

2.3.1.2 实践—代码编写

我们通过SDA、SCL两条总线来进行数据传输通信,首先我们要确定OLED、MPU6050的设备地址,我们通过查看数据手册可得到,他们的地址分别为0x78、0X68,由此可写出他们的IIC驱动代码


/***********************0.96OLED********************************
void OLED_Write_IIC_Command(unsigned char IIC_Command)
{
		OLED_IIC_Start();
		OLED_Write_IIC_Byte(0x78);            //Slave address,SA0=0
		OLED_IIC_Wait_Ack();	
		OLED_Write_IIC_Byte(0x00);			//write command
		OLED_IIC_Wait_Ack();	
		OLED_Write_IIC_Byte(IIC_Command); 
		OLED_IIC_Wait_Ack();	
		OLED_IIC_Stop();
}
***********************************************************/

/*************************MPU6050****************************
u8 MPU_Write_Byte(u8 reg,u8 data) 				 
{ 
  MPU_IIC_Start(); 
	MPU_IIC_Send_Byte((MPU_ADDR<<1)|0);//发送器件地址+写命令	
	if(MPU_IIC_Wait_Ack())	//等待应答
	{
		MPU_IIC_Stop();		 
		return 1;		
	}
  MPU_IIC_Send_Byte(reg);	//写寄存器地址
  MPU_IIC_Wait_Ack();		//等待应答 
	MPU_IIC_Send_Byte(data);//发送数据
	if(MPU_IIC_Wait_Ack())	//等待ACK
	{
		MPU_IIC_Stop();	 
		return 1;		 
	}		 
  MPU_IIC_Stop();	 
	return 0;
}
***********************************************************/


2.4 效果演示

pYYBAGRKF9CAHXABAAXVDhXRx2g187.png


审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 传感器
    +关注

    关注

    2526

    文章

    48093

    浏览量

    740064
  • 处理器
    +关注

    关注

    68

    文章

    18275

    浏览量

    222158
  • OLED
    +关注

    关注

    118

    文章

    5986

    浏览量

    221444
  • STM32
    +关注

    关注

    2239

    文章

    10671

    浏览量

    348744
  • 平衡小车
    +关注

    关注

    1

    文章

    38

    浏览量

    12452
收藏 人收藏

    评论

    相关推荐

    基于STM32平衡小车设计过程分享(1)

    基于STM32平衡车开发
    的头像 发表于 04-27 14:30 6536次阅读
    基于<b class='flag-5'>STM32</b>的<b class='flag-5'>平衡</b><b class='flag-5'>小车</b>设计<b class='flag-5'>过程</b>分享(1)

    基于STM32平衡小车设计过程分享(3)

    续上文,电机驱动、MPU6050驱动均已完成,接下来我们给他加上PID让它站起来。
    的头像 发表于 04-27 14:40 1428次阅读
    基于<b class='flag-5'>STM32</b>的<b class='flag-5'>平衡</b><b class='flag-5'>小车</b>设计<b class='flag-5'>过程</b>分享(3)

    如何去制作一种基于stm32的两轮平衡小车?求过程

    如何去制作一种基于stm32的两轮平衡小车?基于stm32的两轮平衡小车电路设计的基本
    发表于 07-09 07:47

    基于STM32F103C8T6制作平衡小车过程

    基于STM32F103C8T6制作平衡小车过程中的问题文章目录基于STM32F103C8T6制作平衡
    发表于 08-24 08:07

    平衡小车移植过程中趟过的坑

    最近在研究平衡小车,在TB上买了一个小车套件,源代码是用的stm32的3.5库,自己打算移植到hal库上面去,顺便深入了解一下平衡
    发表于 09-17 06:40

    基于STM32的双轮平衡小车设计

    预告:代码及文档下载方案分析1、基于STM32F103C8T6 单片机的双轮自平衡小车系统;2、以 MPU6050 三轴陀螺仪加速计为传感器的姿态感知系统;3、通过卡尔曼滤波对传感器的
    发表于 11-30 08:03

    两轮自平衡小车的设计与实现

    两轮自平衡小车的设计与实现,基于STM32控制的自平衡双轮小车,其中机械部分包括车体、车轮、步进电机、锂电池等部件设计加工。
    发表于 05-19 15:16 20次下载

    基于stm32程序的DIY二轮平衡小车

    在校期间制作的stm32平衡小车,效果还可以
    发表于 05-20 10:05 74次下载

    基于STM32设计的智能平衡小车源代码免费下载

    本文档的主要内容详细介绍的是基于STM32设计的智能平衡小车源代码 支持手机及电脑上位机控制的平衡小车
    发表于 07-16 08:00 121次下载

    STM32的两轮平衡小车源代码

    基于STM32的两轮平衡小车源代码说明。
    发表于 03-17 14:21 62次下载

    STM32智能平衡小车详细电路原理图

    STM32智能平衡小车详细电路原理图免费下载。
    发表于 06-18 10:55 161次下载

    stm32蓝牙平衡小车制作项目心得(一)

    自从肝了这么多stm32的视频,一直没有做项目来实践。这次的平衡小车项目
    发表于 01-14 12:06 11次下载
    <b class='flag-5'>stm32</b>蓝牙<b class='flag-5'>平衡</b><b class='flag-5'>小车</b>制作项目心得(一)

    平衡小车调试总结

    前言本文将总结平衡小车的调试经验,经过几晚的努力平衡小车已经可以比较稳定的平衡了。本文平衡
    发表于 01-14 12:29 14次下载
    <b class='flag-5'>平衡</b><b class='flag-5'>小车</b>调试总结

    stm32平衡小车

    stm32f103c8t6的平衡小车的代码
    发表于 06-15 14:51 32次下载

    基于STM32的两轮平衡小车设计

    学习一种单片机最快的方式莫过于用它实际制作一个作品了,前些天看到有人在玩平衡小车,感觉非常有趣,于是就决定自己动手制作一个基于stm32的两轮平衡
    的头像 发表于 07-25 15:48 1597次阅读
    基于<b class='flag-5'>STM32</b>的两轮<b class='flag-5'>平衡</b><b class='flag-5'>小车</b>设计