精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于51設計的寵物防丟系統(藍牙+Android上位機)

DS小龍哥-嵌入式技術 ? 來源:DS小龍哥-嵌入式技術 ? 作者:DS小龍哥-嵌入式技 ? 2022-05-27 10:37 ? 次閱讀

?

一、環境介紹

單片機型號: STC89C52

編程軟件: keil5

編程語言: C語言

手機APP:采用QT設計,程序支持跨平臺編譯運行(Android、IOS、Windows、Linux都可以編譯運行,對應平臺上QT的環境搭建,之前博客已經發了文章講解)

二、功能與硬件介紹

單片機采用STC89C52,資料非常豐富,keil建工程的時候選擇AT89C52即可。

與手機通信藍牙采用:HC05 串口藍牙。

功能介紹:

防丟功能主要是依靠藍牙來判斷是否已經斷開。

1. 開發板復位后,藍牙如果未連接狀態,5秒之后蜂鳴器就會報警

2. 藍牙一旦連接成功后,就需要以300ms的頻率向設備發送指定的數據,?;?。

3. 如果藍牙連接上之后,沒有發送數據到設備,300ms之后蜂鳴器就會報警。

4. APP上可以手動點擊觸發報警

5. 單片機按下復位鍵可以清除報警

APP界面:

如果自己不想焊接,想要直接模塊化搭建環境,可以直接淘寶買系統板+模塊即可:

poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

?編輯

poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

?編輯

poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

?編輯

藍牙HC05是主從一體的藍牙串口模塊,簡單的說,當藍牙設備與藍牙設備配對連接成功后,我們可以忽視藍牙內部的通信協議,直接將將藍牙當做串口用。當建立連接,兩設備共同使用一通道也就是同一個串口,一個設備發送數據到通道中,另外一個設備便可以接收通道中的數據。

為了簡化51單片機的編程代碼,可以先使用電腦串口調試助手,將HC05的的參數配置完畢,再接到51單片機上。 將HC05藍牙配置成從機模式,設置好配對密碼。

三、51單片機代碼

////////////////////////////////////////
#include 

#define uchar unsigned char 
#define uint unsigned long
    
uchar buffer[8];	//數據緩存數組

uchar rec_flag=0;	//數據處理標志 
sbit BUZZER = P1^3;
sbit KEY = P3^4;


void delay1ms(void)   //誤差 0us
{
    unsigned char a,b,c;
    for(c=1;c>0;c--)
        for(b=142;b>0;b--)
            for(a=2;a>0;a--);
}

void Delay(int ms)
{
    while(ms--)
    {
        delay1ms();
    }
}


/************************************************
** 函數名稱 : void InitUART(void)
** 函數功能 : 串口初始化函數
** 輸    入 : 無
** 輸    出 : 無
** 說    明 : 定時器1方式2波特率發生模式,波特率9600bps,晶振11.0592MHZ,誤差0%
**TMOD定時器計數器寄存器,SCON串行口寄存器,PCON功率控制寄存器,EA訪問外部程序存儲器控制信號,ES串口中斷允許控制位,TR1定時器1的運行控制位
************************************************/
void InitUART(void)
{
    TMOD = 0x20;
    SCON = 0x50;
    TH1 = 0xFD;
    TL1 = 0xFD;
    PCON = 0x00;
    ES = 1;
    TR1 = 1;
	EA = 1;
}

/*********************************************
**名稱:void TxChar(uchar ch)
**功能:串口發送函數
**輸入:uchar ch>當前發送數據
**輸出:無
*********************************************/
void TxChar(unsigned char ch)
{
	SBUF=ch;  
	while(!TI);
	TI=0;										
}
void putstring(uchar  *puts) //發送數據
{  
	for(;*puts!=199;puts++)   //遇到停止符199結束 
	TxChar(*puts); 
} 
/************************************************
** 函數名稱 : void ser(void) interrupt 4
** 函數功能 : 串口接收中斷函數
** 輸    入 : 無
** 輸    出 : 無
** 說    明 : 處理串口發送過來的數據串 
************************************************/
void ser(void) interrupt 4
{
	static uchar i;
    if(RI==1)
    {
        RI  =   0;
        if(rec_flag==0)
		{
			if(SBUF==0xff)
			{
				rec_flag=1;	
				i=0;
			}			
		}
		else
		{
			if(SBUF==0xff)
			{
				rec_flag=0;	
				if(i==3)
				{
					//Communication_Decode();		
				}
				i=0;
			}
			else
			{
				buffer[i]=SBUF;
				i++;
			}
		}		
    }
}
/************************************************
** 函數名稱 : void main(void)
** 函數功能 : 主函數
** 輸    入 : 無
** 輸    出 : 無  
寵物檢測

** 說    明 :
************************************************/

void main(void)
{
	uint STOP=0,a=0,a1=0;
	uchar bueezr_flag=0,bueezr_count=0,buzzer_time=3;//蜂鳴器報警變量
	uchar rxbuf[9];
	InitUART();
	rxbuf[0]='A';
	rxbuf[1]=25;
	rxbuf[2]='B';
	rxbuf[3]=99;
	rxbuf[4]='C';
	rxbuf[5]=99;
	rxbuf[6]='D';
	rxbuf[7]=99;
	rxbuf[8]=199;
	while(1)
	{
		putstring(rxbuf);//發送數據函數
		Delay(300); //延時300ms
		if(KEY==0 && !bueezr_flag){while(KEY==0);rxbuf[1]=22;bueezr_flag=1;}
		if(KEY==0 && bueezr_flag){while(KEY==0);rxbuf[1]=11;bueezr_flag=0;a=0;BUZZER=1;}
		if(!a)STOP++;	
		
        //FF 00 00 01 FF 
        //
        //判斷APP下發的數據
		if(buffer[2]==0x01) //取消蜂鳴器
		{
			STOP=0;
			a1=1;
			buffer[2]=0x00;
		}
		
        //15個300ms還沒有收到APP下發的數據,繼續報警
		if(STOP>15 && a1)
		{
			bueezr_flag=1;			
		}
			
		if(buffer[1]==0x01)  //手動模式報警
		{
			bueezr_flag=1;//蜂鳴器直接響
			a=1;  //手動模式標志位
		}
		
		/*******蜂鳴器報警********/
		bueezr_count++;if(bueezr_count>buzzer_time*10)bueezr_count=buzzer_time+1;
		if(bueezr_count%buzzer_time==0 && bueezr_flag)
		{
			BUZZER=~BUZZER;//蜂鳴器取反  發出聲音提示
		}		
	}	
}


四、Android手機APP代碼


審核編輯:湯梓紅

?

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 單片機
    +關注

    關注

    6032

    文章

    44525

    瀏覽量

    633245
  • Android
    +關注

    關注

    12

    文章

    3926

    瀏覽量

    127158
  • 藍牙
    +關注

    關注

    114

    文章

    5775

    瀏覽量

    169863
  • STC89C52
    +關注

    關注

    41

    文章

    330

    瀏覽量

    82011
收藏 人收藏

    評論

    相關推薦

    藍牙4.0器設計方案

    藍牙4.0器即智能藍牙(Smart Bluetooth)器,采用最新
    發表于 11-10 16:25 ?1.1w次閱讀

    基于低功耗藍牙技術的尋物器方案介紹

    ),是外出尋物的貼身好伙伴。產品功能及特點:1、 適用性廣本設備體積小巧,便于攜帶,通過和手機的綁定,可廣泛適用于錢包,小孩,寵物,公文包,行李拖箱,等其他貴重物品的
    發表于 07-20 08:36

    藍牙4.0器方案參考介紹

    的貼身好伙伴。設計原理: 手機與之間基于藍牙4.0協議的2.4G進行無線通信,以通信時的信號強度(RSSI)為參考,再加上一系列的濾波算法,最終基本上實現測量手機與
    發表于 03-21 11:12

    【CANNON申請】低功耗藍牙器設計

    MCU。藍牙器是結合生活中經常一些小東西的情況想出來的創意,希望有機會實現。項目描述:項目主要目的是制作一個藍牙
    發表于 01-26 14:34

    基于ZigBee的寵物系統,對這個項目有意的請聯系我哦

    基于ZigBee的寵物系統,對這個項目有意的請聯系我哦 qq:779379808功能:1.寵物定位功能 2.安全范圍內丟失報警
    發表于 04-14 22:22

    天工測控:藍牙網關應用于寵物醫院__室內定位

    現在的寵物醫院一般都會有寵物寄養服務,為了避免因寵物引發的不良影響,SKYLAB君建議試試藍牙網關室內定位方案,精準室內定位
    發表于 06-13 15:48

    藍牙器方案

    藍牙智能器工作原理:藍牙智能器是一種采用藍牙
    發表于 11-05 11:28

    藍牙器的特點和功能

    智能藍牙器,是采用藍牙技術專門為智能手機設計的器。其工作原理主要是通過距離變化來判斷物品
    發表于 12-24 09:44

    如何制作器?

    求大神介紹,藍牙器(就是用手機藍牙連接,超過距離藍牙斷開,
    發表于 04-28 23:45

    藍牙器原理和作用

    想必大家都有丟失過東西吧,比如丟失過手機、錢包、自行車、電動車等等,甚至丟失兒童、老人,丟失設備事小,但是丟失兒童、老人的話,那對一個家庭是一種多么沉痛的打擊啊。所以就出現了器這樣設備。藍牙智能
    發表于 10-13 10:55

    藍牙與外設交互(器)

    藍牙與外設交互(器)藍牙與外設交互(器)
    發表于 03-03 15:04 ?1次下載

    為避免家人走,如何快速制作一款藍牙

    ,也可用于防止兒童或寵物的走失。 產品采用藍牙4.0技術,具有低功耗、雙向器、自動報警等優點。 無線通訊類型 無線通訊類型:藍牙
    的頭像 發表于 09-12 10:26 ?5313次閱讀

    藍牙BLE實現器的方法

    所謂智能藍牙(SmartBluetooth)器,是采用藍牙技術專門為智能手機設計的器。其
    發表于 05-11 15:22 ?2156次閱讀
    <b class='flag-5'>藍牙</b>BLE實現<b class='flag-5'>防</b><b class='flag-5'>丟</b>器的方法

    基于51設計的寵物系統(藍牙+Android上位)

    基于51設計的寵物系統(藍牙+Android
    發表于 11-25 14:51 ?40次下載
    基于<b class='flag-5'>51</b>設計的<b class='flag-5'>寵物</b><b class='flag-5'>防</b><b class='flag-5'>丟</b><b class='flag-5'>系統</b>(<b class='flag-5'>藍牙</b>+<b class='flag-5'>Android</b><b class='flag-5'>上位</b><b class='flag-5'>機</b>)

    低功耗藍牙模塊輕松實現智能

    手環,智能眼鏡、智能器等,尤其是器,近些年需求旺盛,它能很方便的給出提醒。 ?目前
    的頭像 發表于 05-25 15:19 ?327次閱讀