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

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

QQ登錄

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

搜索
查看: 5841|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

arduino微信遠(yuǎn)程繼電器控制電燈設(shè)計(jì)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
本帖最后由 lfb532 于 2018-9-13 05:29 編輯

遠(yuǎn)程繼電器控制電燈

       大家都知道,繼電器在電路中是作為一個(gè)開(kāi)關(guān),當(dāng)繼電器s端收到高電平時(shí),開(kāi)關(guān)閉合,電路流通。我們就可以使用以小電壓控制大電壓。當(dāng)打開(kāi)微信物聯(lián)網(wǎng)模塊繼電器實(shí)驗(yàn)界面,按下繼電器開(kāi)關(guān),繼電器開(kāi)關(guān)閉合,電路流通,就可以控制風(fēng)扇啊,燈啊,電飯煲啊等等大功率電器。


例如在微信界面點(diǎn)擊繼電器標(biāo)志,微信界面發(fā)送字符“$RELAY,1#”至下位機(jī),下位機(jī)根據(jù)程序判斷繼電器開(kāi)始工作,向繼電器S信號(hào)端輸入高電平。
解釋協(xié)議:繼電器開(kāi)始工作。
然后下位機(jī)給微信界面返回?cái)?shù)據(jù)包$RELAY,(0-2),#
解釋協(xié)議:$RELAY,0,#:成功;
                  $RELAY,1,#:失敗;
                  $RELAY,2,#:不匹配當(dāng)前

注:由于面包板上下兩排的中間是分隔的不導(dǎo)電的,所以盡量在面包板的左半邊區(qū)域或者右半邊區(qū)域使用,如果有使用到面包板的整個(gè)區(qū)域,需要在中間用杜邦線如圖2連接。如圖用紅線模擬內(nèi)部電路,圖1的電路(紅線)中間是斷開(kāi)的,圖2連接后的面包板的電路(紅線)是流暢的、連接的。



1.準(zhǔn)備工作
在接好線后燒錄程序,注意:燒錄時(shí)需拔掉arduino上的0和1引腳的接線,否則會(huì)上傳失敗!在上傳成功后將0和1引腳的線接上
2.WIFI配置環(huán)境

方式一: 因每個(gè)WIFI的名稱(chēng)和密碼不同,WIFI模塊在出廠時(shí)沒(méi)有進(jìn)行配置,因此需要配置WIFI模塊。配置時(shí)手機(jī)必須連接到當(dāng)前環(huán)境的WIFI網(wǎng)絡(luò)并能正常訪問(wèn)互聯(lián)網(wǎng)。PS: 僅能識(shí)別常規(guī)的2.4G-WIFI信號(hào),無(wú)法識(shí)別5G-WIFI。

方式二: 若要在沒(méi)有WIFI網(wǎng)絡(luò)的戶外環(huán)境中使用微信遙控,需要兩臺(tái)具備移動(dòng)網(wǎng)絡(luò)的手機(jī),其中一臺(tái)當(dāng)熱點(diǎn)提供網(wǎng)絡(luò),另一臺(tái)手機(jī)連接到此熱點(diǎn),后續(xù)配置方法相同。(僅建議使用方式一,部分手機(jī)提供的WIFI熱點(diǎn)可能無(wú)法被WIFI模塊識(shí)別。)


源程序如下:
  1. /**
  2. * @par Copyright (C): 2010-2019, Shenzhen Yahboom Tech
  3. * @file         3、遠(yuǎn)程繼電器控制電燈
  4. * @author       zhoujie
  5. * @version      V1.0
  6. * @date         2017.11.14
  7. * @brief        arduino物聯(lián)網(wǎng)實(shí)驗(yàn)
  8. * @details
  9. * @par History  見(jiàn)如下說(shuō)明
  10. *
  11. */


  12. //定義引腳
  13. int RELAY_Pin = 9;             //繼電器信號(hào)端S


  14. int incomingByte = 0;       // 接收到的 data byte
  15. String inputString = "";         // 用來(lái)儲(chǔ)存接收到的內(nèi)容
  16. boolean newLineReceived = false; // 前一次數(shù)據(jù)結(jié)束標(biāo)志
  17. boolean startBit  = false;  //協(xié)議開(kāi)始標(biāo)志


  18. String returntemp = ""; //存儲(chǔ)返回值

  19. void setup()
  20. {
  21.    pinMode(RELAY_Pin, OUTPUT);    //初始化RELAY IO口為輸出方式
  22.   
  23.    Serial.begin(9600);        //波特率9600 (Wifi通訊設(shè)定波特率)
  24.   
  25.    digitalWrite(RELAY_Pin, LOW);    //RELAY初始化低電平

  26. }
  27. /**
  28. * Function       loop
  29. * @author        zhoujie
  30. * @date          2017.11.14
  31. * @brief         按照接收的數(shù)據(jù)根據(jù)協(xié)議完成相應(yīng)的功能
  32. * @param[in]     void
  33. * @retval        void
  34. * @par History   無(wú)
  35. */
  36. void loop()
  37. {     
  38.     //$RELAY,1#        
  39.     while (newLineReceived)
  40.     {
  41.        if(inputString.indexOf("RELAY") == -1)  //如果要檢索的字符串值“RELAY”沒(méi)有出現(xiàn)
  42.        {
  43.            returntemp = "$RELAY,2,#";  //返回不匹配
  44.            Serial.print(returntemp); //返回協(xié)議數(shù)據(jù)包      
  45.            inputString = "";   // clear the string
  46.            newLineReceived = false;
  47.            break;   
  48.        }
  49.       
  50.        if(inputString[7] == '1')  //繼電器開(kāi)關(guān)閉合
  51.        {
  52.           int i = inputString.indexOf(",");      //從接收到的數(shù)據(jù)中檢索字符串“,”出現(xiàn)的位置
  53.           int ii = inputString.indexOf("#", i);  //從接收到的數(shù)據(jù)中以i為起始位置檢索字符串“#”的位置
  54.           if(ii > i && ii > 0 && i > 0 )         //如果ii和i的順序?qū)α瞬⑶覚z索到ii與i存在
  55.           {
  56.               digitalWrite(RELAY_Pin, HIGH);    //向繼電器S信號(hào)端輸出高電平,繼電器開(kāi)關(guān)閉合
  57.           }
  58.           else    //檢索到ii和i的順序不對(duì)或者沒(méi)有檢索到ii或者i
  59.           {
  60.             returntemp = "$RELAY,1,#";  //返回匹配失敗
  61.             Serial.print(returntemp); //返回協(xié)議數(shù)據(jù)包      
  62.             inputString = "";   // clear the string
  63.             newLineReceived = false;
  64.             break;   
  65.           }
  66.        }
  67.        else   //繼電器開(kāi)關(guān)打開(kāi)
  68.        {
  69.           digitalWrite(RELAY_Pin, LOW);  //向繼電器S信號(hào)端輸出低電平
  70.        }
  71.       

  72.       
  73.        returntemp = "$RELAY,0,#";  //返回匹配成功

  74.        Serial.print(returntemp); //返回協(xié)議數(shù)據(jù)包      
  75.        inputString = "";   // clear the string
  76.        newLineReceived = false;   

  77.     }
  78.    
  79. }
  80. /**
  81. * Function       serialEvent
  82. * @author        zhoujie
  83. * @date          2017.11.14
  84. * @brief         串口接收中斷   serialEvent()是IDE1.0及以后版本新增的功能,不清楚為什么大部份人不愿意用,這個(gè)可是相當(dāng)于中斷功能一樣的啊!
  85. * @param[in]     void
  86. * @retval        void
  87. * @par History   無(wú)
  88. */  
  89. void serialEvent()
  90. {
  91.   while (Serial.available())                    //如果串口接收到數(shù)據(jù)則進(jìn)入循環(huán)
  92.   {   
  93.     incomingByte = Serial.read();              //一個(gè)字節(jié)一個(gè)字節(jié)地讀,下一句是讀到的放入字符串?dāng)?shù)組中組成一個(gè)完成的數(shù)據(jù)包
  94.     if(incomingByte ==




  95. )                     //如果到來(lái)的字節(jié)是





  96. ,開(kāi)始讀取
  97.     {
  98.       startBit= true;
  99.     }
  100.     if(startBit == true)
  101.     {
  102.        inputString += (char) incomingByte;     // 全雙工串口可以不用在下面加延時(shí),半雙工則要加的//
  103.     }  
  104.     if (incomingByte == '#')
  105.     {
  106.        newLineReceived = true;                 //如果到來(lái)的字節(jié)是'#',讀取結(jié)束
  107.        startBit = false;
  108.     }
  109.   }
  110. }



復(fù)制代碼

所有資料51hei提供下載:
3.遠(yuǎn)程繼電器控制電燈.zip (3 MB, 下載次數(shù): 42)




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

使用道具 舉報(bào)

沙發(fā)
ID:243394 發(fā)表于 2018-9-17 13:05 | 只看該作者
謝謝分享的資料
回復(fù)

使用道具 舉報(bào)

板凳
ID:442032 發(fā)表于 2018-12-8 11:48 | 只看該作者
學(xué)習(xí)謝謝
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 精品国产欧美一区二区三区不卡 | 亚洲一区二区三区在线免费 | 亚洲欧美精品国产一级在线 | 男人天堂社区 | 久久99精品久久久久子伦 | 一区二区三区四区免费观看 | 五月天婷婷狠狠 | 91精品久久久久久综合五月天 | 成人在线网 | 日韩免费视频一区二区 | 久久久久无码国产精品一区 | 欧美一级免费片 | 日韩中文字幕一区二区 | 日本成人在线免费视频 | 久久成人18免费网站 | 久草免费电影 | 黄色一级片在线播放 | 香蕉视频一区二区 | 蜜桃官网 | 亚洲综合在线一区 | 亚欧午夜 | 国产美女视频黄a视频免费 国产精品福利视频 | 亚洲精品自在在线观看 | 国产精品国产馆在线真实露脸 | 有码一区 | 亚洲欧美中文日韩在线v日本 | 在线观看第一区 | 特黄级国产片 | www.亚洲区 | 91毛片在线观看 | 亚洲一区高清 | 日韩精品一区二区三区视频播放 | 在线免费观看a级片 | 九九热精品在线 | av网站观看 | 亚洲综合大片69999 | 免费成人在线网 | 日韩精品一区二区三区 | 欧美日韩视频一区二区 | 久久久久国产一区二区三区 | 中文在线a在线 |