找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 3372|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

STM32藍(lán)牙智能小車避障程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主


單片機(jī)源程序如下:
  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. }
復(fù)制代碼

全部資料51hei下載地址:
ZYSTM32-A0 智能小車紅外避障實(shí)驗(yàn)(帶后退掉頭避障).7z (189.96 KB, 下載次數(shù): 52)
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:676153 發(fā)表于 2020-2-28 14:50 | 只看該作者
謝謝分享,不做伸手黨
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表