废话少说直接上图
以下是几张侧面照
1、打开小车的三脚开关,将boot0调节至on,使小车处于run状态,按一次左上角的按键,即可发现小车可以直立在地上了
2、在安卓上安装软件,打开软件(小车此时应该还在地上立着呢),按菜单键,连接蓝牙,即可实现对前后的控制(我目前只做到这一步哈哈)。和电脑连接也是同理,之后可以直接用电脑的串口调试助手给小车发送指令~
3、有一个问题哈,就是蓝牙连接后,有时候会出现不能实时控制的情况,即操控按钮,小车仍然保持直立。当然,我还没看代码,之后看看代码再研究下~
下面给出小车保持直立时的视频
今天主要做了2件事:
1、编码器计数值实验
在中断处理函数中添加如下代码:
printf("%d,%d\r\n",Encoder_Left,Encoder_Right); //编码器值采集实验
即发送编码器的值。下载程序后,打开serialchart.exe,推一下小车,小车开始震荡,小车震荡过程中的左右编码器返回波形图如下所示:
由图知,直立情况下左右轮转速近似相等(编码器值相等),同时没有外界扰动时会趋近于0。
2、系统时间的获得
为了使得小车可以在系统运行后的固定时间内做动作,需要记录系统运行的时间,在这里做了一个获得系统开机时间的函数,最小单位是5ms。
(1)首先在main.c中定义 _5microsecond=0,second=0,minute=0,hour=0这4个无符号整形变量,然后在main.h中用extern声明。
(2)函数定义在show.c中,实现过程如下:
void systime_Get(void) { _5microsecond++; if( (_5microsecond) == 200 ) { _5microsecond = 0; second++; } if( (second) == 60 ) { second = 0; minute++; } if( (minute) == 60 ) { minute = 0; hour++; } }
通过串口调试助手查看返回的数据可以比较方便地检测该函数的正确性。
有奖活动 | |
---|---|
【EEPW电子工程师创研计划】技术变现通道已开启~ | |
发原创文章 【每月瓜分千元赏金 凭实力攒钱买好礼~】 | |
【EEPW在线】E起听工程师的声音! | |
“我踩过的那些坑”主题活动——第001期 | |
高校联络员开始招募啦!有惊喜!! | |
【工程师专属福利】每天30秒,积分轻松拿!EEPW宠粉打卡计划启动! | |
送您一块开发板,2025年“我要开发板活动”又开始了! | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
多组DCTODC电源方案被打赏50分 | |
【我踩过的那些坑】STM32cubeMX软件的使用过程中的“坑”被打赏50分 | |
新手必看!C语言精华知识:表驱动法被打赏50分 | |
【我踩过的那些坑】杜绑线问题被打赏50分 | |
【我踩过的那些坑】STM32的硬件通讯调试过程的“坑”被打赏50分 | |
【我踩过的那些坑】晶振使用的问题被打赏100分 | |
【我踩过的那些坑】电感选型错误导致的处理器连接不上被打赏50分 | |
【我踩过的那些坑】工作那些年踩过的记忆深刻的坑被打赏10分 | |
【我踩过的那些坑】DRC使用位置错误导致的问题被打赏100分 | |
我踩过的那些坑之混合OTL功放与落地音箱被打赏50分 |