找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2682|回复: 1
收起左侧

STM32蓝牙智能小车避障程序

[复制链接]
ID:284308 发表于 2020-2-23 12:18 | 显示全部楼层 |阅读模式

功能说明图

功能说明图

效果图

效果图


单片机源程序如下:
  1. #include "IRSEARCH.h"
  2. #include "delay.h"
  3. #include "motor.h"
  4. #include "stm32f10x.h"                  // Device header

  5. char ctrl_comm = COMM_STOP;//控制指令
  6. char ctrl_comm_last = COMM_STOP;//上一次的指令

  7. void IRSearchInit(void)
  8. {
  9.         GPIO_InitTypeDef  GPIO_InitStructure;
  10.         RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB , ENABLE);
  11.        
  12.   GPIO_InitStructure.GPIO_Pin = SEARCH_R_PIN;//配置使能GPIO管脚
  13.         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;//配置GPIO模式,输入上拉
  14.         GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;//配置GPIO端口速度
  15.         GPIO_Init(SEARCH_R_GPIO , &GPIO_InitStructure);
  16.        
  17.         GPIO_InitStructure.GPIO_Pin = SEARCH_L_PIN;//配置使能GPIO管脚
  18.         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;//配置GPIO模式,输入上拉
  19.         GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;//配置GPIO端口速度
  20.         GPIO_Init(SEARCH_L_GPIO , &GPIO_InitStructure);
  21. }

  22. void SearchRun(void)
  23. {
  24.         if(SEARCH_L_IO == WHITE_AREA && SEARCH_R_IO == WHITE_AREA)
  25.                 ctrl_comm = COMM_UP;
  26.         else if (SEARCH_L_IO == BLACK_AREA && SEARCH_R_IO == WHITE_AREA)
  27.                 ctrl_comm = COMM_LEFT;
  28.         else if (SEARCH_R_IO == BLACK_AREA & SEARCH_L_IO == WHITE_AREA)
  29.                 ctrl_comm = COMM_RIGHT;
  30.         else ctrl_comm = COMM_STOP;
  31.        
  32.         if(ctrl_comm_last != ctrl_comm)
  33.         {
  34.                         ctrl_comm_last = ctrl_comm;
  35.                          switch(ctrl_comm)
  36.                                 {
  37.                                         case COMM_UP:    ZYSTM32_run(50,10);break;
  38.                                         case COMM_DOWN:  ZYSTM32_back(50,10);break;
  39.                                         case COMM_LEFT:  ZYSTM32_Left(50,10);break;
  40.                                         case COMM_RIGHT: ZYSTM32_Right(50,10);break;
  41.                                         case COMM_STOP:  ZYSTM32_brake(10);break;
  42.                                         default : break;
  43.                                 }
  44.         }
  45. }
复制代码

全部资料51hei下载地址:
ZYSTM32-A0 智能小车红外避障实验(带后退掉头避障).7z (189.96 KB, 下载次数: 52)
回复

使用道具 举报

ID:676153 发表于 2020-2-28 14:50 | 显示全部楼层
谢谢分享,不做伸手党
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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