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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3105|回復: 18
打印 上一主題 下一主題
收起左側

問一下,運行一個超聲波模塊我需要那些東西?

  [復制鏈接]
跳轉到指定樓層
樓主
ID:660005 發表于 2021-9-18 22:08 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
運行一個超聲波模塊我需要那些東西?一個單片機,一個電腦,超聲波模塊還有什么呀?

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:230742 發表于 2021-9-19 00:29 | 只看該作者
電阻,電容,三極管,二極管,萬用表,電烙鐵,焊錫,松香,一些連接線。電源。。。。。。
歡迎入坑!
回復

使用道具 舉報

板凳
ID:236035 發表于 2021-9-19 08:05 | 只看該作者
不要什么了。樓上的甭嚇人。
回復

使用道具 舉報

地板
ID:123289 發表于 2021-9-19 08:47 | 只看該作者
認真閱讀【超聲波模塊】手冊
回復

使用道具 舉報

5#
ID:660005 發表于 2021-9-26 16:36 | 只看該作者
不不,我已經有stm32芯片了,超聲波模塊,就是問一下要用stm32去驅動超聲波模塊還需要什么模塊或者說什么軟件?
回復

使用道具 舉報

6#
ID:844772 發表于 2021-9-26 16:58 | 只看該作者
啥都不用了,寫程序就行了,用串口發送距離。
回復

使用道具 舉報

7#
ID:660005 發表于 2021-9-27 22:54 | 只看該作者
我現在也開始寫程序了,程序也可以運行,但是為什么串口助手給我顯示測試距離為0,我就是想不通這一點?
回復

使用道具 舉報

8#
ID:748788 發表于 2021-9-28 17:02 | 只看該作者
開始還以為你是白手起家,原來是程序問題,既然不愿意提供程序讓別人幫你看看,那就自己在壇子里搜搜別人的程序,自己研究了,壇子里的相關程序不少,還有仿真
回復

使用道具 舉報

9#
ID:660005 發表于 2021-9-29 22:40 | 只看該作者
這個。。我是個學生,不算白手起家吧,但是我問的也不是程序上的問題,怎么說呢?就是我的程序運行了,但是串口助手它返回的東西不是我想要的?想問問為什么?
回復

使用道具 舉報

10#
ID:624769 發表于 2021-9-29 22:46 | 只看該作者
123689 發表于 2021-9-29 22:40
這個。。我是個學生,不算白手起家吧,但是我問的也不是程序上的問題,怎么說呢?就是我的程序運行了,但是 ...

你讓他返回一個 “test is successful!!!”  你能成功收到的話,你就去研究,本來應該產生你想要的數據,結果產生0的代碼。
否則,就先研究串口。
回復

使用道具 舉報

11#
ID:844772 發表于 2021-9-30 08:39 | 只看該作者
123689 發表于 2021-9-29 22:40
這個。。我是個學生,不算白手起家吧,但是我問的也不是程序上的問題,怎么說呢?就是我的程序運行了,但是 ...

返回的是什么值啊,你截屏看看,或者發一下程序
回復

使用道具 舉報

12#
ID:964308 發表于 2021-9-30 10:11 來自手機 | 只看該作者
杜邦線,單片機,超聲波模塊,然后自己寫程序就好了
回復

使用道具 舉報

13#
ID:964308 發表于 2021-9-30 10:13 來自手機 | 只看該作者
glinfei 發表于 2021-9-30 08:39
返回的是什么值啊,你截屏看看,或者發一下程序

就是一串字符,用串口發送,不過需要調好波特率啥的,不會很難
回復

使用道具 舉報

14#
ID:637144 發表于 2021-10-4 15:57 來自手機 | 只看該作者
直接單片機串口
回復

使用道具 舉報

15#
ID:915102 發表于 2021-10-4 16:11 | 只看該作者
四根杜邦線
回復

使用道具 舉報

16#
ID:915102 發表于 2021-10-4 16:15 | 只看該作者
123689 發表于 2021-9-29 22:40
這個。。我是個學生,不算白手起家吧,但是我問的也不是程序上的問題,怎么說呢?就是我的程序運行了,但是 ...

串口助手返回的不是你想要的不就是程序不對嗎
回復

使用道具 舉報

17#
ID:660005 發表于 2021-10-16 23:28 | 只看該作者
#include "delay.h"
#include "sys.h"
#include "usart.h"
#include "hcsr04.h"


        

int main(void)
{        
         float length;
                 delay_init();                     //延時函數初始化         
         uart_init(115200);         //串口初始化為115200
         HCSR04_Init();
         printf("超聲波初始化成功");//檢測超聲波是否初始化
   length=gettime();
         printf("距離為:%.3f cm\n",length);//打印總的距離        
        
        
}        
//以上是主函數模塊
#include "hcsr04.h"
#include "delay.h"

u16 msHcCount =0;
void HCSR04_Init(void)
{
        TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;
        GPIO_InitTypeDef  GPIO_InitStructure;
        
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);         //使能PB端口時鐘
        RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE);
        
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;                                 //PB.13 端口配置
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;                  //推挽輸出
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;                 //IO口速度為50MHz
        GPIO_Init(GPIOB, &GPIO_InitStructure);                                         //根據設定參數初始化GPIOB.13

                        
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_14;                                 //PB.14 端口配置
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD;                  //下拉輸入
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;                 //IO口速度為50MHz
        GPIO_Init(GPIOB, &GPIO_InitStructure);                                         //根據設定參數初始化GPIOB.14

        
                //定時器TIM3初始化
        TIM_TimeBaseStructure.TIM_Period =10000-1; //設置在下一個更新事件裝入活動的自動重裝載寄存器周期的值        
        TIM_TimeBaseStructure.TIM_Prescaler =7200-1; //設置用來作為TIMx時鐘頻率除數的預分頻值
        TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1; //設置時鐘分割:TDTS = Tck_tim
        TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;  //TIM向上計數模式
        TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure); //根據指定的參數初始化TIMx的時間基數單位

        TIM_ITConfig(TIM3,TIM_IT_Update,ENABLE ); //使能指定的TIM3中斷,允許更新中斷

        //中斷優先級NVIC設置
               
        
        TIM_ClearFlag(TIM3,TIM_FLAG_Update);
        TIM_ITConfig(TIM6,TIM_IT_Update,ENABLE);
        hcsr04_NVIC();
        TIM_Cmd(TIM3,ENABLE);
}

static void opentimerhc()
{
        TIM_SetCounter(TIM2,0);
        msHcCount=0;
        TIM_Cmd (TIM2,ENABLE);
}        
static void closeimerhc()
{
        TIM_Cmd(TIM2,DISABLE);
}
        
        
void hcsr04_NVIC(void)
{
  NVIC_InitTypeDef NVIC_InitStructure;
        NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//設置NVIC中斷分組2:2位搶占優先級,2位響應優先級

//         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //設置NVIC中斷分組2:2位搶占優先級,2位響應優先級
        NVIC_InitStructure.NVIC_IRQChannel = TIM3_IRQn;  //TIM3中斷
        NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;  //先占優先級1級
        NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;  //從優先級0級
        NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //IRQ通道被使能
        NVIC_Init(&NVIC_InitStructure);  //初始化NVIC寄存器

}


void TIM3_IRQHandler(void)   //TIM3中斷
{
        if (TIM_GetITStatus(TIM3, TIM_IT_Update) != RESET)  //檢查TIM3更新中斷發生與否
                {
                        TIM_ClearITPendingBit(TIM3, TIM_IT_Update  );  //清除TIMx更新中斷標志
                        msHcCount++;
                }
               
}
u32 gettime(void)//時間獲取函數
{
        u32 t=0;
        t=msHcCount*1000;
        t+=TIM_GetCounter(TIM2);
        TIM2->CNT=0;
        return t;
        delay_ms(50);
}
float hcgetlength(void)
{
u32 t=0;
        int i=0;
        float lengthTemp=0;
        float sum=0;
        while(i!=5)
        {
                GPIO_ResetBits(GPIOB,GPIO_Pin_13);                //預拉低trig引腳
                delay_ms(20);
                GPIO_SetBits(GPIOB,GPIO_Pin_13);
                delay_ms(20);
                GPIO_ResetBits(GPIOB,GPIO_Pin_13);//發出脈沖
                while(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_14)==0)//等待信號發出,信號發出,計數器置0,同時變為高電平
                {
                        opentimerhc();
                        i=i+1;
                }        
                while(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_14)==1)//等待信號接收,信號發出時,引腳一直置1
                {
                        closeimerhc();
                        t=gettime();
                        lengthTemp=((float)t*170/1000);
                        sum=lengthTemp+sum;
                }        
        lengthTemp=sum/5.0;
                return lengthTemp;
        }
}
這是超聲波模塊
這個就是程序,我不曉得有什么問題,串口助手什么都不說要不就是測不了距離,是我的串口的問題還是,程序問題?
回復

使用道具 舉報

18#
ID:339654 發表于 2021-10-26 23:00 | 只看該作者
還有會寫程序就行了
回復

使用道具 舉報

19#
ID:976493 發表于 2021-11-1 19:17 來自手機 | 只看該作者
啥都不用,有個板子,有個模塊就行
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产激情91久久精品导航 | 国产精品无码专区在线观看 | 免费观看www | 色综合久久伊人 | 国产乱码精品1区2区3区 | 天天干狠狠干 | www.操.com| 亚洲高清在线观看 | 久久久影院 | 日本不卡视频 | 久久爆操 | 欧美日韩激情 | 中文字幕人成乱码在线观看 | 黄色国产| 在线中文字幕视频 | 巨大荫蒂视频欧美另类大 | 国产成人免费视频 | 成人av免费| 精品久久久久久久久久久久久久 | 国产在线高清 | 日日骚网| 国产在线精品一区二区 | 欧美a级成人淫片免费看 | 男女羞羞视频在线看 | 国产欧美日韩一区二区三区在线观看 | 国产三级电影网站 | 久久久久久久久久久久久9999 | www国产成人免费观看视频,深夜成人网 | 99热在这里只有精品 | 亚洲一区二区三区视频免费观看 | 免费看黄色小视频 | 久久这里只有精品首页 | 中文字幕日韩欧美一区二区三区 | 日韩在线视频免费观看 | 日韩电影免费在线观看中文字幕 | 99这里只有精品视频 | 电影午夜精品一区二区三区 | 在线观看国产wwwa级羞羞视频 | 国产欧美在线 | 亚洲精品久久久9婷婷中文字幕 | 成人久久久久 |