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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 4024|回復(fù): 1
收起左側(cè)

基于51單片機(jī)的超聲波導(dǎo)盲杖程序電路設(shè)計(jì) HC-SR04,GA6

[復(fù)制鏈接]
ID:872579 發(fā)表于 2021-1-8 14:40 | 顯示全部樓層 |閱讀模式
帶有通信功能的基于超聲波來(lái)實(shí)現(xiàn)障礙物檢測(cè)的導(dǎo)盲杖
GPS定位信息發(fā)送功能:以串口通信的形式將GPS定位模塊內(nèi)的定位信息下載到單片機(jī)最小系統(tǒng),再對(duì)定位信息進(jìn)行處理將經(jīng)緯度信息分離出來(lái)通過(guò)GSM模塊以短信形式發(fā)送給事先設(shè)置好的手機(jī)號(hào)碼。
1.png 2.png 3.png 4.png 5.png 6.png 7.png
超聲波避障功能:利用超聲波測(cè)量與前方物體的距離,當(dāng)距離小于1米時(shí),由單片機(jī)控制蜂鳴器發(fā)出報(bào)警聲提示盲人。
一鍵尋回功能:當(dāng)導(dǎo)盲杖找不到時(shí),我們可以通過(guò)點(diǎn)擊手中的遙控器讓導(dǎo)盲杖上的蜂鳴器發(fā)出報(bào)警聲,輔助我們尋找。
上面我們對(duì)功能做了介紹,下面主要講解一下整個(gè)系統(tǒng)硬件及軟件設(shè)計(jì):
GPS定位信息發(fā)送功能:我們選擇使用GPS定位模塊搭配GSM模塊來(lái)實(shí)現(xiàn),
GPS模塊內(nèi)部原理是當(dāng)GPS模塊獲取到定位信息時(shí),會(huì)通過(guò)TX引腳將整個(gè)GPS定位信息發(fā)送出去,所以我們只需要將單片機(jī)串口接收引腳與GPS模塊發(fā)送引腳相連,設(shè)置串口通信波特率為9600,即可接收到當(dāng)前定位信息。
GSM模塊內(nèi)部通信原理是,當(dāng)我們只是用短信發(fā)送功能時(shí),我們只需要通過(guò)串口向GSM模塊發(fā)送AT指令及短信內(nèi)容信息,即可控制GSM模塊完成短信的發(fā)送,所以硬件電路上我們只需要將單片機(jī)串口發(fā)送引腳與GSM模塊RX接收引腳相連接,即可滿(mǎn)足整個(gè)功能要求。
超聲波避障功能: HC-SR04超聲波模塊工作原理:(1)采用I/O引腳觸發(fā)測(cè)距,給Trig引腳一個(gè)至少10us的高電平信號(hào);(2)模塊自動(dòng)發(fā)送8個(gè)40khz的方波,自動(dòng)檢測(cè)是否有信號(hào)返回   (3)有信號(hào)返回,通過(guò)Echo引腳輸出一高電平,高電平持續(xù)的時(shí)間就是超聲波從發(fā)射到返回的時(shí)間.測(cè)試距離=(高電平時(shí)間*聲速(340M/S))/2;  所以我們?cè)谠O(shè)計(jì)硬件電路時(shí)只需要將Trig引腳和Echo引腳接入單片機(jī)系統(tǒng),由單片機(jī)通過(guò)Trig觸發(fā)測(cè)距并對(duì)Echo引腳的高電平持續(xù)時(shí)間進(jìn)行計(jì)時(shí)即可滿(mǎn)足功能的要求。
一鍵巡回功能:我們主要使用PT2262和PT2272編解碼電路來(lái)實(shí)現(xiàn)此功能,
編碼芯片PT2262發(fā)出的編碼信號(hào)由地址碼、數(shù)據(jù)碼、同步碼組成一個(gè)完整的碼字。地址碼是由地址管腳A0-A7的狀態(tài)(高位/懸空/低位)決定,PT2262和PT2272需要地址管腳狀態(tài)完全相同,生成的地址碼才會(huì)完全相同,PT2272才會(huì)正常接收PT2262的信號(hào)。D0-D3管腳為數(shù)據(jù)管腳,用以生成數(shù)據(jù)碼,數(shù)據(jù)碼用于在PT2262與PT2272之間同步D0-D3管腳的狀態(tài)。
本設(shè)計(jì)中選擇將PT2262/PT2272 A0-A7地址管腳統(tǒng)一懸空,當(dāng)PT2262按鍵下時(shí),D0-D3管腳置為高電平生成相應(yīng)的數(shù)據(jù)碼,同時(shí)控制433MHZ發(fā)射電路將DOUT引腳輸出的經(jīng)過(guò)調(diào)制的串行數(shù)據(jù)信號(hào)在高頻載波上發(fā)射出去
PT2272接收到后,進(jìn)行解碼,先核對(duì)地址碼是否相同,如果相同,則查看數(shù)據(jù)編碼,并按照數(shù)據(jù)編碼將本端的D0-D3管腳全部置為高電平。
將PT2272的D1管腳與單片機(jī)相連,用單片機(jī)檢測(cè)管腳的狀態(tài),當(dāng)管腳為高電平時(shí),即控制蜂鳴器發(fā)出報(bào)警。

電路原理圖如下:
51hei.png

單片機(jī)源程序如下:
  1. #include <intrins.h>
  2. #include <stdio.h>
  3. #include <math.h>
  4. #include <string.h>
  5. #include <delay.h>
  6. #include <Ultrasonic.h>
  7. #include"uart.h"


  8. //定義IO
  9. //按鍵
  10. sbit beep=P1^2;
  11. sbit keysend=P1^1;//發(fā)送位置短信
  12. sbit pt=P3^7; //PT2272感應(yīng)信號(hào)
  13. bit flagxun=0;//尋物標(biāo)志位

  14. unsigned char code PhoneNO[]= "123456789"; //接收方號(hào)碼   

  15. //GPS數(shù)據(jù)接收變量
  16. bit flag1=0;
  17. char com1;
  18. char xdata com2[38];//變量接收中間數(shù)組

  19. unsigned char cc=0;//變量數(shù)組計(jì)數(shù)
  20. bit flag2=0;//數(shù)據(jù)接收完處理標(biāo)志位

  21. //短信數(shù)組
  22. char xdata duanxin[]="N:  .   W:   .  ";

  23. void Delay1000ms()               
  24. {
  25.         unsigned char i, j, k;

  26.         i = 43;
  27.         j = 6;
  28.         k = 203;
  29.         do
  30.         {
  31.                 do
  32.                 {
  33.                         while (--k);
  34.                 } while (--j);
  35.         } while (--i);
  36. }

  37. //發(fā)送短信

  38. void sendmessage()
  39. {
  40.                    Uart_Send_Byte2("AT+CMGF=1\r\n");        
  41.                 Delay1000ms();
  42.                 Uart_Send_Byte2("AT+CSCS=\"GSM\"\r\n");        
  43.                 Delay1000ms();
  44.                 Uart_Send_Byte2("AT+CMGS=");        
  45.                 Uart_Send_Byte('"');
  46.                 Uart_Send_Byte2(PhoneNO);   
  47.                 Uart_Send_Byte('"');
  48.                 Uart_Send_Byte('\r');               
  49.                 Uart_Send_Byte('\n');               
  50.                 Delay1000ms();
  51.                 Uart_Send_Byte2(duanxin);  
  52.                 Delay1000ms();
  53.                 Uart_Send_Byte(0x1a);               
  54.                 Delay1000ms();
  55.                 Delay1000ms();
  56.                 Delay1000ms();
  57.                 Delay1000ms();
  58.                 Delay1000ms();
  59. }
  60.                                                                           
  61. //按鍵檢測(cè)
  62. void keyscan()
  63. {
  64.         if(keysend==0)
  65.         {
  66.                 Delay_Ms(5);if(keysend==0)
  67.                 {
  68.                          while(flag2!=1);//等待接收到GPS信號(hào)
  69.                           duanxin[2]=com2[19];duanxin[3]=com2[20];duanxin[5]=com2[21];duanxin[6]=com2[22];
  70.                           duanxin[10]=com2[32];duanxin[11]=com2[33];duanxin[12]=com2[34];duanxin[14]=com2[35];
  71.                           duanxin[15]=com2[36];
  72.                           sendmessage();
  73.                           flag2=0;        
  74.                 }
  75.                 while(!keysend);
  76.         }
  77.         if(pt==1) {Delay_Ms(50);if(pt==1) {beep=~beep;flagxun=~flagxun;} Delay_Ms(500);while(pt);} //遙控找拐杖
  78. }


  79. void main()
  80. {
  81.         beep=1;pt=1;
  82.         Uart_Init();
  83.         init_timer1();
  84.         while(1)
  85.         {        
  86.                 keyscan();
  87.                 display_volume();
  88.                 if(distance_data<100) beep=0;//超聲測(cè)距報(bào)警
  89.                 if(distance_data>=100&&flagxun==0) beep=1;
  90.         }
  91. }

  92. void Uart_Isr() interrupt 4
  93. {
  94.     RI = 0;            
  95.         com1 = SBUF;         
  96.         if(com1=='

  97. )         {flag1=1;}
  98.         if(flag1==1) {com2[cc]=com1;cc++;}
  99.         if(cc==38) {if(com2[4]=='M'&&com2[17]=='A') {flag2=1;}  flag1=0;cc=0;}
  100. }
復(fù)制代碼

所有資料51hei提供下載,可能有較多bug請(qǐng)大家多多批評(píng)指教:
導(dǎo)盲杖資料.7z (4.56 MB, 下載次數(shù): 72)

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:1070910 發(fā)表于 2023-4-16 17:47 | 顯示全部樓層
有仿真嗎
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 天天夜干 | 在线观看午夜视频 | 91久久久久久 | 国产精品国产成人国产三级 | 亚洲欧美日本在线 | 一区中文字幕 | 国产精品女人久久久 | 观看毛片 | 欧美精品成人一区二区三区四区 | 99视频网| 欧美在线一区二区三区 | 亚洲国产成人av好男人在线观看 | 欧美片网站免费 | 中文无吗 | 欧美黄 片免费观看 | 日韩精品极品视频在线观看免费 | 黄色香蕉视频在线观看 | 在线激情视频 | 色婷婷综合网站 | 在线综合视频 | 日本特黄特色aaa大片免费 | 午夜视频在线观看网站 | 国产一二三区在线 | 国产免费一级一级 | 欧美精品一区二区三区在线播放 | 亚洲欧美日韩网站 | 日韩靠逼 | 中文字幕日本一区二区 | 色欧美综合 | 日本不卡一区 | 人人人人爽 | 免费看91| 国产精品亚洲欧美日韩一区在线 | 久久中文字幕一区 | 日本大香伊一区二区三区 | 天天色综 | 欧美人成在线视频 | 久久av一区二区三区 | 日日爱夜夜操 | 久久国色 | 狠狠综合久久av一区二区小说 |