0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

怎樣用無線控制器控制乒乓球比賽

454398 ? 來源:工程師吳畏 ? 2019-08-02 10:10 ? 次閱讀

帶無線控制器的乒乓球比賽 - 示意圖

怎樣用無線控制器控制乒乓球比賽

自定義控制原理圖(基礎(chǔ))。查看完整尺寸版本。

無線控制器和乒乓球比賽工作

這個項目分為三個主要部分:控制器,服務(wù)器和乒乓球比賽。服務(wù)器本身很容易使用。不需要特殊的服務(wù)器代碼,因為它將要做的唯一工作是將數(shù)據(jù)包從控制器重新路由到乒乓球游戲。該項目的所有文件都以ZIP文件形式提供。

控制器

控制器本身只包含一個兼容RIOT的PIC器件(如PIC16F1516)和一些外部器件,包括功率調(diào)節(jié)和幾個開關(guān)。當(dāng)控制器打開時,器件配置為確保為ESP8266正確配置UART,在接收到UART字節(jié)時觸發(fā)中斷,內(nèi)部振蕩器處于最大速度,并且所有IO端口都配置為輸入或輸出。設(shè)置代碼完成后,微控制器需要啟動RIOTOUS并嘗試通過Wi-Fi連接到路由器(這是您需要填寫自己的詳細(xì)信息,包括SSID和密碼)。一旦建立了Wi-Fi連接,微控制器就會進(jìn)入循環(huán),不斷嘗試連接到我們的RIOTOUS服務(wù)器(同樣,您需要填寫托管RIOTOUS服務(wù)器的計算機的IP地址)。建立連接后,控制器會發(fā)送一條消息,讓服務(wù)器在其日志中顯示,并告知服務(wù)器其唯一ID。 RIOTOUS服務(wù)器根據(jù)它們所連接的端口識別設(shè)備,但每個連接的設(shè)備也可以具有唯一的ID。這個唯一ID與MAC地址的工作方式幾乎完全相同,如果兩個客戶端想要相互通信(例如,控制器和乒乓球游戲),它們都需要一個唯一的ID,然后要求服務(wù)器重新路由數(shù)據(jù)到具有唯一ID的設(shè)備。設(shè)置設(shè)備的唯一ID非常簡單,只需要兩個字節(jié):字母“I”和第二個字節(jié),其值代表唯一ID(0到255)。在我們的例子中,我們將控制器的唯一ID設(shè)置為“M”,因此將數(shù)據(jù)包發(fā)送到服務(wù)器“IM”。

一旦所有啟動代碼都有已執(zhí)行,主循環(huán)啟動。此循環(huán)只是查找按鈕按下并根據(jù)當(dāng)前按鈕狀態(tài)發(fā)送消息。上下按鈕僅在按下或釋放按鈕時發(fā)送消息,而每次代碼循環(huán)時,開始按鈕將發(fā)送消息。

游戲

游戲本身是使用名為Multimedia Fusion 2.5的程序制作的,是一個軟件包,可以在不使用代碼的情況下進(jìn)行游戲制作。盡管沒有使用代碼,但該軟件功能強大且比大多數(shù)人認(rèn)為的更靈活。程序是使用點擊式系統(tǒng)制作的,具有可配置的事件和操作,具有許多擴展,允許用戶執(zhí)行任何操作(包括網(wǎng)絡(luò),目錄搜索,系統(tǒng)進(jìn)程查看等)。雖然MMF2易于使用,但我建議您在進(jìn)行此項目之前嘗試更輕松的項目,因為您需要一些關(guān)于可變值和基本游戲練習(xí)的知識。

在我們的乒乓球在游戲中,我們利用了RIOTOUS小部件,它包含一個對象,兩個moo套接字和一些處理所有數(shù)據(jù)傳輸?shù)拇a。需要完成的第一項任務(wù)是更改RIOTOUS小部件的一些可變值。 “服務(wù)器IP”需要設(shè)置為RIOTOUS服務(wù)器的IP地址,“廣告端口”需要設(shè)置為廣告端口(默認(rèn)為333),“唯一ID”需要設(shè)置為唯一ID。游戲,將是“A。”

完成后,我們需要讓RIOTOUS小部件連接到游戲首次啟動時的RIOTOUS服務(wù)器,這是通過在觸發(fā)“開始幀”事件時將可更改字符串“Connect”設(shè)置為“true”來完成的。發(fā)生這種情況時,RIOTOUS會自動嘗試連接到服務(wù)器,如果成功,“ServerConnectionStatus”將等于“true”。

現(xiàn)在RIOTOUS小部件已將我們連接到服務(wù)器,我們等到用戶按下無線控制器上的開始按鈕,按下后,控制器將文本“RADBSTART”發(fā)送到服務(wù)器。服務(wù)器首先查看第一個字母并確定所請求的操作是什么。在這種情況下,第一個字母是R,表示重定向。下一個字母/字節(jié)是將消息重定向到的唯一ID(在本例中為A)。然后將其余數(shù)據(jù)發(fā)送到具有唯一ID(DBSTART)的設(shè)備。

當(dāng)客戶端(我們的游戲)收到此包時,它會查看第一個字母以確定數(shù)據(jù)包是什么。我們數(shù)據(jù)包中的第一個字母是D,代表“數(shù)據(jù)”,因此客戶端將數(shù)據(jù)包“DBSTART”放入其數(shù)據(jù)緩沖區(qū),并將“DataAvailable”變量設(shè)置為“true”。如果游戲檢測到此數(shù)據(jù)包,則啟用控制游戲的事件(玩家控制和游戲事件)。當(dāng)從RIOTOUS小部件讀取成功的數(shù)據(jù)時, 您必須清除緩沖區(qū)中的數(shù)據(jù)并將“DataAvailable”設(shè)置為false!

完成后,我們的游戲運行,按下按鈕可上下移動劃水板。但是,當(dāng)按下按鈕時,它只發(fā)送一條消息,因為微控制器的速度不足以反復(fù)向游戲發(fā)送移動數(shù)據(jù)。因此,在我們的游戲中,如果檢測到按鈕按下,則播放器將朝該方向移動 ,直到釋放按鈕 。這提供了平滑響應(yīng)控制的效果,并且由于控制器和游戲之間的延遲小于20ms,因此給人的印象是正在使用有線控制器。

您可能已經(jīng)注意到檢查可用數(shù)據(jù)的最后一個事件是否為真。關(guān)于MMF2的好處是事件按順序執(zhí)行,以便事件16始終在事件17之前執(zhí)行。在我們的示例中,如果已發(fā)送損壞的數(shù)據(jù)且沒有觸發(fā)任何數(shù)據(jù)事件,則最后一個數(shù)據(jù)可用事件將清除緩沖區(qū),以便新數(shù)據(jù)可以到達(dá)。游戲代碼本身不會被解釋,因為它是A)MMF2文件中的微不足道而B)不太重要。什么 重要的是RIOTOUS客戶端,服務(wù)器和MMF2之間的通信。

構(gòu)建

您可以使用許多不同的技術(shù)構(gòu)建此項目。第一個也是最簡單的方法是構(gòu)建一個RIOTOUS開發(fā)板(上面提供的原理圖)或者獲得一個RIOTOUS開發(fā)板(很快就可用)。但是,如果您需要個性化控制器,則可以使用不同的電路構(gòu)造技術(shù),包括面包板,條形板,矩形板和PCB??刂破餍枰嫒軷IOTOUS(》 4 MIPS,4KB ROM和256字節(jié)RAM),下面是控制器板PCB布局的示例。

通用控制器PCB的一個例子(需要按鈕和其他輸入的屏蔽)

此項目中使用的開發(fā)板(PIC16F1516)

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 無線控制器
    +關(guān)注

    關(guān)注

    0

    文章

    29

    瀏覽量

    10936
收藏 人收藏

    評論

    相關(guān)推薦

    低功耗實時喚醒式無線灌溉控制器:智慧農(nóng)業(yè)灌溉新風(fēng)向

    低功耗實時喚醒式無線灌溉控制器的設(shè)備主要有供電系統(tǒng)(太陽能供電/市電供電)、中央控制器、田間工作站(遠(yuǎn)程網(wǎng)絡(luò)終端)、閥門控制器、電磁閥及田間信息采集或監(jiān)測設(shè)備6個部分組成。
    的頭像 發(fā)表于 11-06 15:59 ?158次閱讀
    低功耗實時喚醒式<b class='flag-5'>無線</b>灌溉<b class='flag-5'>控制器</b>:智慧農(nóng)業(yè)灌溉新風(fēng)向

    乒乓球架構(gòu)中LMX2820的高隔離、快速頻率切換應(yīng)用說明

    電子發(fā)燒友網(wǎng)站提供《乒乓球架構(gòu)中LMX2820的高隔離、快速頻率切換應(yīng)用說明.pdf》資料免費下載
    發(fā)表于 09-11 09:33 ?0次下載
    <b class='flag-5'>乒乓球</b>架構(gòu)中LMX2820的高隔離、快速頻率切換應(yīng)用說明

    國產(chǎn)控制器廠家 整車控制器 以太網(wǎng)控制器 CAN控制器 國產(chǎn)化替代

    控制器
    長沙碩博電子科技股份有限公司
    發(fā)布于 :2024年09月03日 09:15:51

    車載智能控制器 工程機械控制器 CAN總線控制器 碩博電子 #控制器 #can總線 #國產(chǎn)化替代

    控制器總線
    長沙碩博電子科技股份有限公司
    發(fā)布于 :2024年08月29日 10:43:57

    組合邏輯控制器什么實現(xiàn)的

    組合邏輯控制器是一種用于控制和管理復(fù)雜系統(tǒng)中各個組件之間交互的邏輯設(shè)備。它可以應(yīng)用于各種領(lǐng)域,如計算機科學(xué)、通信、自動化控制等。在這篇文章中,我們將詳細(xì)探討組合邏輯控制器的實現(xiàn)方法、原
    的頭像 發(fā)表于 06-30 10:11 ?516次閱讀

    智能軟啟動柜浮控制設(shè)置在哪

    智能軟啟動柜是一種用于電動機啟動和控制的設(shè)備,它通過控制電動機的啟動電流,減少啟動時的沖擊,延長電動機的使用壽命。智能軟啟動柜的浮控制設(shè)置是其中的一個重要功能,可以有效地
    的頭像 發(fā)表于 06-18 14:41 ?838次閱讀

    移動機械控制器 車載智能控制器 CAN總線控制器

    控制器機械
    長沙碩博電子科技股份有限公司
    發(fā)布于 :2024年06月13日 17:02:51

    運動控制器控制形式有哪些

    運動控制器是現(xiàn)代工業(yè)自動化和機器人技術(shù)中的核心組件,負(fù)責(zé)對機械系統(tǒng)進(jìn)行精確的控制和調(diào)度。運動控制器控制形式多種多樣,每種形式都有其特定的應(yīng)用場景和優(yōu)勢。以下是對運動
    的頭像 發(fā)表于 06-13 09:23 ?727次閱讀

    電動閥門控制器怎么

    電動閥門控制器是一種自動化控制設(shè)備,用于控制閥門的開啟和關(guān)閉,實現(xiàn)對管道內(nèi)流體的控制。它廣泛應(yīng)用于石油、化工、電力、冶金、城市建設(shè)等領(lǐng)域。本文將詳細(xì)介紹電動閥門
    的頭像 發(fā)表于 06-11 14:24 ?2356次閱讀

    PID控制器與PWM控制器的區(qū)別

    在工業(yè)自動化和控制系統(tǒng)設(shè)計中,PID控制器(比例-積分-微分控制器)和PWM控制器(脈沖寬度調(diào)制控制器)是兩種常用的
    的頭像 發(fā)表于 06-05 18:25 ?3267次閱讀

    PID控制器與開關(guān)控制器的區(qū)別

    在工業(yè)自動化控制系統(tǒng)中,PID控制器和開關(guān)控制器是兩種常見的控制策略。它們各自具有獨特的工作原理、應(yīng)用場景和優(yōu)缺點。本文旨在詳細(xì)探討PID控制器
    的頭像 發(fā)表于 06-05 15:50 ?885次閱讀

    stm32f100怎樣用重映射功能?

    的是stm32f100c8t6b芯片,現(xiàn)在想用將PB1映射為TIM1_CH3N,在調(diào)用GPIO_PinAFConfig(GPIOB,GPIO_PinSource1,GPIO_AF_TIM1)時, GPIO_PinAFConfig和GPIO_AF_TIM1都沒定義,stm32f100
    發(fā)表于 05-07 06:06

    物聯(lián)網(wǎng)智能太陽能無線閥門控制器

    無線電磁閥控制器,是一款精密、小巧的基于無線廣域網(wǎng)技術(shù) 的閥門控制器,設(shè)備采用超低功耗需外圍供電。通過手機,PC 端管理平遠(yuǎn)程控制。
    的頭像 發(fā)表于 03-14 17:47 ?581次閱讀
    物聯(lián)網(wǎng)智能太陽能<b class='flag-5'>無線</b>閥門<b class='flag-5'>控制器</b>

    農(nóng)業(yè)灌溉無線電磁閥控制器

    無線電磁閥控制器的原理無線電磁閥控制器基于電磁感應(yīng)定律工作,通過激勵電磁鐵產(chǎn)生的電磁場,改變閥門內(nèi)部的磁場分布,從而控制閥門的開閉。
    的頭像 發(fā)表于 03-07 11:56 ?468次閱讀
    農(nóng)業(yè)灌溉<b class='flag-5'>無線</b>電磁閥<b class='flag-5'>控制器</b>

    空調(diào)溫度控制器怎么使用 空調(diào)溫度控制器壞了會怎樣

    空調(diào)溫度控制器是一種用于調(diào)節(jié)和控制空調(diào)室內(nèi)溫度的設(shè)備。它根據(jù)室內(nèi)環(huán)境的溫度需求和用戶的設(shè)置,通過調(diào)節(jié)空調(diào)系統(tǒng)的運行模式來達(dá)到舒適的室內(nèi)溫度。本文將詳細(xì)介紹空調(diào)溫度控制器的使用方法以及壞了可能會
    的頭像 發(fā)表于 01-19 14:22 ?1938次閱讀