<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                * 導師視頻講解:[**去聽課**](https://www.bilibili.com/video/BV1k34y1D7Vz?p=21) >[success] **技術支持說明:** >**1**.一般以自主學習為主 > **2**.可到官方問答社區中提問:[**去提問**](https://bbs.csdn.net/forums/zigbee) > **3**.工程師**會盡快**解答社區問題,但他們是一線開發,【**難以保證**】解答時效,解答辛苦,感謝理解! <br/> 本小節將講解如何使用繼電器去控制強電設備。 <br/> ## **繼電器簡介** &emsp;&emsp;常見的LED小燈、小型電機或小型傳感器的工作電壓在3.3v左右,故可以讓單片機直接控制其開關。但是像家用電燈泡、家用電風扇或電磁鎖的工作電壓是220v,故單片機無法直接控制其開關。這時候,單片機可以借助繼電器來控制高電壓用電器的開關。ZigBee標準板集成了繼電器,如圖所示。 ![](https://img.kancloud.cn/c0/6d/c06dcc5e4d08b5e422031fd151f58503_950x790.png =200x) ### 其中的綠色部分是接線端子,共有3接線口,每個接線口的上方均有一個螺絲孔。 ![](https://img.kancloud.cn/10/e8/10e88fbbe72b9503f1f8a7f8e113d8cf_1440x1440.png =150x) ### 以220v家用燈泡為例簡單講解一下繼電器的接線方法,用螺絲刀擰開第1、2號口的螺絲,分別塞入零線后再擰緊螺絲,如圖所示。此時,**繼電器充當了一個開關**,可以控制零線的斷開或者閉合,從而控制燈泡的開關。也可以把零線分別塞入到第2、3號口,區別在與如果介入第1、2號口,那么在默認狀態下是斷開的;如果接入第2、3號口,那么在默認狀態是閉合的。 ![](https://img.kancloud.cn/b9/2e/b92e9cd3aad8c5661791c2809d177d6a_748x548.png =350x) ### 類似地,使用繼電器連接12v電磁鎖的示意圖如圖所示。圖中的12v電池是用于給電磁鎖供電的。 ![](https://img.kancloud.cn/cc/c4/ccc4cb537ac345031b80491bc8246d3e_646x384.png =360x) <br/> ## **使用繼電器** 繼電器的使用方式非常簡單,控制繼電器的控制引腳的電平即可控制其開合。 <br/> **引腳配置** 使用繼電器前,需要先把繼電器的控制引腳與CC2530的IO口配對起來。ZigBee標準板是使用CC2530的P0\_5引腳與繼電器的控制引腳連接的。打開本實驗代碼代碼,可以找到ioConfig.c文件,如圖所示。 ![](https://img.kancloud.cn/c5/13/c51375cbe97684bb4fd50633097bd068_349x181.png) ### 可在本實驗代碼的ioConfig.c文件中找到如下配置代碼: ``` #define RELAY_PORT 0 #define RELAY_PIN 5 #define RELAY P0_5 ``` P0\_5是由頭文件ioCC2530.h所定義的,用于表示P0\_5引腳,因此RELAY實際上就表示P0\_5引腳。如果繼電器控制引腳需要與CC2530的其他引腳連接的話,只需要在這里修改引腳映射即可,例如如果需要在P1\_2引腳外接繼電器控制引腳,代碼如下: ### ``` #define RELAY_PORT 1 #define RELAY_PIN 2 #define RELAY P1_2 ``` ### **控制繼電器** 控制繼電器的開合,本質上就是控制P0_5引腳的電平,在ioConfig.c中可找到示例代碼: ``` //2. 51單片機入門/7. 外設實驗/7.3 繼電器開關控制/Workspace/code/ioConfig/ioConfig.c #include "cc2530_ioctl.h" #include <stdio.h> /** @brief GPIO映射定義 */ #define RELAY_PORT 0 #define RELAY_PIN 5 #define RELAY P0_5 /** @brief 繼電器開關狀態定義 */ #define RELAY_ON 1 #define RELAY_OFF 0 static void delayMs(uint16_t nMs); static void initRelay(void); void main() { initRelay(); while(1) { delayMs(1000);//延遲 //反轉RELAY引腳的電平狀態 RELAY = (RELAY == RELAY_ON)? RELAY_OFF : RELAY_ON; } /* while */ } /* * 延遲指定的時間 * * @param nMs - 時間長度,單位為微秒 */ static void delayMs(uint16_t nMs) { uint16_t i,j; for (i = 0; i < nMs; i++) for (j = 0; j < 535; j++); } /* * 初始化繼電器 */ static void initRelay() { CC2530_IOCTL( RELAY_PORT, RELAY_PIN, CC2530_OUTPUT); RELAY = RELAY_OFF; } ``` &emsp;&emsp;上述代碼實現了不斷開關繼電器的功能。可見,繼電器的使用其實非常簡單的。 ## **調試仿真** 可以運行本實驗代碼以觀察運行結果,操作步驟如下: (1)編譯鏈接配套的工程代碼后,把程序燒錄到配套的ZigBee開發板中。 (2)由于本實驗需要用到繼電器,ZigBee標準板中已經集成了繼電器,并且其控制引腳默認連接著P0\_5引腳。如果使用ZigBee Mini板測試,需要在P0\_5引腳處外接繼電器控制引腳,并且把該繼電器的VCC和GND引腳分別接入到5v的電源和地線。 (3)通過MicroUSB線給開發板上電,即可觀察到繼電器不斷的開合。 >[danger] 必須要使用Micro USB線給開發板供電才能使用繼電器! <br/> <br/> ## **商務合作** * 如需項目定制開發,可掃碼添加項目經理好友,注明“**商務合作**” * 定制范圍:**NB-IoT**、**CATn(4G)**、**WiFi**、**ZigBee**、**BLE Mesh**以及**STM32**、**嵌入式Linux**等IoT技術方案 * 善學坊官網:[www.sxf-iot.com](https://www.sxf-iot.com/) ![](https://img.kancloud.cn/ca/73/ca739f92cab220a3059378642e3bd502_430x430.png =200x) * 非商務合作**勿擾**,此處**非**技術支持
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看