加入星計劃,您可以享受以下權益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴散
  • 作品版權保護
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入

51單片機導盲手杖_超聲波測距+DS18B20測溫設計

08/13 09:38
1269
服務支持:
技術交流群

完成交易后在“購買成功”頁面掃碼入群,即可與技術大咖們分享疑惑和經(jīng)驗、收獲成長和認同、領取優(yōu)惠和紅包等。

虛擬商品不可退

當前內(nèi)容為數(shù)字版權作品,購買后不支持退換且無法轉(zhuǎn)移使用。

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論
放大
實物圖
相關方案
  • 方案介紹
  • 相關文件
  • 推薦器件
  • 相關推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

原理圖PAB:Altium Designer

仿真原版本:proteus 7.8

程序編譯器:keil 4/keil 5

編程語言:C語言

設計編號:S0019

設計要求

導盲手杖主要用于幫助視覺有障礙的人解決行動不便問題,具有成本低,使用方便等特點。主要要求有:

1.顯示前方障礙物距離;

2.實時測量距離,并通過蜂鳴器提醒距離過短,蜂鳴器蜂鳴發(fā)出預警;

3.可以通過按鍵調(diào)整蜂鳴器預警的距離;

4.附加要求,可以顯示實際溫度,根據(jù)溫度調(diào)整傳感器測試計算,減少誤差。

img

img

仿真電路

可以通過按鍵調(diào)整蜂鳴器預警的距離,從而調(diào)整安全距離。

img

原理圖

img

PCB圖

imgimg

源程序

img

主程序

/主函數(shù)
void main()
{
	Init_ultrasonic_wave();
	//屏幕初始化
	Init1602();
	//溫度初始化
	tmpchange(); 
	t_=tmp();
	tmpchange();
	t_=tmp();
	tmpchange();
	t_=tmp();

	//循環(huán)顯示
	while(1)
	{
		Key();
		//正常顯示
		if(mode==0)
		{
			StartModule();//啟動超聲波
			while(!RX);	  //當RX為零時等待
			TR0=1;		  //開啟計數(shù)
			while(RX);	  //當RX為1計數(shù)并等待
			TR0=0;		  //關閉計數(shù)
	
			delayms(20);  //20MS
			tmpchange();  //溫度轉(zhuǎn)換
			t_=tmp();     //度溫度
			Conut(t_/10); //計算距離
			if(L_<Min)
			{
				Feng_Start();
			}
			
			
			
			/*	if(FW=0)
				Feng_Stop();
			*/
			Display_1602(t_/10,L_);
		}
		//調(diào)整顯示
		else if(mode!=0)
		{
			//最大最小值
			Init_MaxMin();
			while(mode!=0)
			{
				
				Key();
				/*if(k==1&&mode==1)
				{
					Init_MaxMin();	
   				write_com(0x8d);//設置位置					
				}
				*/
				 if(k==1&&mode==1)
				{
					Init_MaxMin();	
   				write_com(0x89);//設置光標位置	
				}
				k=0;
			}
			//界面初始化
			Init1602();
		}
	}
}

按鍵檢測

//按鍵檢測
void Key()
{
	//功能鍵按下
	if(K1==0)
	{
		Feng_Start();//蜂鳴器開
		delay_key(); //消抖
		while(K1==0);//等待松手
		Feng_Stop(); //蜂鳴器關閉
		mode++;      //模式++
		if(mode==2)	 //達到最大限度歸為
			mode=0;	
		k=1;			 //按鍵標志位
	}
	//+鍵
	else if(K2==0)
	{
		Feng_Start();//蜂鳴器開
		delay_key(); //消抖
		while(K2==0);//等待松手
		Feng_Stop(); //蜂鳴器關閉
		//最大值調(diào)整
		/*if(mode==1)  //在最大值調(diào)整下
		{
			Max++;	 //調(diào)整最大值
			if(Max==201)//到達201歸為200
			{
				Max=200;
			}	
		}*/
		//最小值
	if(mode==1)//最小模式下調(diào)整
		{
			Min++;		//調(diào)整最小值
			/*if(Min>Max) //最小值不能大于最大值
			{
				Min=Max;
			}	
				*/
		}
		k=1;
	}
	//-鍵
	else if(K3==0)
	{
		Feng_Start();
		delay_key();
		while(K3==0);
		Feng_Stop();
		//最大值調(diào)整
		/*if(mode==1)
		{
			Max--;
			if(Max<Min)
			{
				Max=Min;
			}	
		}*/
		//最小值
		 if(mode==1)
		{
			Min--;
			if(Min==0xff)
			{
				Min=0;
			}				
		}
		k=1;
	}
}

資料清單

下載

img

  • 設計資料獲取聯(lián)系方式.doc

推薦器件

更多器件
器件型號 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊 ECAD模型 風險等級 參考價格 更多信息
KSZ9893RNXI 1 Microchip Technology Inc Ethernet Transceiver

ECAD模型

下載ECAD模型
$10.79 查看
74HC132D,653 1 NXP Semiconductors 74HC(T)132 - Quad 2-input NAND Schmitt trigger SOIC 14-Pin
$0.42 查看
ECS-2520MV-333.3-CM-TR 1 ECS International Inc HCMOS Output Clock Oscillator,
暫無數(shù)據(jù) 查看

相關推薦

電子產(chǎn)業(yè)圖譜