亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于ARDUINO的電器遙控系統(tǒng)

        2017-12-22 07:35:44作者史舜晨臨沂第一中學(xué)
        電子制作 2017年21期
        關(guān)鍵詞:指令系統(tǒng)設(shè)計(jì)

        作者/史舜晨,臨沂第一中學(xué)

        基于ARDUINO的電器遙控系統(tǒng)

        作者/史舜晨,臨沂第一中學(xué)

        基于ARDUINO平臺(tái),集成紅外收發(fā)模塊、數(shù)碼管顯示模塊、舵機(jī)控制模塊及相應(yīng)機(jī)械結(jié)構(gòu),開發(fā)了專門的控制程序,實(shí)現(xiàn)了一個(gè)紅外遙控系統(tǒng)。該系統(tǒng)可以在不破壞原有電子設(shè)備開關(guān)控制結(jié)構(gòu)的前提下,實(shí)現(xiàn)遙控開關(guān)和定時(shí)開關(guān)功能。更換觸發(fā)頭可以適應(yīng)不同種類電器的多種觸發(fā)控制模式。該系統(tǒng)可以提高家用老舊電器的易用性和智能化程度。

        Arduino;遙控;開關(guān);定時(shí)

        引言

        經(jīng)濟(jì)社會(huì)的發(fā)展,人民對生活質(zhì)量有了更高的追求,希望家用電器以更加舒適的方式控制家中的電子設(shè)備、希望設(shè)備提供更貼心的服務(wù),如電器的定時(shí)控制、智能控制等。但伴隨著電器的更新?lián)Q代速率不斷加快,尤其是遙控的大量廣泛應(yīng)用極大便利了生活。例如人們可以不必在冬日離開溫暖的被窩去關(guān)燈,不必匆匆在客廳和餐廳間往返來使用廚房電器。但是電器的更新速率并不完全與人們更換它們的能力與意向同步,尤其是在一些比較貴重或者更換麻煩的電器上。筆者設(shè)計(jì)了一種基于ARDUINO系統(tǒng)的、用于提升現(xiàn)有手動(dòng)按鍵式電器易用性的遠(yuǎn)程遙控系統(tǒng)。如圖1所示,在控制器控制下,舵機(jī)帶動(dòng)齒輪驅(qū)動(dòng)齒條實(shí)現(xiàn)對機(jī)械按鍵的觸發(fā)。當(dāng)舵機(jī)順時(shí)針轉(zhuǎn)動(dòng)觸發(fā)一次開關(guān),如狀態(tài)一;當(dāng)舵機(jī)逆時(shí)針轉(zhuǎn)動(dòng)再一次觸發(fā)開關(guān),如狀態(tài)二。借助該系統(tǒng),可以在原有手動(dòng)按鍵的基礎(chǔ)上添加了遙控開關(guān)與定時(shí)開關(guān)功能。這種設(shè)計(jì)可以在較大程度上提高人們對家用電器的控制能力,便利生活、提高生活質(zhì)量。并且可以減少家電的更換頻率,減少資源消耗;使老式電器物盡其用,符合綠色的可持續(xù)發(fā)展觀念。

        圖 1 工作原理圖

        1.硬件系統(tǒng)設(shè)計(jì)

        本系統(tǒng)采用了Arduino UNO控制板,控制板采用了ATmega16U2主控芯片,同時(shí)具有14路數(shù)字輸入/輸出口(其中6路可作為PWM輸出),6路模擬輸入,一個(gè)16MHz晶體振蕩器,一個(gè)USB口,一個(gè)電源插座,一個(gè)ICSP header和一個(gè)復(fù)位按鈕。 輸入/輸出口較多,且Arduino UNO支持3種方式供電,即外部直流電源通過電源插座供電、USB接口直接供電、電池連接電源連接器的GND和VIN引腳,而且能自動(dòng)選擇供電方式,配置滿足了設(shè)計(jì)的需要[1]。此外,Arduino作為一個(gè)開源設(shè)計(jì)平臺(tái),具有類似 Java 和 C 語言開發(fā)環(huán)境,模塊化的硬件設(shè)備,良好的封裝性,適合大部分開發(fā)人群設(shè)計(jì)使用。另外重要的一點(diǎn)Arduino 價(jià)格比普通單片機(jī)便宜,并且體積只有巴掌大小,適合作為外附工具改進(jìn)電器需要方便使用。它可方便地與傳感器、各種電子元件進(jìn)行連接,實(shí)現(xiàn)豐富的高級應(yīng)用。

        本項(xiàng)目采用ARDUINO作為控制系統(tǒng),包括了數(shù)碼管顯示模塊,紅外發(fā)射接收模塊以及舵機(jī)控制模塊。圖2為系統(tǒng)框架圖。紅外接收管接收來自外部紅外發(fā)射器的數(shù)據(jù),經(jīng)過控制器解碼,再相應(yīng)驅(qū)動(dòng)舵機(jī)控制模塊和定時(shí)設(shè)置模塊,通過舵機(jī)帶動(dòng)齒輪和齒條觸發(fā)機(jī)械開關(guān)。

        ■1.1 紅外遙控發(fā)射接收模塊

        紅外線遙控是目前應(yīng)用最廣泛、性價(jià)比最好的一種遙控技術(shù)?;贏rduino平臺(tái)實(shí)現(xiàn)紅外遙控功能控制簡單,實(shí)施方便。綜合以上考慮,本系統(tǒng)中選用了紅外遙控作為外部控制信號(hào)輸入。

        圖 2 系統(tǒng)框架圖

        紅外遙控器發(fā)出的信號(hào)是一連串二進(jìn)制脈沖碼。通常都是先將其調(diào)制在特定的載波頻率上來使其在無線傳輸過程中免受其他紅外信號(hào)的干擾,然后再經(jīng)紅外發(fā)射二極管發(fā)射出去。紅外接收管將接收到的光信號(hào)轉(zhuǎn)換為微弱的電信號(hào),通過放大、自動(dòng)增益控制、帶通濾波、解調(diào)變、波形整形后還原為原始控制編碼,再將此編碼傳遞給中央控制芯片做相應(yīng)控制輸出。

        本系統(tǒng)使用NEC格式的紅外遙控編碼方式。圖3為NEC協(xié)議格式典型的脈沖序列。一個(gè)信息發(fā)送由9mS的AGC自動(dòng)增益控制脈沖開頭,用來設(shè)置增益。接著是4.5mS空閑,然后是地址、命令。地址和命令都傳送2次,第二次的地址和命令是反碼,可以用來校驗(yàn)接收到的信息。總的傳輸時(shí)間是固定的,因?yàn)槊恳晃欢加蟹创a傳送。

        圖3 NEC協(xié)議典型脈沖序列

        本項(xiàng)目中所有的指令都是通過紅外遙控器發(fā)出,包括時(shí)間設(shè)置指令、直接觸發(fā)開關(guān)指令、倒計(jì)時(shí)開始指令等。項(xiàng)目設(shè)計(jì)中使用的碼值如下:

        long on0= 0x00FF6897; long on1 = 0x00あ30CF;

        long on2 = 0x00FF18E7; long on3 = 0x00FF7A85;

        long on4 = 0x00FF10EF; long on5 = 0x00FF38C7;

        long on6 = 0x00FF5AA5; long on7 = 0x00FF42BD;

        long on8 = 0x00FF4AB5; long on9 = 0x00FF52AD;

        long add = 0x00FF02FD; long subtract = 0xFF9867;

        long play = 0xFFA857;

        on0–on9用來設(shè)置定時(shí)時(shí)間并顯示,add按鍵用來控制舵機(jī)正轉(zhuǎn),subtract用來控制反轉(zhuǎn),play用來控制計(jì)時(shí)開始和計(jì)時(shí)結(jié)束后的開關(guān)觸發(fā)。紅外接收管的信號(hào)引腳連接到Arduino的數(shù)字3。

        ■1.2 舵機(jī)控制模塊

        舵機(jī)是一種位置伺服的驅(qū)動(dòng)器,主要是由外殼、電路板、無核心馬達(dá)、齒輪與位置檢測器所構(gòu)成,適用于角度不斷變化并且可以保持的控制系統(tǒng),目前舵機(jī)廣泛應(yīng)用在機(jī)器人關(guān)節(jié)的控制,機(jī)器車方向的扭動(dòng)等在智能控制應(yīng)用中。

        Arduino控制器可以通過輸出不同占空比的PWM信號(hào)控制舵機(jī)的轉(zhuǎn)動(dòng)[3]。本項(xiàng)目中選擇的舵機(jī)是TOWERPRO的9G舵機(jī),該舵機(jī)具有尺寸小,質(zhì)量輕,扭力大,相應(yīng)脈沖相對較短的優(yōu)點(diǎn),能夠滿足項(xiàng)目中驅(qū)動(dòng)齒條觸發(fā)開關(guān)的需求,其工作電壓在3.5–6v,扭矩為1.6kg·cm(4.8V),在無負(fù)載的時(shí)候的速度為0.12秒/60度(4.8V)或者0.10秒/60度(6.0V) 。該舵機(jī)有三個(gè)引腳分別是電源VCC、地線GND及信號(hào)線PWM。本項(xiàng)目中信號(hào)線接到Arduino的數(shù)值引腳10上。當(dāng)控制器發(fā)送觸發(fā)信號(hào)時(shí),舵機(jī)通過正轉(zhuǎn)或者反轉(zhuǎn)驅(qū)動(dòng)齒輪轉(zhuǎn)動(dòng),然后帶動(dòng)齒條移動(dòng),實(shí)現(xiàn)如圖1所示狀態(tài)變化,控制開關(guān)閉合和斷開。

        ■1.3 觸發(fā)開關(guān)頭的設(shè)計(jì)

        設(shè)計(jì)不同的觸發(fā)頭可以實(shí)現(xiàn)對不同電器的控制。如圖4所示的旋鈕式開關(guān)頭可以應(yīng)用到旋鈕式開關(guān)上,如燃?xì)庠?、微波爐等。

        圖4 旋鈕式觸發(fā)頭

        2.主控軟件設(shè)計(jì)

        控制軟件是實(shí)現(xiàn)本項(xiàng)目的關(guān)鍵,直接影響系統(tǒng)的功能性、流暢性和執(zhí)行效率??刂栖浖饕t外接收模塊、舵機(jī)控制模塊、數(shù)碼管顯示模塊。紅外遙控模塊實(shí)現(xiàn)紅外輸入控制指令的解碼,舵機(jī)控制模塊根據(jù)相應(yīng)的指令實(shí)現(xiàn)舵機(jī)的正轉(zhuǎn)或者反轉(zhuǎn),數(shù)碼管顯示模塊實(shí)現(xiàn)倒計(jì)時(shí)進(jìn)度的顯示和信息的提示。

        圖5 程序流程圖

        程序工作的流程圖如圖5所示,首先判斷是否有按鍵按下,如果有,就對紅外進(jìn)行解碼,判斷相應(yīng)的操作指令,如果沒有識(shí)別出按鍵則在數(shù)碼管上顯示“E”,表示按鍵錯(cuò)誤。如為時(shí)間設(shè)置指令,則在數(shù)碼管上顯示倒計(jì)時(shí)的時(shí)間,并且向倒計(jì)時(shí)模塊傳遞倒計(jì)時(shí)的時(shí)間;如果為直接觸發(fā)開關(guān)指令,則判斷是正傳還是反轉(zhuǎn),如果是正傳則向舵機(jī)控制模塊傳遞chePos=1,舵機(jī)接到指令后調(diào)用函數(shù)clockwisefan()實(shí)現(xiàn)正傳;反轉(zhuǎn)則向舵機(jī)控制模塊傳遞chePos=0;舵機(jī)控制模塊則調(diào)用函數(shù)Anticlockwisefan()實(shí)現(xiàn)反轉(zhuǎn)。正反轉(zhuǎn)函數(shù)代碼如下,本項(xiàng)目中轉(zhuǎn)動(dòng)的角度為180度,轉(zhuǎn)動(dòng)度數(shù)可以根據(jù)項(xiàng)目需要進(jìn)行改動(dòng)。

        void Clockwise(void) //正轉(zhuǎn)程序

        { for(pos=0; pos <180; pos++) // 從0度到180度運(yùn)動(dòng)// 每次步進(jìn)一度

        { myservo.write(pos); // 指定舵機(jī)轉(zhuǎn)向的角度

        delay(10); } } // 等待10ms讓舵機(jī)到達(dá)指定位置

        void Anti_clockwisefan(void) //反轉(zhuǎn)程序

        { for(pos=180 ; pos >0; pos––)

        // 從180度到0度運(yùn)動(dòng),每次步進(jìn)一度

        { myservo.write(pos); // 指定舵機(jī)轉(zhuǎn)向的角度

        delay(10); } } // 等待10ms讓舵機(jī)到達(dá)指定位置

        如果為倒計(jì)時(shí)開始指令,則調(diào)用led_diplay()函數(shù),開始倒計(jì)時(shí),同步驅(qū)動(dòng)數(shù)碼管的顯示。倒計(jì)時(shí)函數(shù)delay_time_start()的代碼如下:其中delay_time表示延時(shí)的分鐘數(shù),delay(x)函數(shù),表示延時(shí)x毫秒。為了表示延時(shí)一分鐘,本項(xiàng)目中使用了循環(huán)語句60次。

        void delay_time_start(int delay_time)

        { for(int k=delay_time;k>0;k––)

        { led_display(k);

        for(int m=60;m>0;m––)

        { delay(1000); //延時(shí)1秒

        if(k==1 && m<11)//最后十秒顯示

        { led_display((m)); } } }

        chePos=!chePos;

        led_display(0);

        action_start(); }

        其中action_start()函數(shù)實(shí)現(xiàn)舵機(jī)反轉(zhuǎn),代碼如下:

        void action_start(void)

        { if (chePos==1) //如果chePos為1,運(yùn)行正轉(zhuǎn)程序

        { Clockwise(); } //運(yùn)行正轉(zhuǎn)程序

        else

        { Anti_clockwisefan(); } } //運(yùn)行反轉(zhuǎn)程序

        3.系統(tǒng)展示

        圖6為各模塊與ArduinoUNO的連接原理圖,圖7為實(shí)物連接圖。

        在demo驗(yàn)證過程中,紅外遙控輸入信號(hào)識(shí)別正確,舵機(jī)及齒輪和齒條控制輸出平穩(wěn)有效,成功實(shí)現(xiàn)了對按鍵的觸發(fā)。倒計(jì)時(shí)模塊工作正常,在倒計(jì)時(shí)結(jié)束后也有效的調(diào)用了舵機(jī)控制模塊,實(shí)現(xiàn)了開關(guān)的觸發(fā)。

        圖6 各模塊連接圖

        圖7 各構(gòu)件實(shí)際連接圖

        4.結(jié)束語

        技術(shù)調(diào)研后,本文設(shè)計(jì)的電器遠(yuǎn)程遙控系統(tǒng)成功實(shí)現(xiàn)了預(yù)期功能,可以加裝在家中的手動(dòng)按鍵式電器上,為生活帶來一定程度的便利,具有一定的實(shí)用價(jià)值。

        該系統(tǒng)采用模塊化的設(shè)計(jì)思想,充分利用了Arduino平臺(tái)的接口豐富、開發(fā)簡單、功能實(shí)用等特性,以Arduino控制板為核心,通過自主編寫的控制程序,成功實(shí)現(xiàn)了對舵機(jī)模塊、紅外接收發(fā)射模塊和數(shù)碼管顯示模塊的集成和控制,技術(shù)路線得到驗(yàn)證,筆者也從中得到鍛煉,學(xué)習(xí)能力、創(chuàng)新能力、自信心得到極大提升。

        在實(shí)驗(yàn)過程中也發(fā)現(xiàn)系統(tǒng)所存在的不足,今后還可以在以下方面對系統(tǒng)進(jìn)行改進(jìn)或做深入研究:

        (1)使用精確度更高的舵機(jī),避免由于誤差不能夠正常觸發(fā);(2)完善機(jī)械和外觀設(shè)計(jì),實(shí)現(xiàn)對不同機(jī)械按鍵的觸發(fā);(3)集成無線通信或wif i技術(shù),實(shí)現(xiàn)手機(jī)遠(yuǎn)程遙控。

        * [1]劉楚紅,董鎮(zhèn),錢宇捷,陶立,柳盛東.基于Arduino 的倒車?yán)走_(dá)系統(tǒng)設(shè)計(jì)[J],現(xiàn)代電子技術(shù),2014年第37卷第17期

        * [2]李雪瑩.基于單片機(jī)的空調(diào)紅外線編解碼系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)[D],電子科技大學(xué)碩士論文

        * [3]蔡睿妍.基于Arduino的舵機(jī)控制系統(tǒng)設(shè)計(jì)[J],電腦知識(shí)與技術(shù):1009-3044(2012)15-3719-03

        猜你喜歡
        指令系統(tǒng)設(shè)計(jì)
        聽我指令:大催眠術(shù)
        Smartflower POP 一體式光伏系統(tǒng)
        WJ-700無人機(jī)系統(tǒng)
        ZC系列無人機(jī)遙感系統(tǒng)
        北京測繪(2020年12期)2020-12-29 01:33:58
        ARINC661顯控指令快速驗(yàn)證方法
        LED照明產(chǎn)品歐盟ErP指令要求解讀
        電子測試(2018年18期)2018-11-14 02:30:34
        瞞天過?!律O(shè)計(jì)萌到家
        連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
        設(shè)計(jì)秀
        海峽姐妹(2017年7期)2017-07-31 19:08:17
        有種設(shè)計(jì)叫而專
        Coco薇(2017年5期)2017-06-05 08:53:16
        久久久国产精品ⅤA麻豆百度 | 久久色悠悠综合网亚洲| 校园春色人妻激情高清中文字幕| 国产福利视频一区二区| 超薄肉色丝袜一区二区| 国内精品久久久久影院蜜芽 | 桃花影院理论片在线| 国产精品刺激好大好爽视频| 亚洲国产日韩精品综合| 视频一区二区三区黄色| 久久久国产打桩机| 精品人妻伦九区久久AAA片69| 精品亚洲av一区二区| 久久精品第九区免费观看| 国产无人区码一码二码三mba| 久久中文字幕无码一区二区| 国产偷拍盗摄一区二区| 蜜桃视频在线免费观看| 中文字字幕在线精品乱码| JIZZJIZZ国产| 最新日本久久中文字幕| 美女网站免费观看视频| 久久婷婷香蕉热狠狠综合| 欧美丝袜激情办公室在线观看| 你懂的视频网站亚洲视频| 疯狂做受xxxx高潮视频免费| 一群黑人大战亚裔女在线播放| 日韩精品精品一区二区三区| 色久悠悠婷婷综合在线| 精品久久香蕉国产线看观看亚洲| 一区二区三区日韩亚洲中文视频| 毛片色片av色在线观看| 国产高清乱码又大又圆| 国产内射999视频一区| 99国产综合精品-久久久久| 国内自拍视频一区二区三区| 人与动牲交av免费| 日韩精品电影在线观看| 久久精品国产亚洲av热东京热| 国产国语亲子伦亲子| 九九热在线视频观看这里只有精品|