竞赛场地材料采用PVC耐磨塑胶地板材料制作(赛道宽35cm),具有黑色边界线和循迹电磁线。赛道中心铺设漆包线(电磁线),漆包线通有交变电流,车模通过电磁探测板检测实现自主循迹运动。黑色边界线由50mm宽黑色胶带粘贴而成

1.智能车从起跑线标识处出发沿着赛道运行一周,最后通过终点磁标处停车在赛道上。比赛成绩以任务完成得分排名,得分相同则以任务完成时间排名。

2.磁标和计时起跑线设置示意图如图2所示。

图2

图2中蓝色色块为磁标标志,磁标纵向设置在赛道上(使用白色胶带粘贴在赛道上),且距离赛道中线距离相同,磁标间距自定。图2中黑色线条为距离磁标20cm的计时起跑线,可使用黑色胶带制作。如果计时起跑线按图2设置,磁标标志为磁标①(起点磁标),则表示智能车从左向右行驶。

3.障碍物和距离标识线设置示意图如图3所示。

图3

图3中红色色块为障碍物标志,障碍物横向设置在赛道上,障碍物中线与赛道中线重合。图3中黑色线条为距离障碍物前后50cm的距离标识线,可使用黑色胶带制作,用于标识智能车完成任务的有效行驶范围。

车模套件

基础组车模套件包括主控板、转接板、配套功能模块、车模配件和连接线。其中主控板和转接板可使用基于兆易创新GD32E230主控板或基于南京沁恒CH32V103主控板。

传感器

  • 电磁循迹模块:实现电磁循迹功能。
  • 双路电机驱动模块:驱动电机转动。
  • 干簧管板:实现磁标识别功能,完成智能车任务(如启动、停止和技术动作等)。
  • RGB模块:标识车辆行驶状态。
  • 超声波模块:探测障碍物。
  • 数码管模块:显示信息。

以下为本组参加比赛所用代码,欢迎提出相关意见,虚心请教。

#include "main.h"
#include "headfile.h"
#include "math.h"
#include "common.h"
#include "ZUOBIZHANG.h"
#include "YOUBIZHANG.h"
#include "renwu1.h"
#include "renwu2.h"
#include "renwu3.h"
#include  "xunji.h"
#include "motor.h"
/* 全局变量声明 */

/* 主函数 */
int main()
{
    /* 此处声明需要用到的局部变量 */
    unsigned int  distance_value;
    unsigned char distance_ascii[6];
    unsigned char i;
    int K=0,r=1;
int t;
    /* 智能车初始化 */
    car_init();

/* 此处编写单次运行的代码(例如:初始化代码等) */

while(1)
    {
        /* 此处编写循环运行的代码 */
        printf("LAD= %d \r\n", LAD);     //将数据通过串口发送至上位机
                 printf("MAD= %d \r\n", MAD);     //将数据通过串口发送至上位机
                      printf("RAD= %d \r\n", RAD);     //将数据通过串口发送至上位机
                       printf("diff= %d \r\n", diff);     //将数据通过串口发送至上位机
        unsigned char reed_flag = 0;

reed_flag = reed_check();    //获取干簧管状态

if(reed_flag == REED_SWITCH_ON)    //判断干簧管是否检测到磁铁
               {
                   chaoguan();
                   if(r==1)
                   {
                   reed1();
                   ws2812b_write(rgb_off);
                   ws2812b_write(rgb_off);
                   r++;
                   }
                   else if(r==2)
                   {
                       reed2();
                       r++;
                   }
                   else if(r==3)
                   {
                       reed3();
                       ws2812b_write(rgb_off);
                       ws2812b_write(rgb_off);
                       for (t = 0; t <8434; ++t)
                       {
                       xunji();motor();
                    }
                    ws2812b_write(rgb_red);
                    ws2812b_write(rgb_red);

YOUBIZHANG();
                       r++;
                       ws2812b_write(rgb_off);
                       ws2812b_write(rgb_off);

}
                   else if(r==4)
                                     {
                                         reed4();
                                         r++;
                                         ws2812b_write(rgb_off);
                                         ws2812b_write(rgb_off);
                                     }
                   else if(r==5)
                   {
                      reed5();
                   }
                       chaokai();
               }
               else {
                xunji();
                motor();
            }

distance_value=ultra_get_distance();

Delay_Us(50);
printf("LAD= %d \r\n", LAD);     //将数据通过串口发送至上位机
         printf("MAD= %d \r\n", MAD);     //将数据通过串口发送至上位机
                printf("RAD= %d \r\n", RAD);     //将数据通过串口发送至上位机
                printf("diff= %d \r\n", diff);     //将数据通过串口发送至上位机

if(distance_value<3900&&distance_value>1200)
              {
                  chaoguan();
                  car_stop();
                  Delay_Ms(300);
                   if(K<1)
                   {
                       YOUBIZHANG();
                       K++;
                       chaokai();
                   }
                   else {
                        ZUOBIZHANG();
                         }

}
        else
        {
         xunji();
         motor();

}
    }

}

void uart_send_distance_ascii(unsigned char *ascii_value)
{
    uart_send_char(UART_1, ascii_value[1]);
    uart_send_char(UART_1, ascii_value[2]);
    uart_send_char(UART_1, ascii_value[3]);
    uart_send_char(UART_1, '.');
    uart_send_char(UART_1, ascii_value[4]);
    uart_send_char(UART_1, 0x0D);
    uart_send_char(UART_1, 0x0A);                            //换行
}

以上为主体部分,renwu函数的内容可根据比赛要求的自行更改。

关于十七届恩智浦杯安徽赛区基础组参赛分享相关推荐

  1. 恩智浦智能车大赛2020_我院第十三届“恩智浦”杯智能车校内选拔赛宣讲会顺利举行...

    2020年11月28日9:00,第十三届"恩智浦"杯智能车校内选拔赛宣讲会在长安大学北校区明远2201教室成功举行. 到场嘉宾 本次活动由我院大学生科技创新创业协会智能车部承办.本 ...

  2. 2020第十七届华为杯数模C题——P300脑电信号数据预处理算法

    脑电信号数据预处理   这两天的数学建模选的C题,目标是要处理脑电P300信号的数据并进行相关预测任务.该题重点是数据预处理,因此根据最后实验的结果,分享相关的预处理方法以及源代码.长话短说,给出任务 ...

  3. 2015年第六届蓝桥杯C/C++B组省赛题目解析

    1.奖券数目 有些人很迷信数字,比如带"4"的数字,认为和"死"谐音,就觉得不吉利. 虽然这些说法纯属无稽之谈,但有时还要迎合大众的需求.某抽奖活动的奖券号码是 ...

  4. 2020年 第11届 蓝桥杯 C/C++ B组 省赛真题详解及小结【第1场省赛2020.7.5】【Java版】

    蓝桥杯 Java B组 省赛真题详解及小结汇总[2013年(第4届)~2020年(第11届)] 注意:部分代码及程序 源自 蓝桥杯 官网视频(历年真题解析) 郑未老师. 2013年 第04届 蓝桥杯 ...

  5. 蓝桥杯7届c语言 c组答案,第七届蓝桥杯C语言C组-(自己懂的题目)

    第七届蓝桥杯C语言C组-(自己懂的题目) 表示刚刚查了成绩,省赛一等奖,有资格去北京了,然后写一下总结, 先来写一下我懂的题目,毕竟我也是菜鸟,听说国赛比预赛难几个等级... 第一题 报纸页数 X星球 ...

  6. 数组三元数c语言程序,递增三元数组——第九届蓝桥杯C语言B组(省赛)第六题...

    原创 标题:递增三元组 给定三个整数数组 A = [A1, A2, ... AN], B = [B1, B2, ... BN], C = [C1, C2, ... CN], 请你统计有多少个三元组(i ...

  7. 【蓝桥杯Python组】2022年第十三届蓝桥杯省赛B组Python解题思路详解

    第十三届蓝桥杯省赛B组Python解题思路详解 因为今年采用线上的举办方式进行比赛,所以组委会对题目做了一定的调整,将原来的5道填空+5道编程题变成了2道填空+8道编程题,据说是为了防止抄袭.其实题目 ...

  8. 第七届蓝桥杯C语言C组-(自己懂的题目)

    第七届蓝桥杯C语言C组-(自己懂的题目) 表示刚刚查了成绩,省赛一等奖,有资格去北京了,然后写一下总结, 先来写一下我懂的题目,毕竟我也是菜鸟,听说国赛比预赛难几个等级... 第一题 报纸页数 X星球 ...

  9. 第十七届智能车竞赛--极速越野组总结报告

    第十七届智能车竞赛–极速越野组总结报告 文章目录 第十七届智能车竞赛--极速越野组总结报告 任务简析 所用模块及功能 整体框架和思路 部分源码分析 小车控制线程入口函数: PID 代码: 踩坑指南 导 ...

最新文章

  1. cp linux 显示进度条_Unix/Linux/Mac os下 文件互传
  2. 今天,我种下了一朵小蓝花
  3. mysql数据库时间突然是12小时制_为什么存入mysql数据库中的timestamp,晚了13或14个小时...
  4. 温故而知新!微信小程序的事件处理,吊打面试官系列!
  5. 2014腾讯实习生招聘软件开发类附加题
  6. 政务大数据的东莞实践 智慧政府建设步伐加快
  7. 设计模式学习笔记——状态模式(state)
  8. string.join用法
  9. AI赋能,使用客服机器人改善客户服务的几种方法
  10. 亲测有效,解决C盘空间不足问题
  11. Jena TDB的使用简介
  12. 使用DOS命令操作MySQL
  13. PHP常用的文件操作函数集锦
  14. 逻辑回归实现数字手写识别
  15. Franka Emika Panda 机械臂环境配置
  16. 如何申请小程序与小程序支付
  17. 反渗透设备:反渗透水处理设备特点介绍
  18. 财务分析与决策——绪论
  19. 用 Python 实现 扫雷小游戏
  20. 数据库(66期第三天)

热门文章

  1. Appium 测试APK
  2. loadrunner 12 --录制手机app脚本
  3. java中获取一天的开始时间和结束时间
  4. win7 修改屏幕休眠时间
  5. 监控摄像头进行网页直播
  6. 一、微信小程序拼团项目简介
  7. leetcode之Isomorphic strings
  8. CT一般扫描参数_头颅CT扫描技术
  9. RK3588 实现温控风扇之获取cpu温度(一)
  10. 三菱PLC编程与案例精讲之ST语言