久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: 基于stm32的超聲波避障小車 [打印本頁]

作者: 墨染宸星    時間: 2019-11-26 10:35
標題: 基于stm32的超聲波避障小車
本帖最后由 墨染宸星 于 2019-12-2 12:41 編輯

最近STM32剛剛入門,用ZET6和超聲波模塊做了一個避障小車,希望對初學者能有幫助;
大體思路如下:
利用定時器判斷超聲波的發出到接收的時間,然后通過公式計算得到距離,再在主函數里進行數據分析,控制電機進行轉彎,實現避障的功能。
也可以再加上屏幕,用來顯示測得的距離。
這里我們用的是HC-SR04模塊,此模塊性能穩定,測度距離精確,模塊高精度,盲區小。采用IO口TRIG觸發測距,給至少10us的高電平信號;模塊自動發送8個40khz的方波,自動檢測是否有信號返回;有信號返回,通過IO口ECHO輸出一個高電平,高電平持續的時間就是超聲波從發射到返回的時間。測試距離=(高電平時間*聲速(340M/S))/2;本模塊使用方法簡單,一個控制口發一個10US以上的高電平,就可以在接收口等待高電平輸出。一有輸出就可以開定時器計時,當此口變為低電平時就可以讀定時器的值,此時就為此次測距的時間,方可算出距離。如此不斷的周期測,即可以達到你移動測量的值



小車設計思路:
3個超聲波分別安裝在正前方左邊和右邊各一個,具體情況見下圖:
在主函數里調用測距函數,分別計算出障礙物離小車前方、左邊、右邊的距離lenth1、lenth2、lenth3,如果前方距離大于20cm并且左邊和右邊的距離大于10厘米則前進(GO)負責判斷左邊和右邊的距離。如果左邊距離小于10cm(lenth2<10),則右轉(YOU)。如果右邊的距離小于10cm(lenth3<10),則左轉(ZUO)。其它情況下則是:后退——>延時500ms——>左拐——>延時200ms。值得注意的是:小車在超聲波測距時要保證小車處于靜止狀態為了避免小車在測距時小車依舊在運動從而增加誤差。同時利用PWM調速盡量讓小車速度慢下來,來減小誤差



主要代碼如下
#include <hcsr04.h>
#include <motor.h>
#include <delay.h>
#include <stm32f10x.h>
#include <usart.h>
#include <key.h>
#include <lcd.h>
void  Car_Turn(float length1,float length2);
int main()
{
   delay_init();//延時初始化
         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
         MotorDriver_Init();//電機初始化
         uart_init(9600);
         KEY_Init();
         LCD_Init();
         HC_SR04_1_Init();
         POINT_COLOR=RED;//設置字體為紅色
         LCD_ShowString(10,70,200,16,16,"Please press wake_up to");
         LCD_ShowString(10,90,200,16,16,"start the little car");
         while(KEY_Scan(0) != WKUP_PRES);
         LCD_Clear(WHITE);
         LCD_ShowString(60,70,200,16,16,"IS WORKING...");
         //TIM3_Int_Init(1999,7199);
   while(1)
         {
                       float        length1 = Senor_Using_1();//超聲波模塊測的距離
                       float  length2 = Senor_Using_2();
                       
                       Car_Turn(length1,length2);
                       
                                         //printf("\n\t%f\t\n",length1);
                                         //printf("\n\t%f\t\n",length2);
                                         //LCD_ShowString(60,70,200,16,16,"distance:    cm");
                                         //LCD_ShowNum(80,70,length1,16,16);
                       
                                         if(KEY_Scan(0) == KEY0_PRES)
                                         {
                                            MotorDriver_L_Turn_Stop();
                          MotorDriver_R_Turn_Stop();
                                                  break;
                                         }
                                         delay_ms(50);
         }
}


void  Car_Turn(float length1,float length2)
{
  if(length1 > 30&&length2 > 30)//前進
        {
           MotorDriver_L_Turn_Forward();
                 MotorDriver_R_Turn_Forward();
        }else if(length1 <= 30&&length2 > 30)//右轉
        {
                MotorDriver_L_Turn_Forward();
                MotorDriver_R_Turn_Reverse();
        }
        else if(length1 > 30&&length2 <= 30)//左轉
        {
          MotorDriver_R_Turn_Forward();
                MotorDriver_L_Turn_Reverse();
        }
        else if(length1 <= 30&&length2 <= 30)//后退+左轉
        {
          MotorDriver_R_Turn_Reverse();
                MotorDriver_L_Turn_Reverse();
                delay_ms(150);
                MotorDriver_R_Turn_Forward();
                MotorDriver_L_Turn_Reverse();
                delay_ms(150);
        }
}


20190803160005567.jpg (796.22 KB, 下載次數: 71)

20190803160005567.jpg

避障小車.7z

229.61 KB, 下載次數: 81, 下載積分: 黑幣 -5


作者: admin    時間: 2019-11-26 14:24
本帖需要重新編輯補全電路原理圖,源碼,詳細說明與圖片即可獲得100+黑幣(帖子下方有編輯按鈕)




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 在线国产99| 曰韩一二三区 | 日韩欧美国产一区二区三区 | 精品国产乱码一区二区三 | 国产小视频精品 | 亚洲成人av在线播放 | av在线视 | 国产精品日韩欧美一区二区三区 | 成年人在线播放 | 亚洲 中文 欧美 日韩 在线观看 | 一区二区三区视频在线观看 | a在线观看 | 午夜在线小视频 | 免费的日批视频 | 亚洲精品一区二区久 | 手机在线一区二区三区 | 九九在线视频 | 免费黄色特级片 | 99热.com| 精品久久久久一区 | 久久国产美女视频 | 中文字幕亚洲一区二区va在线 | 日韩欧美字幕 | 狠狠ri| 精品视频一区二区三区在线观看 | 国产精品久久久久久av公交车 | 亚洲综合字幕 | av一级一片 | 国产成人在线观看免费 | 国产一级视频在线 | 午夜精品视频 | 欧美久久不卡 | 影音先锋成人资源 | 91精品久久久久久久久久小网站 | 久久精品视频免费看 | 亚洲男人网 | 亚洲欧美激情国产综合久久久 | 国产成人免费视频网站高清观看视频 | 日韩av一区二区在线观看 | 日韩国产一区二区三区 | www.三级 |