//超聲波配置;注意:如果控制想要更精確點,可以多加幾個HC-SP04。
- #include "stm32f10x.h"
- #include "./usart/bsp_usart.h"
- #include "./lcd/bsp_ili9341_lcd.h"
- #include "./flash/bsp_spi_flash.h"
- #include "interface.h"
- #include "UltrasonicCtrol.h"
- #include "pwm.h"
- unsigned char tick_5ms = 0;//5ms計數器,作為主函數的基本周期
- char dispBuff[100];
- u16 led0pwmval=400; //左前輪
- u16 led1pwmval=899; //左后輪
- u16 led2pwmval=400; //右前輪
- u16 led3pwmval=899; //右后輪
-
- void QianJin(void)
- {
-
- led0pwmval=400; //左前輪
- TIM_SetCompare1(TIM3,led0pwmval);
- led1pwmval=899; //左后輪
- TIM_SetCompare2(TIM3,led1pwmval);
- led2pwmval=400; //右前輪
- TIM_SetCompare3(TIM3,led2pwmval);
- led3pwmval=899; //右后輪
- TIM_SetCompare4(TIM3,led3pwmval);
-
- }
- void YouZhuan(void)
- {
-
- led0pwmval=400; //左前輪
- TIM_SetCompare1(TIM3,led0pwmval);
- led1pwmval=899; //左后輪
- TIM_SetCompare2(TIM3,led1pwmval);
- led2pwmval=800; //右前輪
- TIM_SetCompare3(TIM3,led2pwmval);
- led3pwmval=899; //右后輪
- TIM_SetCompare4(TIM3,led3pwmval);
- }
- int main(void)
- {
- delay_init();
- GPIOCLKInit();
- UltraSoundInit();
-
- //LCD 初始化
- ILI9341_Init ();
- /* USART config */
- USART_Config();
- TIM3_PWM_Init(899,0);
-
- ILI9341_GramScan ( 6 );
- ILI9341_Clear(0,0,LCD_X_LENGTH,LCD_Y_LENGTH); /* 清屏,顯示全黑 */
-
- while ( 1 )
- {
- tick_5ms++;
- if(tick_5ms >= 5)
- {
- GetDistanceDelay();
- tick_5ms = 0;
- }
- // /*使用c標準庫把變量轉化成字符串*/
- sprintf(dispBuff,"juli : %.2d ",distance_cm);
- ILI9341_DispString_EN( 5, 40, dispBuff );
- if(distance_cm > 25)
- {
- QianJin();//前進
- Delayms(500);
- }
- else
- {
- YouZhuan();
- Delayms(200);
- }
- }
- }
- /* ------------------------------------------end of file---------------------------------------- */
復制代碼
全部資料51hei下載地址:
超聲波壁障小車.rar
(347.7 KB, 下載次數: 35)
2018-7-26 15:55 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|