找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2222|回复: 1
打印 上一主题 下一主题
收起左侧

基于stm32的避障超车无人车源程序 激光测距+灰度红外检测

[复制链接]
跳转到指定楼层
楼主
ID:733136 发表于 2020-4-19 23:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
19参加江苏省机器人大赛获得一等奖该程序部分包括内容有:
1.车道两边有挡板,利用超声波模块测量距离两边的距离,以此达到车道保持的效果。
2.利用激光测距模块测量与前车的距离,当距离小于200mm时转向超车。
3.利用灰度模块检查地面的菱形标志
4.利用红外管检查是否到达人行横道线并停车,

主控板是STM32C8T6
底盘部分包括2个驱动电机+1个转向电机,由平衡小车之家购买。
激光测距模块/红外/超声波/灰度模块可在正点原子官网买到。

单片机源程序如下:
  1. #include "delay.h"
  2. #include "key.h"
  3. #include "sys.h"
  4. #include "lcd.h"
  5. #include "usart.h"
  6. #include "24cxx.h"
  7. #include "vl53l0x.h"
  8. #include "dianji.h"
  9. #include "timer.h"
  10. #include "huidu.h"
  11. #include "led.h"
  12. #include "vl53l0x_gen.h"
  13. #include "Ultrasonic.h"
  14. int main(void)
  15. {  delay_init();                        //延时函数初始化        
  16.    delay_init();
  17.          //uart_init2(115200);
  18.          uart_init2(115200);
  19.    TIM2_time_init(6999,719); //70ms
  20.    Ultrasonic_IO_Init();
  21.    Start_hc_sr04();
  22.          NVIC_Configuration();
  23.          NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置中断优先级分组为组2:2位抢占优先级,2位响应优先级
  24.          Led_Init();
  25.          TIM4_PWM_Init(19999,71);
  26.          TIM_SetCompare4(TIM4, 18500);
  27.          TIM3_PWM_Init(7199,0);
  28.          Dianji_Init();
  29.          TIM_SetCompare3(TIM3, 2800);//电机A占空比
  30.          TIM_SetCompare4(TIM3, 2800);//电机B占空
  31.    Huidu_Init();
  32.          HongWai_Init();
  33.          AT24CXX_Init();               
  34.         while(AT24CXX_Check())//检测不到24c02
  35.          {
  36.                  
  37.                  Led_Red=!Led_Red;//
  38.                  delay_ms(200);
  39.          }
  40. //while(1)
  41. //{
  42. //        GPIO_SetBits(GPIOC,GPIO_Pin_13);
  43. //        delay_ms(200);
  44. //        GPIO_ResetBits(GPIOC,GPIO_Pin_13);
  45. //        delay_ms(200);
  46. //}
  47.         Read_data();
  48.          tingzhi();
  49. //        while(1)
  50. //        {
  51. //                u8 flag = 0;
  52. //                flag = Read_data();
  53. //                if(flag)
  54. //                {
  55. //                        
  56. //        
  57. //        GPIO_SetBits(GPIOC,GPIO_Pin_13);
  58. //        delay_ms(200);
  59. //        GPIO_ResetBits(GPIOC,GPIO_Pin_13);
  60. //        delay_ms(200);
  61. //        
  62. //                }
  63. //        }
  64.         while(1)
  65.          {
  66. //                  zhixing();
  67.       vl53l0x_test();//vl53l0x测试
  68.      }
  69. }
复制代码

所有资料51hei提供下载:
锥形标.7z (314.28 KB, 下载次数: 37)




在这里将源码公布

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏2 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:834827 发表于 2020-10-26 19:22 | 只看该作者
你参加过19年的江苏省赛
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表