• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于手機(jī)APP藍(lán)牙控制的提線木偶的設(shè)計(jì)與調(diào)試

      2019-06-28 08:36:28李凱劉麗霞曹楊
      科技創(chuàng)新與應(yīng)用 2019年16期
      關(guān)鍵詞:提線木偶控制板舵機(jī)

      李凱 劉麗霞 曹楊

      摘? 要:為了實(shí)現(xiàn)對提線木偶的無線自動(dòng)控制,設(shè)計(jì)了一套利用手機(jī)App通過藍(lán)牙模塊發(fā)出控制指令,通過Arduino控制4個(gè)舵機(jī)驅(qū)動(dòng)牽引線完成提線木偶左右手臂和左右腿動(dòng)作的裝置。該裝置既可以完成提線木偶的單一動(dòng)作,也可完成連續(xù)多個(gè)動(dòng)作。經(jīng)搭建實(shí)物測試,設(shè)計(jì)的裝置可以流暢的完成提線木偶的動(dòng)作。

      關(guān)鍵詞:App Inventor 2;藍(lán)牙通信;Arduino平臺(tái);舵機(jī)驅(qū)動(dòng)

      中圖分類號(hào): TP29 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2095-2945(2019)16-0012-03

      Abstract: In order to realize the wireless automatic control of the wire lifting puppet, a set of device is designed, which uses the mobile phone App to send out the control command through the Bluetooth module, and uses Arduino to control the four steering gear driving leads to complete the left and right arms and left and right legs of the wire lifting puppet. The device can not only complete the single action of the puppet, but also complete a plurality of continuous actions. After building the physical test, the designed device can smoothly complete the action of wire lifting puppets.

      Keywords: App Inventor 2; bluetooth communication; Arduino platform; actuator drive

      1 概述

      手機(jī)APP控制的可編程智能玩具市場日趨繁榮,它集娛樂和益智于一體,深受青少年的喜歡。手機(jī)APP平臺(tái)App Inventor 2是一個(gè)圖形化開發(fā)應(yīng)用環(huán)境,它可以實(shí)現(xiàn)如“搭積木”一樣編寫程序,完成手機(jī)APP的制作[1]。Arduino是目前非常流行的開源創(chuàng)客工具,它對底層硬件進(jìn)行了良好封裝,提供了豐富的庫函數(shù)可供開發(fā)者調(diào)用,有強(qiáng)大的社區(qū)論壇,以上使得開發(fā)過程更加簡單快速[2]。

      為結(jié)合科技與娛樂,激發(fā)青少年的興趣,本文通過借助手機(jī)APP平臺(tái)App Inventor 2,運(yùn)用藍(lán)牙BLE4.0模塊[3],利用舵機(jī)[4]驅(qū)動(dòng)牽引線實(shí)現(xiàn)手機(jī)對智能提線木偶手臂和腿部的動(dòng)作,可以實(shí)現(xiàn)提線木偶手臂、腿部的單獨(dú)動(dòng)作和連續(xù)動(dòng)作兩種模式的動(dòng)作。用戶可對連續(xù)運(yùn)動(dòng)的動(dòng)作進(jìn)行設(shè)計(jì),實(shí)現(xiàn)提線木偶完成一系列連貫動(dòng)作。

      2 系統(tǒng)設(shè)計(jì)

      系統(tǒng)設(shè)計(jì)包括4部分內(nèi)容,依次是總體方案設(shè)計(jì)、提線木偶動(dòng)作設(shè)計(jì)、硬件電路設(shè)計(jì)和軟件設(shè)計(jì),具體內(nèi)容如下所述。

      2.1 總體方案

      本設(shè)計(jì)的總體方案如圖1所示,Arduino控制器接收由手機(jī)APP經(jīng)由藍(lán)牙模塊傳來的指令,以此通過驅(qū)動(dòng)電路控制舵機(jī)操作木偶運(yùn)動(dòng)。設(shè)計(jì)內(nèi)容包括Android手機(jī)APP設(shè)計(jì)、藍(lán)牙通信連接、Arduino控制器程序編寫與調(diào)試、舵機(jī)驅(qū)動(dòng)電路設(shè)計(jì)、提線木偶的動(dòng)作設(shè)計(jì),以及為各個(gè)模塊供電的直流電源模塊等。實(shí)現(xiàn)的目標(biāo)包括:(1)能夠通過Android手機(jī)APP操作界面實(shí)現(xiàn)提線木偶的手臂和腿部的抬/放動(dòng)作。(2)手臂或腿部能夠?qū)崿F(xiàn)單獨(dú)動(dòng)作和連續(xù)動(dòng)作。(3)當(dāng)超出藍(lán)牙控制范圍時(shí),提示藍(lán)牙連接中斷,并保持提線木偶動(dòng)作。

      2.2 提線木偶動(dòng)作設(shè)計(jì)

      提線木偶可以實(shí)現(xiàn)的基本動(dòng)作包括抬左手、放左手、抬右手、放右手、抬左腿、放左腿、抬右腿、放右腿8個(gè)動(dòng)作。如圖2所示,由于上述8個(gè)基本動(dòng)作由四個(gè)獨(dú)立的舵機(jī)控制,每個(gè)部位都可單獨(dú)動(dòng)作,若將這8個(gè)動(dòng)作組合,同時(shí)增加延時(shí)環(huán)節(jié),可形成更多動(dòng)作組合。如抬左手的同時(shí)抬右手并保持,延時(shí)2秒,抬左腳并保持,待左腳到位后抬右腳,保持2秒,全部復(fù)位。這樣木偶既可以實(shí)現(xiàn)單個(gè)動(dòng)作,又可同時(shí)實(shí)現(xiàn)多個(gè)動(dòng)作組合形成連續(xù)動(dòng)作,且可以控制前一個(gè)(組)動(dòng)作和后一個(gè)(組)動(dòng)作之間的時(shí)間。

      2.3 硬件電路設(shè)計(jì)

      本系統(tǒng)的硬件電路原理圖見圖3所示,Arduino控制板、藍(lán)牙模塊、PCA9685芯片、4個(gè)舵機(jī)及5V直流電源(圖中未畫出)組成。

      木偶動(dòng)作是由舵機(jī)驅(qū)動(dòng)牽引線來實(shí)現(xiàn)的,舵機(jī)可以實(shí)現(xiàn)180度(-90度—+90度)范圍內(nèi)旋轉(zhuǎn)。舵機(jī)有3個(gè)外接引腳,分別是Vcc(+5V)、GND(接地)和PWM三個(gè)引腳。舵機(jī)供電由Vcc和GND兩個(gè)引腳實(shí)現(xiàn),舵機(jī)的旋轉(zhuǎn)角度由PWM引腳接入脈沖信號(hào)的占空比來控制。PWM接入信號(hào)的頻率為50Hz,舵機(jī)旋轉(zhuǎn)-90—+90度線性對應(yīng)PWM引腳脈沖信號(hào)占空比2.5%-12.5%。如PWM脈沖信號(hào)占空比為2.5%時(shí),舵機(jī)旋轉(zhuǎn)到-90度的位置,PWM脈沖信號(hào)占空比為12.5%時(shí),舵機(jī)旋轉(zhuǎn)到+90度的位置,PWM脈沖信號(hào)占空比為7.5%時(shí),舵機(jī)旋轉(zhuǎn)到0度的位置。

      本設(shè)計(jì)選用Arduino Uno控制板為主控單元,由于其引腳資源有限,也為了后期擴(kuò)展方便,選用能夠同時(shí)控制16路舵機(jī)的PCA9685芯片[5]作為舵機(jī)驅(qū)動(dòng)模塊。Arduino控制板與PCA9685芯片之間的通訊采用IIC協(xié)議[6],硬件接線需將Arduino的A4、A5引腳分別與PCA9685芯片的SDA、SCL引腳連接。PCA9685芯片的A0-A5都接地,即設(shè)置芯片的地址為0x40。本設(shè)計(jì)中使用PCA9685芯片的PWM9、PWM11、PWM13和PWM15四個(gè)引腳作為4路舵機(jī)轉(zhuǎn)角控制的PWM脈沖引腳,故需要將它們分別與4路舵機(jī)對應(yīng)的PWM引腳相連。

      手機(jī)利用藍(lán)牙模塊對Arduino下達(dá)指令,硬件連接需將藍(lán)牙模塊的TX、RX引腳分別與Arduino的D0(RX)、D1(TX)引腳相連。

      最后為各個(gè)芯片模塊和舵機(jī)提供5V直流電源(圖中未畫出)即完成硬件電路設(shè)計(jì)。

      2.4 軟件設(shè)計(jì)

      軟件設(shè)計(jì)分為兩部分,分別是利用App Inventor 2完成手機(jī)APP的設(shè)計(jì),利用C語言完成Arduino控制程序的設(shè)計(jì)。

      2.4.1 APP的設(shè)計(jì)

      手機(jī)APP是利用App Inventor 2平臺(tái)完成的,根據(jù)上文提線木偶的動(dòng)作設(shè)計(jì),手機(jī)APP需要完成的功能如圖4所示。所需要的組件分別為實(shí)現(xiàn)通信連接的BluetoothLE藍(lán)牙通信組件,實(shí)現(xiàn)時(shí)間觸發(fā)的計(jì)時(shí)器組件,以及實(shí)現(xiàn)點(diǎn)擊和顯示的按鈕和標(biāo)簽組件。

      程序的初始化需要完成記錄動(dòng)作的空列表的創(chuàng)建,記錄列表項(xiàng)數(shù)量的變量定義以及定時(shí)時(shí)間標(biāo)志位的定義等,并且自動(dòng)開啟手機(jī)藍(lán)牙通信的功能。連接藍(lán)牙需要完成手機(jī)藍(lán)牙與藍(lán)牙模塊的通信連接。記錄動(dòng)作需要完成將每次新增動(dòng)作所對應(yīng)的字符添加到列表的最后一項(xiàng),直到添加完所有動(dòng)作。發(fā)送動(dòng)作需要完成將列表中的每一項(xiàng)依次(利用定時(shí)器實(shí)現(xiàn)時(shí)間次序,本設(shè)計(jì)的發(fā)送時(shí)間間隔為1.5秒)通過藍(lán)牙模塊發(fā)送給Arduino控制板。

      2.4.2 Arduino控制程序的設(shè)計(jì)

      Arduino控制程序流程圖見圖5所示。Arduino控制程序的初始化需要完成IIC通信(Arduino控制板和舵機(jī)驅(qū)動(dòng)板PCA9685之間的通信)配置和藍(lán)牙通信初始化配置(Arduino控制板和藍(lán)牙模塊之間的通信),以及PCA9685芯片地址和PCA9685芯片寄存器地址的定義。藍(lán)牙通信和IIC通訊初始化配置后,等待接收手機(jī)APP的動(dòng)作指令,當(dāng)接收到指令,判斷指令動(dòng)作,執(zhí)行相應(yīng)動(dòng)作。流程圖5中動(dòng)作1到動(dòng)作9分別對應(yīng),抬左手、放左手、抬右手、放右手、抬左腳、放左腳、抬右腳、放右腳和延時(shí)共9個(gè)動(dòng)作。

      在Arduino程序編寫環(huán)境中,IIC通信需要引用“wire.h”庫文件,在setup()函數(shù)中調(diào)用Wire.begin()函數(shù)開啟IIC通信,調(diào)用Serial.begin(9600) 開啟Arduino串口通信以此接受藍(lán)牙指令。然后需要分別編寫IIC通信協(xié)議下的對PCA9685芯片存儲(chǔ)單元寫8位數(shù)據(jù)的函數(shù)和讀8位數(shù)據(jù)的函數(shù),以及通過調(diào)用上述兩個(gè)函數(shù)完成PCA9685芯片PWM頻率設(shè)置的函數(shù)和PCA9685芯片PWM占空比設(shè)置函數(shù),以上4個(gè)自定義函數(shù)可以完成舵機(jī)驅(qū)動(dòng)的初始化配置。Arduino程序編寫環(huán)境中l(wèi)oop()函數(shù)內(nèi)則要采用Serial.available()函數(shù)判斷是否有藍(lán)牙指令傳輸,若有則用Serial.read()函數(shù)讀取指令,然后利用switch選擇結(jié)構(gòu)分別控制舵機(jī)執(zhí)行相應(yīng)指令動(dòng)作。

      3 系統(tǒng)調(diào)試

      系統(tǒng)調(diào)試分為APP安裝、Arduino程序下載及硬件電路調(diào)試兩部分內(nèi)容。

      3.1 APP安裝

      手機(jī)APP的安裝有兩種方式,一是將調(diào)試好的程序生成APK下載到手機(jī)中,然后在手機(jī)的文件管理器中點(diǎn)擊安裝。二是將調(diào)試好的程序利用App Inventor 2生成二維碼,再通過手機(jī)掃描二維碼下載安裝。安裝完成的界面如圖6所示。

      3.2 Arduino程序下載及硬件電路調(diào)試

      采用Arduino控制板配套的IDE環(huán)境編寫C程序,編譯完成后下載到Arduino控制板中,再將硬件電路按照圖3連接完畢,使用5V電源模塊供電后即可進(jìn)行調(diào)試。

      調(diào)試過程如下:首先打開手機(jī)APP的提線木偶控制界面,點(diǎn)擊按鈕“連接藍(lán)牙”,若藍(lán)牙模塊的顯示燈由閃爍變?yōu)槌A?,且手機(jī)上顯示藍(lán)牙連接成功,則表示藍(lán)牙通信成功。然后可以點(diǎn)擊APP界面上的“抬左手”、“放左手”等的按鈕,既可一次只點(diǎn)擊一個(gè)按鈕,也可一次點(diǎn)擊多個(gè)按鈕。與此同時(shí)打開電腦上Arduino編譯環(huán)境IDE中串口的顯示界面,然后點(diǎn)擊手機(jī)APP界面上的“發(fā)送動(dòng)作”按鈕,此時(shí)即可觀察到Arduino編譯環(huán)境的串口顯示界面有藍(lán)牙模塊傳輸過來的數(shù)據(jù),并且舵機(jī)在驅(qū)動(dòng)模塊的作用下開始動(dòng)作。例如:點(diǎn)擊“抬左手”按鈕,再點(diǎn)擊“發(fā)送動(dòng)作”按鈕,其中1路舵機(jī)會(huì)旋轉(zhuǎn)90度。連續(xù)按下“放左手”、“抬左手”、“抬右手”按鈕,再點(diǎn)擊“發(fā)送動(dòng)作”按鈕,則是其中1路舵機(jī)會(huì)旋轉(zhuǎn)正90度,再旋轉(zhuǎn)初始位置,然后另1路舵機(jī)旋轉(zhuǎn)到90度的位置,完成連續(xù)動(dòng)作。

      手機(jī)操作界面的記錄清空按鈕是將上次的列表中動(dòng)作清空,重新設(shè)計(jì)動(dòng)作。完成硬件電路調(diào)試(如圖7所示)即可將4路舵機(jī)分別與提現(xiàn)木偶的相應(yīng)部位連接完成本設(shè)計(jì)。經(jīng)測試,該裝置可以順暢完成設(shè)計(jì)動(dòng)作。

      4 結(jié)束語

      該系統(tǒng)設(shè)計(jì)主要完成的是目前流行的智能手機(jī)對傳統(tǒng)的提線木偶的無線控制,主要是一種娛樂的裝置,也為Arduino單片機(jī)增加一個(gè)趣味性的案例。后期還可以增加視覺模塊,動(dòng)作的設(shè)計(jì)可以靠視覺模塊采集,然后利用舵機(jī)驅(qū)動(dòng)提線木偶跟隨人的動(dòng)作,以此擴(kuò)展功能。

      參考文獻(xiàn):

      [1]李文川,曾玉.APP Inventor 2的項(xiàng)目應(yīng)用及教學(xué)策略[J].電子技術(shù)與軟件工程,2018(11):55-56.

      [2]張哲,陳麗銀,汪棟,等.基于Arduino UNO大型汽車盲區(qū)檢測與報(bào)警裝置的設(shè)計(jì)[J].科技創(chuàng)新與應(yīng)用,2018(28):49-50.

      [3]劉少軍,王瑜瑜.基于Android手機(jī)藍(lán)牙控制的智能小車設(shè)計(jì)與實(shí)現(xiàn)[J].電子測量技術(shù),2016,39(9):114-117.

      [4]許曉飛.一種舵機(jī)組合控制策略的書寫機(jī)器人設(shè)計(jì)[J].高技術(shù)通訊,2018(7).

      [5]周英路,王志亮,朱松青,等.基于PCA9685的多路舵機(jī)控制器設(shè)計(jì)[J].南京工程學(xué)院學(xué)報(bào)(自然科學(xué)版),2017,15(4):26-31.

      [6]李強(qiáng),霍淑珍,鄭偉.基于I2C通信的PCA9685在舵機(jī)控制中的應(yīng)用[J].科技創(chuàng)新與應(yīng)用,2018(28):173-174.

      猜你喜歡
      提線木偶控制板舵機(jī)
      關(guān)于某家用電器靜電彈簧控制板一拖多自動(dòng)檢測裝置的研究與應(yīng)用
      日用電器(2023年7期)2023-09-07 00:41:56
      一種橡膠減震裝置
      陜西合陽提線木偶戲發(fā)展思考
      泉州提線木偶動(dòng)作形式探微
      中華戲曲(2020年1期)2020-02-12 02:28:44
      客家提線木偶戲的藝術(shù)傳承及改善路徑研究
      藝術(shù)家(2019年5期)2019-12-16 19:30:56
      一天早晨
      散文詩世界(2019年6期)2019-09-10 00:14:33
      含齒隙彈載舵機(jī)的全局反步模糊自適應(yīng)控制
      軌道交通AFC導(dǎo)向標(biāo)識(shí)控制板設(shè)計(jì)
      電子制作(2019年23期)2019-02-23 13:21:22
      基于dsPIC單片機(jī)的飛艇舵機(jī)控制實(shí)現(xiàn)
      電子制作(2018年1期)2018-04-04 01:48:14
      基于高速同步485總線通信的多通道舵機(jī)控制器設(shè)計(jì)
      新田县| 湛江市| 同德县| 肃北| 独山县| 绵阳市| 象州县| 凤凰县| 桐梓县| 福鼎市| 甘孜县| 达日县| 洛扎县| 麻江县| 东辽县| 海阳市| 苍溪县| 玛多县| 祁门县| 西丰县| 资阳市| 平昌县| 南汇区| 固镇县| 高青县| 溧阳市| 玉屏| 吴川市| 五家渠市| 金川县| 共和县| 庆云县| 闵行区| 朝阳市| 连南| 乳源| 邓州市| 杂多县| 常熟市| 浦北县| 丰宁|