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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

狗的眼睛瞎了想做一個超聲波測距報警裝置

[復制鏈接]
跳轉到指定樓層
樓主
ID:396179 發表于 2018-9-10 20:33 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
各位大神,我的狗瞎了經常會摔下臺階,所以我想弄一個超聲波距離報警裝置,但是本人沒有這方面基礎,頭很疼,希望各位大神幫我一下。功能要求類似于掃地機器人的防跌落傳感器,例如:前方高度差超過x值會蜂鳴警報。在淘B上看到一款成品超聲波測距裝置(裝置鏈接),功能為測距小于x值報警,我想改成距離大于x值報,所以在此發布求助。

制作過程中的零件開銷由我支付,并可額外支付報酬,希望得到各位大神的幫助,聯系方式:15759179377 微信同號
游客,本帖隱藏的內容需要積分高于 1 才可瀏覽,您當前積分為 0

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

使用道具 舉報

沙發
ID:386381 發表于 2018-9-11 08:00 來自觸屏版 | 只看該作者
用紅外測距或激光測距,用別的方法吧,超聲波測距狗的耳朵能聽得到,他會感覺很吵,一直在響

評分

參與人數 1黑幣 +11 收起 理由
凌凈清河 + 11 贊一個!從實際考慮問題的人不多了

查看全部評分

回復

使用道具 舉報

板凳
ID:280876 發表于 2018-9-11 14:35 | 只看該作者
做出來了又如何,就算報警狗也不會判斷吖
回復

使用道具 舉報

地板
ID:111634 發表于 2018-9-12 07:40 | 只看該作者
這是幾十年前就有的成功課題,不過不是狗,是盲人,辦法是超聲測距。
回復

使用道具 舉報

5#
ID:396179 發表于 2018-9-18 12:27 | 只看該作者
wushiye54 發表于 2018-9-11 14:35
做出來了又如何,就算報警狗也不會判斷吖

如果實現該功能那么在報警之后狗還跌下臺階 ,在摔幾次之后自然就會在聽到警報的時候停下,類似于止吠器
回復

使用道具 舉報

6#
ID:396179 發表于 2018-9-18 12:29 | 只看該作者
文鳳軒 發表于 2018-9-11 08:00
用紅外測距或激光測距,用別的方法吧,超聲波測距狗的耳朵能聽得到,他會感覺很吵,一直在響

問題是不管是紅外還是激光 還是超聲波我都不會做
回復

使用道具 舉報

7#
ID:396179 發表于 2018-9-18 12:31 | 只看該作者
zl2168 發表于 2018-9-12 07:40
這是幾十年前就有的成功課題,不過不是狗,是盲人,辦法是超聲測距。

是這樣的,這樣的裝置類似于倒車雷達,是可以實現的,問題是我自己沒有這方面知識,所以很尷尬
回復

使用道具 舉報

8#
ID:400950 發表于 2018-9-21 13:11 | 只看該作者
#include<reg52.h>   
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char

sbit LED1 = P2^0;
sbit LED2 = P2^1;
sbit LED3 = P2^2;
sbit beep = P2^3;           //蜂鳴器//
sbit trig = P2^5;      //超聲波測距模塊Trig
sbit echo = P3^2;     //超聲波測距模塊Echo
bit flag1;         //觸發信號標志位//

uchar count;           //中斷累加變量
long int distance;    //測量所得距離
uchar code DSY_CODE[]=
{
        0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90                         //數碼管編碼//
};
uchar s = 0;
                                                                                                                          

void DelayMS(uint x)         /*延時函數*/
{
    uchar i;
    while (x--)
    {
                for (i = 120;i > 0;i--);
    }
}
void fmq()                                 /*蜂鳴器函數*/
{
        beep = ~beep;
        DelayMS(200);
        beep = ~beep;
}


/*------------------------------------------------
                  延時函數
------------------------------------------------*/
void delayt(uint x)
{
    uchar j;
    while(x-- > 0)
    {
              for(j = 0;j < 125;j++)
        {
          ;
        }
    }
}


/*------------------------------------------------
定時器0初始化,用于計算響應信號時間
------------------------------------------------*/
void init_t0()
{
       
        TMOD = 0x01;         
    TL0 = 0x66;
    TH0 = 0xfc;              //1ms
    ET0 = 1;            
    EA = 1;                     
}


/*------------------------------------------------
    超聲波模塊觸發信號
------------------------------------------------*/
void trigger()
{
    trig = 0;
                  _nop_();
                  _nop_();
                  _nop_();
                  _nop_();
                  _nop_();
                  _nop_();
                  _nop_();
                  _nop_();
                  _nop_();
                  _nop_();
                  _nop_();
                  _nop_();
                  _nop_();
                  _nop_();
                  _nop_();
                  _nop_();
                  _nop_();
                  _nop_();
                  _nop_();
                  _nop_();
                  _nop_();
        trig=1;      
}


/*------------------------------------------------
   超聲波模塊相應端口初始化函數
------------------------------------------------*/
void init_measuring()
{
        trig = 1;
        echo = 1;
        count = 0;
}


/*------------------------------------------------
     超聲波模塊距離測試函數
------------------------------------------------*/
void measuring()
{
        uchar l;
        uint h,y;
        TR0 = 1;
        while(echo==1)
    {
        ;
    }        
        TR0 = 0;
        l = TL0;
        h = TH0;
        y = (h << 8) + l;
        y = y - 0xfc66;//us部分
        distance = y + 1000 * count;//計算總時間,單位是微秒
        TL0 = 0x66;
        TH0 = 0xfc;
        delayt(30);
        distance = 3453* distance / 20000;//原始為:(0.34毫米/us)*時間/2//        
}

/*------------------------------------------------
              主函數
------------------------------------------------*/
void main()            
{   init_t0();          //定時器0初始化   
    init_measuring();  //超聲波相應端口初始化
        P1 = 0x00;                                 //數碼管初始化//



        while(1)
        {
                trigger();      //觸發超聲波啟動
                 while(echo==0)          //等待回聲
                 {
                           ;
                 }
            measuring();           //進行距離測量
                   if(distance < 100)
                                {
                                        P1 = ~DSY_CODE[s];                  //數碼管顯示//
                            s = (s+1)%10;
                                        fmq();                                         //蜂鳴器報警//
                                          LED1 = 1;                                //流水燈//
                        LED2 = 0;
                                     LED3 = 0;
                                    DelayMS(500);
                                        fmq();
                                    LED1 = 0;
                                        LED2 = 1;
                                        LED3 = 0;
                                    DelayMS(500);
                                        fmq();
                                        LED1 = 0;
                                        LED2 = 0;
                                        LED3 = 1;
                                        DelayMS(500);
                                }
            init_measuring();    //超聲波相應端口初始化
            delayt(600);        //每次測量間隔60ms
        }
}



回復

使用道具 舉報

9#
ID:400950 發表于 2018-9-21 16:04 | 只看該作者
wawvvv 發表于 2018-9-21 13:11
#include   
#include
#define uint unsigned int

額  忘把數碼管的去掉了。。
回復

使用道具 舉報

10#
ID:398621 發表于 2018-9-21 20:05 | 只看該作者
超聲波測距,對人來說是超聲,可能對狗狗來說在可聽的波段,這么說的話,它會感到很吵鬧
回復

使用道具 舉報

11#
ID:401135 發表于 2018-9-21 20:19 | 只看該作者
那狗狗歪著腦袋走路就會無效啊
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久一区二区三区四区 | 日韩综合在线视频 | 欧美日在线 | 日韩视频在线免费观看 | 最新日韩av | 日韩成人影院在线观看 | 国产精品视频网址 | 91xxx在线观看 | 国产精品视频导航 | 日韩图区 | 欧洲一级毛片 | 国产成人在线播放 | 久久一久久 | 伊人免费视频二 | 九九热久久免费视频 | 亚洲 欧美 日韩 在线 | 久久99国产精品 | 中文字幕日韩欧美 | 午夜激情网 | 91精品国产一区二区三区 | 羞羞羞视频 | 一区在线观看视频 | 亚洲精美视频 | 久久偷人| 国产成人精品久久 | 久久精品99国产精品 | 久久精品国产a三级三级三级 | 国产精品美女久久久 | 欧美日韩国产在线观看 | 久久久久久免费毛片精品 | 亚洲国产精品久久久久 | 伊人伊人网 | 久热中文字幕 | 国产欧美在线一区 | 国产精品毛片久久久久久久 | 成人免费视频一区 | 亚洲大片一区 | 久久久久9999| 午夜精品久久久久久久久久久久 | 欧美亚洲国产精品 | 福利视频网站 |