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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

藍牙與NRF24L01家電開關控制系統設計(單片機源碼+APP+報告與ppt)

[復制鏈接]
跳轉到指定樓層
樓主
題目:藍牙與NRF24L01家電開關控制系統設計
PPT目錄:
1.系統概述
2.成品圖
3.系統結構
4.模塊功能介紹
5.軟件設計
6.測試方案與結果
7.總結與分析
8.結束

制作出來的實物圖如下:


本系統結合藍牙4.0通信技術、nRF24L01無線技術,設計一套12路無線遙控開關。
    特點:具有成本低、功耗低、操作簡單、同時減少了不必要的工作量,運用價值較高。
    缺點:控制距離受限制。


3.模塊功能介紹
一.藍牙模塊
    接收手機發送指令,由單片機對接收到的指令識別,分別控制相應的通道(開與關)。

二.NRF24L01收發模塊
    發送和接收數據 , 由單片機對接收到的數據進行解碼,分別控制相應的通道(開與關)

三.12864液晶模塊

    顯示系統工作狀態,方便人機對話。

四.上位機Ds18b20模塊

    檢測環境溫度,由單片機把溫度解析分別顯示在12864液晶顯示器。

五.上位機獨立按鍵

    切換顯示頁面,選擇通道開關信號,確定通道要發送的數據。


六.繼電器模塊

    小信號控制大信號的作用。



5.測試方案與結果
一.障礙區域測試:

    1.1.藍牙手機有效距離20以內
    1.2.NRF24L01上位機有效距離50米以內
   
二.無障礙區域測試:

    2.1.藍牙手機有效距離40以內
    2.2.NRF24L01上位機有效距離100米以內

一.總結與分析
        此次畢業設計的制作,鞏固我們在校期間所學的知識,提升了單片機編程能力和軟件調試經驗,讓我們懂得自己的不足之處。        
        主要作用:增強開關智能化。
        特點:具有成本低、功耗低、操作簡單、同時減少了不必要的工作量,運用價值較高。
        不足之處:控制距離受限制,系統屬于單工傳輸狀態,主機電路制作不夠精練。

無線主機與上位機源碼:
  1. #include "STC15F2K.H"
  2. #include "intrins.h"
  3. #include "delay.h"
  4. #include "io.h"
  5. #include "api.h"                                                                                                                                
  6. #include "shoujie.h"
  7. #include "12864.h"
  8. #include "rx_data.h"
  9. #include "lanya.h"


  10. /**************************************************
  11. 函數:main()

  12. 描述:
  13.     主函數
  14. /**************************************************/
  15. void main(void)
  16. {
  17.         init_io();                                          // 初始化IO口
  18.         RX_Mode();                                             // 設置為接收模式   
  19.         LCD_init();                                  // 初始化液晶
  20.         SerialIni();                                  // 初始化定時器
  21.         while(1)
  22.         {                                                                                                               
  23.                 gnenqhuan();                          // 藍牙數據處理程序
  24.                 RX_MAIN();                                  // 判斷是否接收到開關數據
  25.             RX_MAIN1();                                  // 判斷是否接收到溫度數據
  26.                 sta = SPI_Read(STATUS);          // 讀狀態寄存器        
  27.         }
  28. }


  29. //
  30. //void t0() interrupt 1
  31. //{
  32. //        TR0=0;
  33. //
  34. //          Count1++;                  //0.5 MS 加一次               
  35. ///************PWM1與PWM2調速*****************/
  36. //               
  37. //        if(Count1>100)        {   Count1=0;    }         
  38. //        if(Count1<PWM1||Count1==PWM1){ dt_led = 1; }         //改變PWM1的值就可以改變大廳燈的亮度
  39. //        else                                 { dt_led = 0; }
  40. //
  41. ////        if(Count1<PWM2||Count1==PWM2){ ws_led = 1; }         //改變PWM2的值就可以改變臥室燈的亮度
  42. ////        else                                 { ws_led = 0; }
  43. ////
  44. ////        if(Count1<PWM3||Count1==PWM3){ sm_led = 1; }         //改變PWM3的值就可以改變睡眠燈的亮度
  45. ////        else                                 { sm_led = 0; }
  46. //        TR0=1;        
  47. //}
復制代碼

藍牙的頭文件:
  1. #ifndef         _lanya_h_
  2. #define         _lanya_h_

  3. int BBuffer[6] = {0};   //從串口接收的雙個數據 (緩存區)
  4. uchar j=0,shuju=1;
  5. //uchar Count1=0,PWM1=0,PWM2=0,PWM3=0;


  6. void SerialIni(){
  7.    
  8.     SCON = 0x50;     
  9.     AUXR &= 0xBE;   
  10.     AUXR |= 0x00;   
  11.     TMOD &= 0x0F;         
  12.     TMOD = 0x20;   
  13.     TH1  = 0xfd;   
  14.     TL1  = 0xfd;   

  15.     TR1=1;           //定時器1啟動
  16.     ES = 1;          //開放串口中斷
  17.     EA = 1;          //開放CPU中斷
  18. }

  19. void gnenqhuan()  
  20. {
  21.         
  22. if(shuju==1)
  23. {
  24.         while(BBuffer[0])
  25.         {
  26.                 switch(BBuffer[0])                                                                                    //遙控狀態
  27.                 {                                
  28.         
  29.                         case 101:  
  30.                                                 water_j = 0;
  31.                                                 lcd_com(0x80);        disp_chinese("飲水機狀態:   開"); break; //飲水機開                           
  32.                         case 102:   water_j = 1;        
  33.                                             lcd_com(0x80);        disp_chinese("飲水機狀態:   關"); break; //飲水機關
  34.                                                    
  35.                         case 103:  curtain = 0;        
  36.                                                 lcd_com(0x90);        disp_chinese("窗簾  狀態:   開"); break; //窗簾開                  
  37.                         case 104:  curtain = 1;        
  38.                                                 lcd_com(0x90);        disp_chinese("窗簾  狀態:   關"); break; //窗簾關
  39.                                                    
  40.                         case 105:  freezer = 0;               
  41.                                                 lcd_com(0x88);        disp_chinese("冰箱  狀態:   開"); break; //冰箱開
  42.                         case 106:  freezer = 1;        
  43.                                                 lcd_com(0x88);        disp_chinese("冰箱  狀態:   關"); break; //冰箱關

  44.                         case 107:  feng_s  = 0;        
  45.                                                 lcd_com(0x98);        disp_chinese("風扇  狀態:   開"); break; //風扇開
  46.                         case 108:  feng_s  = 1;        
  47.                                                 lcd_com(0x98);        disp_chinese("風扇  狀態:   關"); break; //風扇關

  48.                         case 109:  socket_1 = 0;        
  49.                                                 lcd_com(0x80);        disp_chinese("插座1 狀態:   開"); break; //插座1開
  50.                         case 110:  socket_1 = 1;        
  51.                                                 lcd_com(0x80);        disp_chinese("插座1 狀態:   關"); break; //插座1關
  52.                         
  53.                         case 111:  socket_2 = 0;        
  54.                                                 lcd_com(0x90);        disp_chinese("插座2 狀態:   開"); break; //插座2開
  55.                         case 112:  socket_2 = 1;        
  56.                                                 lcd_com(0x90);        disp_chinese("插座2 狀態:   關"); break; //插座2關
  57.                         
  58.                         case 113:  socket_3 = 0;        
  59.                                                 lcd_com(0x88);        disp_chinese("插座3 狀態:   開"); break; //插座3開
  60.                         case 114:  socket_3 = 1;        
  61.                                                 lcd_com(0x88);        disp_chinese("插座3 狀態:   關"); break; //插座3關
  62.                         
  63.                         case 115:  socket_4 = 0;        
  64.                                                 lcd_com(0x98);        disp_chinese("插座4 狀態:   開"); break; //插座4開
  65.                         case 116:  socket_4 = 1;        
  66.                                                 lcd_com(0x98);        disp_chinese("插座4 狀態:   關"); break; //插座4關

  67.                          case 117:  dt_led = 0;        
  68.                                                 lcd_com(0x80);        disp_chinese("大廳燈狀態:   開"); break; //大廳燈開
  69.                         case 118:  dt_led = 1;        
  70.                                                 lcd_com(0x80);        disp_chinese("大廳燈狀態:   關"); break; //大廳燈關

  71.                         case 120:  
  72.                                            clr_all();         
  73.                                            lcd_com(0x80);        disp_chinese("★藍牙智能開關  ");
  74.                                                                                 break;          //手機遙控狀態

  75.                         case 121:  RX_MAIN();                                  // 判斷是否接收到開關數據
  76.                                            RX_MAIN1();                                  // 判斷是否接收到溫度數據
  77.                                            sta = SPI_Read(STATUS);          // 讀狀態寄存器                                
  78.                                                                                 break;          //2.4G遙控狀態

  79.                     case 122:  sm_led = 0;        
  80.                                                 lcd_com(0x90);        disp_chinese("睡眠燈狀態:   開"); break; //睡眠燈開
  81.                         case 123:  sm_led = 1;        
  82.                                                 lcd_com(0x90);        disp_chinese("睡眠燈狀態:   關"); break; //睡眠燈關
  83.                         
  84.                         case 124:  ws_led = 0;        
  85.                                                 lcd_com(0x88);        disp_chinese("臥室燈狀態:   開"); break; //臥室燈開
  86.                         case 125:  ws_led = 1;        
  87.                                                 lcd_com(0x88);        disp_chinese("臥室燈狀態:   關"); break; //臥室燈關
  88.                                                                
  89.                         case 126:  socket_5 = 0;        
  90.                                                 lcd_com(0x88);        disp_chinese("插座5 狀態:   開"); break; //插座5開
  91.                         case 127:  socket_5 = 1;        
  92.                                                 lcd_com(0x88);        disp_chinese("插座5 狀態:   關"); break; //插座5關
  93.                
  94.                         default:break;
  95.                 }
  96.                                  
  97.         }
  98. }        

  99. }



  100. void Uart2(void) interrupt 4 using 1
  101. {
  102.     if(RI)                           //如果是接收中斷
  103.     {
  104. ……………………

  105. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼


完整的設計報告文檔(word格式)和ppt:


全部資料51hei下載地址:

藍牙4.0通信技術和nRF24L01無線技術.rar (3.1 MB, 下載次數: 149)
設計報告.zip (3.6 MB, 下載次數: 98)


評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

沙發
ID:459236 發表于 2019-1-1 11:12 | 只看該作者
可以的
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 精品久久久久久亚洲精品 | 一区二区三区精品在线视频 | 欧美成人猛片aaaaaaa | 免费看黄色小视频 | 在线视频日韩精品 | 国产精品久久精品 | 九色国产| 精品亚洲一区二区 | 国产精品高潮呻吟久久av野狼 | www.日韩av.com | 久久综合一区二区三区 | 国产色网站 | 黄色片免费在线观看 | 激情六月丁香 | 综合久久av | 欧美在线一区二区三区 | 国产精品高清在线 | 91av在线影院 | 久久久国产一区二区三区四区小说 | 特黄视频 | 成人夜晚看av | av在线播放免费 | 午夜免费网站 | 亚洲一区二区三区免费在线观看 | 精品视频一区二区三区在线观看 | 国产精品一区三区 | 日韩在线视频网址 | 国产精品久久久久国产a级 欧美日本韩国一区二区 | 精品一区二区电影 | 欧美视频免费在线 | 欧美激情一区二区三级高清视频 | 亚洲精品在线观看网站 | 久久免费视频1 | 色视频www在线播放国产人成 | 亚洲视频在线观看一区二区三区 | 粉嫩粉嫩芽的虎白女18在线视频 | 成人1区| 亚洲免费精品 | 午夜理伦三级理论三级在线观看 | 黄色国产 | 色综合一区 |