百科融创主车代码,嵌入式应用开发赛项
立即下载
资源介绍:
主车代码视频如链接:https://www.bilibili.com/video/BV12LzSYWEEK/
包含,基础运动,标志物通讯与控制,运动读卡,测距,车库,灯光档位判断,显示,转向灯操作,超时处理,常用算法等等功能,增加全自动坐标跑图,pwm寻迹,优化原有功能代码
Car_Go_RFID(45,300);//前进函数(但前进中有卡[2023])
Car_Track_RFID(40);//循迹(但循迹中有卡[2023])
Car_Back(30,120); //后退(更好矫正)
alone_duodixing(35);//循迹中遇多地形(单独没有白卡[2023])
Car_Go(30,100);//前进(专门用于启动)
两个拐弯之间加延时
delay_ms(500);delay_ms(500);
delay_ms(300);
Car_L(Angle_Speed_Flag); //左转
Car_Track(Speed_Flag);//循迹
Car_Go(Speed_Flag,Car_L_Ma); //前进
Car_R(Angle_Speed_Flag); //右转
Car_Track(Speed_Flag);//循迹
Car_Go(Speed_Flag,Car_L_Ma); //前进
Car_Back(Speed_Flag,1000); //后退
-----------------------------------------
Car_Angle(1,Angle_Speed_Flag,810) ;//左转800个码盘值
Car_Angle(0,Angle_Speed_Flag,900) ;//右转800个码盘值
------------------------------------
Car_Angle(1,Angle_Speed_Flag,470) ;//左转45度(码盘值)
Car_Angle(0,Angle_Speed_Flag,470) ;//右转45度(码盘值)
-----------------------------------------------------
Car_Ma_Track(Speed_Flag,1000);//码盘循迹(要加延时)
delay_ms(500);
----------------- 智能停车库 -----------------------------
LiTiCheKu(1);//立体车库到1层(只是A车库)
Garage_Cont_Zigbee('A',1); //控制立体车库到达指定车库
LiTiCheKu_number(1,&cengshu_Data_A); //获取返回车库A的层数
LiTiCheKu_number(2,&cengshu_Data_B); //获取返回车库A的层数
-----------------------------------------------
WXChongDian(1);//开启无线充电标志
WXChongDianset(1,0); //默认无线充电开启码开启
ETC_Get_Zigbee();//ETC系统检测
---------------------------------------------------
Car_Ma_Track(50,650);//码盘循迹(用于循迹路灯)
delay_ms(200);//要加延时
get_LuDeng(Light_num);//获取智能路灯初始档位值
LuDeng((int)pow(exp(1)+1,JuLI_Data/60)%4+1);
//路灯调节
BaoJingTai(1);//打开报警台
BaoJingTaiSet(BJT_on); //报警台ZigBee数据设置函数
--------------------------------------------------------------
获取超声波数据发送给TFT A
Get_JuLi(&JuLI_Data); //获取超声波数据
TFT_JuLi(1,JuLI_Data);//向TFT发送距离
TFT_JuLi(1,JuLI_Data);
---------------------------------------------------------------
LED显示:
LED_BiaoZhi(start,0);//开始计时
LED_BiaoZhi(display2,0x202010);
//向第二排发送指定数据
LED_BiaoZhi(stop,0);//停止计时
LED_BiaoZhi(jl,JuLI_Data);//向LED发送距离
---------------------------------------------------------------
Send_InfoData_To_Fifo((char *)ADDR_Str,14);
// 打印读写操作块地址
----------------------------------------------------------------
Flag_Handle(0x01); //多地形与寻卡处理(无法使用)
Flag_Handle(0x02); //新的多地形与寻卡
Flag_Handle(0x03); //多地形+卡片(但不读卡)
----------------------------上层交互------------------------------------
上层交互 (放在case末端)
{
YSW(uint8_t mode);//预设位的设置(这个不用放在case末端)
delay_ms(300);
YSW(uint8_t mode);//预设位的设置
delay_ms(300);
Flag_Handle(0x23); //交通灯A (放在case末端)
Flag_Handle(0x26); //交通灯B (放在case末端)
Flag_Handle(0x30); //交通灯C (放在case末端)
Flag_Handle(0x31); //交通灯D (放在case末端)
Flag_Handle(0x27);//中断两个上层交互延时问题(放在case末端)
delay_ms(500);
delay_ms(500);
Flag_Handle(0x22); //二维码 (放在case末端)
characters_report(); //语音播报文字识别(二维码)
delay_ms(500);
delay_ms(500);
delay_ms(500);
delay_ms(500);
delay_ms(500);
characters_report(); //语音播报文字识别(二维码)
delay_ms(500);
Flag_Handle(0x24); //行人识别 (放在case末端)
Flag_Handle(0x21); //车牌识别 (放在case末端)
Flag_Handle(0x35); //交通标志 (放在case末端)
traffic_report(street);//识别交通标志让车站播报
delay_ms(500);
delay_ms(500);
delay_ms(500);
delay_ms(500);
delay_ms(500);
traffic_report(street);//识别交通标志让车站播报
delay_ms(500);
------------------------------------------------------------
delay_ms(500);
TFTXianShi(1,TFT_HEX,XingZhuang_Data);//向TFT A 发送形状数据
delay_ms(500);
TFTXianShi(1,TFT_HEX,XingZhuang_Data);
---------------------------------------------------------------
TFT_UP_DOWN(1,0);//TFT A 图片向下翻页
TFT_UP_DOWN(1,1);//TFT A 图片向上翻页
----------------------------------------------------------------
---------------------------------------------------------------
DaoZha_num((char*)CP_Data);//开启道闸(专门给上层)
delay_ms(500);
---------------------------------------------------------------
TFTXianShi(2,TFT_CP,CP_Data);//向TFT B 发送车牌数据
delay_ms(500);
TFTXianShi(2,TFT_CP,CP_Data);
}
-------------------------------从车--------------------------------
从车
{
DaoZha_num((char*)CP_Data2);//开启道闸(专门给从车)
delay_ms(500);
Path_Set(Read_data[0]); //向从车发送隐藏路径数据
Send_BaoJingTai_data();//向从车发送报警台数据
Send_CongChe_LuDeng(uint8_t mode);//发送路灯初始档位给从车
Send_CongChe_auto(uint8_t com);//从车全自动
delay_ms(500);
Flag_Handle(0x25);//从车跑全程全自动(放在case末端)
Flag_Handle(0x28);//从车第一次全自动(放在case末端)
Flag_Handle(0x29);//从车第二次全自动(放在case末端)
}
--------------------------------------------------------------------
My_WifiRx_Check
//语音播报
do
{
SYN7318_Flag = SYN7318_Extern();
}
while ((!SYN7318_Flag) && (--number));
-----------------------------------------------------------------
智能车站语言播报
YuYinBiaoZhi(uint8_t mode,uint8_t temp);//控制语音播报标志物
delay_ms(500);//如果是播报时间和日期等一定要500ms
voice_report();//语音标志物合成播放当前日期、时间、天气、温度函数
--------------------------------------------------------------------------
LiTiBiaoZhi(JL,Get_Suijima());
//在距离模式下向立体标志物发送语音播报随机码
Li_Ti_Data(char *p);//立体显示标志物显示指定数据
------------------------------------------------------------------------
//倒车入库
{
Car_Ma_Track(Speed_Flag,500);//码盘循迹
delay_ms(500);
Car_Back(Speed_Flag,1600); //后退
}
----------------------------------------------------------------------------
从RFID卡读取车库信息
switch(RFID_P2[3])
{
case 2:
Garage_Cont_Zigbee('A',2); //控制立体车库到达指定车库
// SYN_TTS("车库上升到二层");
break;
case 3:
Garage_Cont_Zigbee('A',3); //控制立体车库到达指定车库
// SYN_TTS("车库上升到三层");
break;
case 4:
Garage_Cont_Zigbee('A',4); //控制立体车库到达指定车库
// SYN_TTS("车库上升到四层");
break;
}
资源文件列表:
2023CarV4.0(2023国赛 比赛时的旧方法仅供参考).zip 大约有410个文件