当前位置:   article > 正文

stm32小车红外对管的循迹_stm32巡线t字路口

stm32巡线t字路口

为了参加校内赛写了分技术报告和相关代码

但是不想就这么浪费了

https://www.yuque.com/docs/share/a64051d0-cc1e-4e45-a704-db7a9af5cb76?# 《电控技术报告》

电控技术报告

一.电控整体设计思路

1.循迹

关于循迹,我们是通过将小车放在每一种可能的路线,对红外对管采集到的数据进行整理和分析,然后可以得到一个阈值。再对每一种路线的特点,设置每一个对管的阈值,并与其进行比较。如左转的话,就主要判断左侧的灯管是否大于阈值,若大于便进行左转函数,当然这只是简化了想法,因为实际上如果只关注左侧灯管的话,遇到T字路口,小车的循迹自然就会有漏洞,这个时候我们就要考虑所有灯管在每个特别的路线的实际情况并与阈值对比。比如如果左转的话那么除了左侧的电平升高,还有右侧的电平会降低;而如果是T字路口,左侧的灯管升高的同时,右侧的灯管也会升高。又考虑到小车转弯的不完美,我们还需要矫正函数时刻保证小车在黑线上走,按照期望的效果执行程序。

2.资源区遥控

关于遥控,我们选择的是蓝牙模块,用手机进行遥控。主要是蓝牙中断函数,可以做到当手机连接到小车蓝牙时,便可以操纵小车,让小车优先执行蓝牙模块。

3.资源区机械结构

关于机械结构,原来打算用遥控器控制机械铲子的升高、下降和伸缩。但由于在装车的那天,遥控装置的通讯模块的板子芯片被烧了,我们也不得不写蓝牙控制的函数了。关于这边,我主要参考了例程里的motor的相关函数。控制它的正转和逆转。但是由于学长加固了我们的机械臂,让我们的支架活动范围变窄,使得机械臂无法达到它的最大高度,让我一度以为是我的代码写错了但又找不到bug。

二.小车的各项功能及实现方式

我不理解,为什么会要求有视频,可能是觉得我们的逻辑不能解决实际上遇到的问题吗?

但当时谁想得到拍视频啊TAT

1.逻辑实现的前提

也可以是准备阶段吧,就是收集红外对管的信息。我们通过蓝牙串口,将小车红外对管的实际电压输入到接受区。

// 局部变量,用于保存转换计算后的电压值
float ADC_ConvertedValueLocal[NOFCHANEL];

//将 ADC 外设采集到的数据通过串口打印到串口调试助手上

void Test_ADC_PRINTF(void)
{
    while (1)
    {
       // ADC_ConvertedValueLocal[0] = (float)ADC_ConvertedValue[0] / 4096 * 3.3 * 1.5;
       // ADC_ConvertedValueLocal[1] = (float)ADC_ConvertedValue[1] / 4096 * 3.3 * 1.5;
        ADC_ConvertedValueLocal[2] = (float)ADC_ConvertedValue[2] / 4096 * 3.3 * 1.5;
       // ADC_ConvertedValueLocal[3] 
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/320908?site
推荐阅读
相关标签
  

闽ICP备14008679号