找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2548|回复: 1
打印 上一主题 下一主题
收起左侧

stm32壁障小车源码(超声波)

[复制链接]
跳转到指定楼层
楼主
ID:378645 发表于 2018-7-26 10:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
//超声波配置;注意:如果控制想要更精确点,可以多几个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计数器,作为主函数的基本周期
  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标准库把变量转化成字符串*/
  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, 下载次数: 35)


评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:514786 发表于 2019-4-24 14:09 | 只看该作者
STM32的超声波避障车怎么做
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表