文章目錄
-
-
- 子產品調試部分
-
-
- 1、超音波測距子產品
- 2、電機調速子產品
- 3、電機驅動子產品
- 4、藍牙控制子產品
- 5、液晶顯示子產品
- 6、合成語音播報子產品
-
- 模式調試部分
-
-
- 1、跟随模式
- 2、避障模式
-
- 實物圖
- 項目代碼
-
這篇部落客要進行一次筆記彙總,設計制作一輛玩具小車,此小車系統可具有以下功能:超音波測距,避障,電機調速,藍牙控制等功能,設定了兩種模式避障模式與跟随模式,可以再做個循迹模式,但是沒有場地不好調試就沒有寫了,但是原理和前兩個模式是類似的,子產品也是使用紅外子產品,可以2路也可以4路,差别不大
子產品調試部分
1、超音波測距子產品
HC-SR04超音波測距子產品的原理介紹與代碼實作
2、電機調速子產品
pwm電機調速的原理介紹與代碼實作
3、電機驅動子產品
L298N電機驅動子產品的接線使用與代碼實作
4、藍牙控制子產品
HC-05藍牙子產品遇到的問題與解決方法及實作和手機通信
5、液晶顯示子產品
LED1602液晶模組介紹及其程式設計使用
6、合成語音播報子產品
TTS語音播報
模式調試部分
1、跟随模式
//紅外跟随子產品
void InfraredFollow_Module(void)
{
//設定小車速度,中檔起步
// Motor_SpeedSet(60000,0.8,0.8);
while(1){
//前面有障礙物,向前走
while(Infrared_StraightMod == 0){
Motor_GoForward();
delay_ms(5);
}
//左邊有障礙,向左轉
while(Infrared_LeftMod == 0){
Motor_TurnLeft(); //左轉
delay_ms(5);
}
//右邊有障礙,向右轉
while(Infrared_RightMod == 0){
Motor_TurnRight(); //右轉
delay_ms(5);
}
Motor_BeParking();
}
}
2、避障模式
//紅外避障子產品
void InfraredAvoidance_Module(void)
{
//設定小車速度,中檔起步
// Motor_SpeedSet(60000,0.8,0.8);
while(1){
Motor_GoForward();
//左邊有障礙
while(Infrared_LeftMod == 0){
Motor_BeParking(); //停車
delay_ms(1000);
Motor_TurnRight(); //右轉
delay_ms(1000);
}
//右邊有障礙
while(Infrared_RightMod == 0){
Motor_BeParking(); //停車
delay_ms(1000);
Motor_TurnLeft(); //左轉
delay_ms(1000);
}
//前面有障礙物,思路是先後退一點點,然後右轉躲避
//還可以設定一個标志為,一次右轉,一次左轉;或者兩到三次右轉,然後一次左轉
while(Infrared_StraightMod == 0){
Motor_BeParking(); //停車
delay_ms(1000);
Motor_GetBack(); //後退
delay_ms(1000);
Motor_BeParking(); //停車
delay_ms(1000);
Motor_TurnRight(); //右轉
delay_ms(1000);
}
}
}
實物圖
項目代碼
stm8智能跟随避障小車