|
小車實(shí)物組裝圖
傳感器
小車整體
調(diào)試巡線:
1、要分析清楚,巡線傳感器數(shù)據(jù)和電機(jī)動作的關(guān)系
2、車速要合適
根據(jù)地圖,來分析如何實(shí)現(xiàn)小車的無火巡線(順時針方向或逆時針方)
傳感器要調(diào)整到合適的狀態(tài),當(dāng)探頭在黑線上時,傳感器燈亮,不在黑線上時,傳感器燈滅
在行進(jìn)過程中要檢測到火焰,通過火焰?zhèn)鞲衅?br />
應(yīng)用STM32的ADC來實(shí)現(xiàn)
先看下STM32的ADC配置
在STM32的核心板上,有四根針,左側(cè)是3.3v 右側(cè)是GND
STM32 火焰?zhèn)鞲衅?br />
核心板左側(cè) VCC
核心板右側(cè) GND
控制板最上邊的白色接口L1 A1
G A2
HW1 A3
HW2 A4
B A5
軟件上需要查閱資料,看STM32ADC如何配
配置5個通道,來檢測火焰的數(shù)據(jù)
尋線,火焰檢測,滅火
1、測試下火焰檢測的代碼
2、考慮如何實(shí)現(xiàn)滅火動作
1、風(fēng)扇要轉(zhuǎn)動,需要清楚哪個IO引腳是控制風(fēng)扇,配置這個引腳為輸出方向
2、要檢測到火焰狀態(tài)
3、需要正對火焰,表明小車應(yīng)該有一個轉(zhuǎn)向的動作,停車,滅火
4、滅火完成后,需要回到巡線狀態(tài)
void process_fire(void)
{
int LineL1 = 1, LineL2 = 1, LineR1 = 1, LineR2 = 1;
bsp_GetLineWalking(&LineL1, &LineL2, &LineR1, &LineR2);
if(LineL1==0 && LineL2==0 && LineR1==0 && ADC_ConvertedValueLocal[4]>2)
{
delay_ms(100);
Car_Stop();
Car_SpinLeft(1700, 2000);
delay_ms(580);
Car_Run(1700);
delay_ms(300);
Car_Stop();
//while(ADC_ConvertedValueLocal[4]>2)
GPIO_ResetBits(GPIOA,GPIO_Pin_1);
delay_ms(5000);
delay_ms(5000);
delay_ms(5000);
GPIO_SetBits(GPIOA,GPIO_Pin_1);
Car_Back(1700);
delay_ms(300);
Car_SpinRight(2000, 1700);
delay_ms(580);
}
}
全部資料51hei下載地址:
火焰?zhèn)鞲衅?7z
(2.57 MB, 下載次數(shù): 55)
2020-11-19 14:56 上傳
點(diǎn)擊文件名下載附件
循跡
尋跡滅火.7z
(2.58 MB, 下載次數(shù): 65)
2020-11-19 14:56 上傳
點(diǎn)擊文件名下載附件
尋跡+滅火
|
評分
-
查看全部評分
|