欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
STM32F103AGV小車程序
[打印本頁]
作者:
ForrestWuuu
時間:
2019-6-22 22:21
標題:
STM32F103AGV小車程序
功能:同時實現自主循跡、自動避障、紅外遙控、舵機運動
單片機源程序如下:
//連接方式 :請參考interface.h文件
#include "stm32f10x.h"
#include "interface.h"
#include "LCD1602.h"
#include "IRCtrol.h"
#include "motor.h"
#include "uart.h"
#include "redvoid.h"
#include "UltrasonicCtrol.h"
//全局變量定義
unsigned int speed_count=0;//占空比計數器 50次一周期
char front_left_speed_duty=SPEED_DUTY;
char front_right_speed_duty=SPEED_DUTY;
char behind_left_speed_duty=SPEED_DUTY;
char behind_right_speed_duty=SPEED_DUTY;
unsigned char tick_5ms = 0;//5ms計數器,作為主函數的基本周期
unsigned char tick_1ms = 0;//1ms計數器,作為電機的基本計數器
unsigned char tick_200ms = 0;//刷新顯示
char ctrl_comm = COMM_STOP;//控制指令
char ctrl_comm_last = COMM_STOP;//上一次的指令
unsigned char continue_time=0;
unsigned char bt_rec_flag=0;//藍牙控制標志位
unsigned char duoji_count=0;
unsigned char zhuanjiao = 11;
void DuojiMid()
{
zhuanjiao = 12;
Delayms(300);
}
void DuojiRight()
{
zhuanjiao = 14;
Delayms(300);
}
void DuojiLeft()
{
zhuanjiao = 10;
Delayms(300);
}
//循跡,通過判斷三個光電對管的狀態來控制小車運動
void SearchRun(void)
{
//三路都檢測到
if(SEARCH_M_IO == BLACK_AREA && SEARCH_L_IO == BLACK_AREA && SEARCH_R_IO == BLACK_AREA)
{
ctrl_comm = COMM_UP;
DuojiLeft();
return;
}
if(VOID_R_IO == BARRIER_Y && VOID_L_IO == BARRIER_Y)
{
VoidRun();
}
else if(VOID_L_IO == BARRIER_Y)
{
VoidRun();
}
else if(VOID_R_IO == BARRIER_Y)
{
VoidRun();
}
else if(SEARCH_R_IO == BLACK_AREA)//右
{
ctrl_comm = COMM_RIGHT;
}
else if(SEARCH_L_IO == BLACK_AREA)//左
{
ctrl_comm = COMM_LEFT;
}
else if(SEARCH_M_IO == BLACK_AREA)//中
{
ctrl_comm = COMM_UP;
}
if(SEARCH_M_IO == WHITE_AREA && SEARCH_L_IO == WHITE_AREA && SEARCH_R_IO == WHITE_AREA)
{
continue_time--;//200ms 無接收指令就停車
if(continue_time == 0)
{
continue_time = 1;
CarStop();
}
if(ir_rec_flag == 1)//接收到紅外信號
{
ir_rec_flag = 0;
switch(ctrl_comm)
{
case COMM_UP: CarGo();break;
case COMM_DOWN: CarBack();break;
case COMM_LEFT: CarLeft();break;
case COMM_RIGHT: CarRight();break;
case COMM_STOP: CarStop();DuojiRight();break;
default : break;
}
LCD1602WriteCommand(ctrl_comm);
}
}
}
int main(void)
{
delay_init();
GPIOCLKInit();
UserLEDInit();
LCD1602Init();
IRCtrolInit();
TIM2_Init();
MotorInit();
ServoInit();
RedRayInit();
//USART3Conf(9600);
while(1)
{
if(tick_5ms >= 5)
{
tick_5ms = 0;
tick_200ms++;
if(tick_200ms >= 40)
{
tick_200ms = 0;
LEDToggle(LED_PIN);
}
// continue_time--;//200ms 無接收指令就停車
// if(continue_time == 0)
// {
// continue_time = 1;
// CarStop();
// }
//do something
SearchRun();
if(ctrl_comm_last != ctrl_comm)//指令發生變化
{
ctrl_comm_last = ctrl_comm;
switch(ctrl_comm)
{
case COMM_UP: CarGo();break;
case COMM_DOWN: CarBack();break;
case COMM_LEFT: CarLeft();break;
case COMM_RIGHT: CarRight();break;
case COMM_STOP: CarStop();break;
default : break;
}
Delayms(10);//防抖
LCD1602WriteCommand(ctrl_comm);
}
}
}
}
復制代碼
所有資料51hei提供下載:
移動機器人.zip
(5.58 MB, 下載次數: 73)
2019-6-22 22:19 上傳
點擊文件名下載附件
AGV
下載積分: 黑幣 -5
作者:
伊特
時間:
2019-8-2 18:42
謝謝,有沒有連接圖吶
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1