標題: stm32壁障小車源碼(超聲波) [打印本頁]

作者: lindq    時間: 2018-7-26 10:19
標題: stm32壁障小車源碼(超聲波)
//超聲波配置;注意:如果控制想要更精確點,可以多幾個HC-SP04。

  1. #include "stm32f10x.h"
  2. #include "./usart/bsp_usart.h"       
  3. #include "./lcd/bsp_ili9341_lcd.h"
  4. #include "./flash/bsp_spi_flash.h"
  5. #include "interface.h"
  6. #include "UltrasonicCtrol.h"
  7. #include "pwm.h"


  8. unsigned char tick_5ms = 0;//5ms計數(shù)器,作為主函數(shù)的基本周期
  9. char dispBuff[100];


  10.   u16 led0pwmval=400;    //左前輪
  11.         u16 led1pwmval=899;    //左后輪
  12.         u16 led2pwmval=400;    //右前輪
  13.         u16 led3pwmval=899;    //右后輪  
  14.        
  15. void QianJin(void)
  16. {
  17.        
  18.         led0pwmval=400;    //左前輪
  19.         TIM_SetCompare1(TIM3,led0pwmval);
  20.         led1pwmval=899;    //左后輪
  21.         TIM_SetCompare2(TIM3,led1pwmval);
  22.         led2pwmval=400;    //右前輪
  23.         TIM_SetCompare3(TIM3,led2pwmval);
  24.         led3pwmval=899;    //右后輪  
  25.         TIM_SetCompare4(TIM3,led3pwmval);
  26.        
  27. }

  28. void YouZhuan(void)
  29. {
  30.        
  31.         led0pwmval=400;    //左前輪
  32.         TIM_SetCompare1(TIM3,led0pwmval);
  33.         led1pwmval=899;    //左后輪
  34.         TIM_SetCompare2(TIM3,led1pwmval);
  35.         led2pwmval=800;    //右前輪
  36.         TIM_SetCompare3(TIM3,led2pwmval);
  37.         led3pwmval=899;    //右后輪
  38.   TIM_SetCompare4(TIM3,led3pwmval);        
  39. }

  40. int main(void)
  41. {       
  42.         delay_init();       
  43.         GPIOCLKInit();
  44.         UltraSoundInit();
  45.        
  46.         //LCD 初始化
  47.         ILI9341_Init ();         

  48.         /* USART config */
  49.         USART_Config();  
  50.         TIM3_PWM_Init(899,0);
  51.        
  52.   ILI9341_GramScan ( 6 );
  53.         ILI9341_Clear(0,0,LCD_X_LENGTH,LCD_Y_LENGTH);        /* 清屏,顯示全黑 */
  54.        
  55.         while ( 1 )
  56.         {       
  57.                 tick_5ms++;
  58.                 if(tick_5ms >= 5)
  59.                 {
  60.                  GetDistanceDelay();
  61.                         tick_5ms = 0;       
  62.                 }
  63. //                        /*使用c標準庫把變量轉(zhuǎn)化成字符串*/
  64.           sprintf(dispBuff,"juli : %.2d ",distance_cm);
  65.                 ILI9341_DispString_EN( 5, 40, dispBuff );
  66.                 if(distance_cm > 25)
  67.                 {
  68.                         QianJin();//前進
  69.                         Delayms(500);
  70.                 }
  71.                 else
  72.                 {
  73.                         YouZhuan();
  74.                         Delayms(200);
  75.                 }               
  76.         }       
  77. }

  78. /* ------------------------------------------end of file---------------------------------------- */

復制代碼

全部資料51hei下載地址:
超聲波壁障小車.rar (347.7 KB, 下載次數(shù): 35)



作者: hcp    時間: 2019-4-24 14:09
STM32的超聲波避障車怎么做




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1