色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

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

怎樣使用游戲控制器和Arduino控制機(jī)器人

454398 ? 來源:網(wǎng)絡(luò)整理 ? 作者:網(wǎng)絡(luò)整理 ? 2019-12-03 16:39 ? 次閱讀

Arduino和類似的兼容板是世界各地DIY修補(bǔ)匠的首選設(shè)備之一。無論您是剛開始使用Arduino的初學(xué)者,還是已經(jīng)開始使用它們的人,他們都為無數(shù)很棒的項(xiàng)目提供了平臺。

今天,我們將探索一種創(chuàng)新的方式使用處理和Xbox360控制器來控制伺服器。如果您已經(jīng)很精通游戲開發(fā),那么您可能會對我們的使用Unity的Custom Game Controller教程感興趣。

如果這是您第一次嘗試Arduino擺弄,則本教程將假設(shè)您具有一點(diǎn)先驗(yàn)知識,您可能會在這里找到我們的Arduino指南。同樣,如果您是第一次使用Java,可能會有些混亂。雖然Processing使用該平臺的簡化版本,但這些Java概念和提示仍可能會有所幫助。

您需要的內(nèi)容

1個Arduino。我們今天使用的是UNO。

1個業(yè)余伺服器。一切適用于Arduino引腳的東西。

1個有線Xbox360控制器。盡管從技術(shù)上講,這幾乎可以與任何控制器一起使用。

多條連接線。

除了這些內(nèi)容之外,您還需要下載Processing和Arduino IDE

準(zhǔn)備Arduino

首先,我們需要附加伺服器。接線顏色在這里可能會有所不同,但一般來說,紅色引腳會連接到 5v 引腳,并且棕色或黑色連接到 GND 引腳。數(shù)據(jù)線通常為黃色或橙色,連接到 pin 10 。

檢查接線并連接Arduino到計算機(jī)。打開Arduino IDE。

打開位于文件》示例》 Firmata》 StandardFirmata 的StandardFirmata草圖。此草圖設(shè)置了用于通過串行端口進(jìn)行外部控制的電路板,與我們在使用Python控制Arduino的文章中使用的草圖相同。將草圖上傳到板上。

如果上傳失敗,請在工具菜單中檢查您是否選擇了正確的板和端口詳細(xì)信息

我們的Arduino準(zhǔn)備就緒!

設(shè)置處理程序

打開處理程序,您將得到一個空白的草圖。在這里做任何事情之前,我們將需要安裝一些庫。轉(zhuǎn)到素描菜單,然后選擇導(dǎo)入庫》添加庫。這將打開 Contribution Manager ,對于那里的所有Arduino用戶而言,它們看起來都很熟悉。

我們需要安裝三個庫來完成這項(xiàng)工作。首先是 Game Control Plus 庫。這就是允許我們將游戲控制器與處理一起使用的原因。使用搜索窗口找到它,然后單擊右下角的安裝。 Game Control Plus需要為其配置工具安裝另一個庫,所以現(xiàn)在就開始獲取它。搜索 G4P 庫并安裝它。

最后,我們需要 Arduino(firmata)庫。您猜對了,進(jìn)行搜索,然后單擊安裝。安裝完這些東西之后,我們就可以開始測試一切正常。我們今天正在使用Windows 10,但是可用于大多數(shù)平臺(包括Raspberry Pi)進(jìn)行處理。想象一下可能性!

測試Arduino

在我們開始創(chuàng)建自定義草圖之前,我們先來測試Arduino和Servo和Processing。打開文件》示例,然后從 Contributed Libraries/Arduino(firmata)文件夾中選擇 ArduinoServo 。我們將使用它來測試我們的伺服器,但首先我們可能需要更改幾件事。

向下滾動草圖并找到以下行:

println(Arduino.list());

如果已將其注釋掉,請在 println(Arduino.list()); 之前刪除兩個斜杠,然后保存草圖。通過單擊播放圖標(biāo)運(yùn)行它,并注意底部的控制臺。這將列出連接到您的 COM 端口的所有內(nèi)容。

就我而言,我的Arduino在COM 8上這里列出的第三個端口。這很重要,因?yàn)橄旅嬉恍兄械拇a有一個 Array ,其值確定要使用哪個COM端口。

需要更改它以反映我們的COM端口。對我來說,它是第三個位置,或索引編號2:

arduino = new Arduino(this, Arduino.list()[2], 57600);

我們需要對此代碼進(jìn)行其他一些小的更改才能對其進(jìn)行測試。向下滾動到設(shè)置Arduino引腳的位置,并在此處注釋掉其中一行。將另一個更改為 Pin 10 。

//arduino.pinMode(4, Arduino.SERVO);

arduino.pinMode(10, Arduino.SERVO);

我們需要在 Draw()中執(zhí)行相同的操作方法:

arduino.servoWrite(10, constrain(mouseX / 2, 0, 180));

// arduino.servoWrite(4, constrain(180 - mouseX / 2, 0, 180));

保存草圖并運(yùn)行。您應(yīng)該能夠通過在程序生成的窗口上來回移動鼠標(biāo)來移動伺服器。

如果它不適用于您,檢查伺服接線,并檢查COM端口的陣列位置是否正確。一旦您知道Arduino與Processing的配合很好,就該繼續(xù)了。

配置控制器

我們正在使用的Game Control Plus庫也具有強(qiáng)大的配置。確保已插入控制器,打開 Configurator 示例項(xiàng)目,然后運(yùn)行它。您將獲得如下菜單:

單擊您的控制器名稱,將彈出一個更大的配置窗口。

這看起來似乎很艱巨,但是它的設(shè)計盡可能簡單。在左側(cè)填寫第一個鍵,其中包含您要用作變量的名稱。此變量將控制伺服器的位置,因此我將其稱為 servoPos 。

在其旁邊的框中,您可以對其功能進(jìn)行簡要說明。現(xiàn)在,拿起控制器并移動您希望與伺服器一起使用的操縱桿。進(jìn)行一些實(shí)驗(yàn)后,發(fā)現(xiàn)右指尖與“ X旋轉(zhuǎn)”框相對應(yīng)。在 servoPos 變量和此框之間拖動一條線。

現(xiàn)在,我們需要將配置保存為數(shù)據(jù)文件。在窗口的右上方,填寫設(shè)備角色字段和文件名字段。

文件名很重要,因?yàn)槟鷷谀拇a中使用它。我將其命名為 xbs 來保持簡單。點(diǎn)擊驗(yàn)證,然后點(diǎn)擊保存。這將為我們的控制器編寫一個包含說明的文件,以后可以使用。

準(zhǔn)備自定義草圖文件夾

讓我們進(jìn)行設(shè)置我們的工作文件夾。打開一個空白的處理草圖,并以您喜歡的任何名稱保存。這樣會在保存位置為其創(chuàng)建一個目錄。

現(xiàn)在導(dǎo)航至 Documents/Processing/libraries/GameControlPlus/examples/Configurator ,然后復(fù)制標(biāo)有 data 。此文件夾包含我們剛剛創(chuàng)建的配置文件。導(dǎo)航到新保存的空白草圖的目錄,然后粘貼數(shù)據(jù)文件夾。

創(chuàng)建自定義草圖

現(xiàn)在所有內(nèi)容到位,我們可以使用我們的兩個庫開始制作草圖。我們將逐步進(jìn)行此操作,但如果您想繼續(xù)前進(jìn),可以下載完整的草圖和數(shù)據(jù)文件夾。請注意,您可能仍需要修改代碼以反映您的Arduino COM端口。

首先導(dǎo)入我們需要的所有庫:

import processing.serial.*;

import net.java.games.input.*;

import org.gamecontrolplus.*;

import org.gamecontrolplus.gui.*;

import cc.arduino.*;

import org.firmata.*;

我們還需要聲明 ControlDevice , I/O 和 Arduino 以及 float 來保存值從我們的指尖開始:

ControlDevice cont;

ControlIO control;

Arduino arduino;

float thumb;

我們的 setup()方法會創(chuàng)建一個小窗口(控制器的實(shí)例),并將設(shè)備與我們的配置進(jìn)行匹配文件。在此重要的是正確獲取配置數(shù)據(jù)文件的文件名:

void setup() {

size(360, 200);

control = ControlIO.getInstance(this);

cont = control.getMatchedDevice(“xbs”);

if (cont == null) {

println(“not today chump”); // write better exit statements than me

System.exit(-1);

}

// println(Arduino.list());

arduino = new Arduino(this, Arduino.list()[2], 57600);

arduino.pinMode(10, Arduino.SERVO);

}

我們還在此階段檢查是否沒有適用的控制器,然后退出該程序是否需要。雖然不需要使用 size()創(chuàng)建的窗口,但稍后會向我們提供一些有關(guān)是否從控制器中獲取有用值的反饋。我們也像測試時一樣初始化Arduino并將其固定在此處。

現(xiàn)在,我們創(chuàng)建一個小方法來從控制器中獲取輸入值,并將其映射到我們的伺服器將能夠使用的值:

public void getUserInput() {

thumb = map(cont.getSlider(“servoPos”).getValue(), -1, 1, 0, 180);

}

這一行代碼使用我們的數(shù)據(jù)文件來獲取命名控件 servoPos ,該控件鏈接到控制器的右指尖,并從中讀取值。然后它將值映射,并將值存儲在我們的 thumb float變量中。

現(xiàn)在此代碼從未調(diào)用過,我們現(xiàn)在將對其進(jìn)行修復(fù)。

void draw() {

getUserInput();

background(thumb,100,255);

arduino.servoWrite(10, (int)thumb);

}

draw()與Arduino IDE中的 loop()方法相似。每幀,它調(diào)用 getUserInput()方法并更新拇指值。它使用此值來更改 background()的紅色值,從而使我們可以直觀地看到值的變化。然后使用 arduino.servoWrite()函數(shù)將此值寫入伺服器。請注意,我們必須將 thumb 強(qiáng)制轉(zhuǎn)換為整數(shù)值,因?yàn)镾erveWrite函數(shù)將兩個整數(shù)(引腳號和角度)作為參數(shù)

檢查代碼是否存在錯誤,保存并單擊運(yùn)行。在稍稍延遲了Arduino的初始化之后,它看起來應(yīng)該像這樣:

使用游戲控制器和Arduino進(jìn)行控制:已完成!

盡管經(jīng)驗(yàn)豐富的代碼庫可以為我們提供幫助,但該項(xiàng)目在很多方面對于經(jīng)驗(yàn)不足的編碼人員來說都是相當(dāng)深入的。它代表著一種思考控制機(jī)器人以及您所構(gòu)建的任何其他設(shè)備的新方式。

該項(xiàng)目將與我們有關(guān)構(gòu)建激光炮塔的指南完美配合,使您可以完全控制它。您可以像我們的Simple Arduino Alarm教程中那樣設(shè)置壓電式蜂鳴器,并使用控制器來更改蜂鳴器的音高或燈光的顏色。

或者,您可以構(gòu)建一個大型機(jī)器人并采用在地球上。只要您的USB線足夠長!
責(zé)任編輯:wv

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

    關(guān)注

    112

    文章

    16390

    瀏覽量

    178442
  • 機(jī)器人
    +關(guān)注

    關(guān)注

    211

    文章

    28476

    瀏覽量

    207421
  • Arduino
    +關(guān)注

    關(guān)注

    188

    文章

    6471

    瀏覽量

    187293
收藏 人收藏

    評論

    相關(guān)推薦

    工業(yè)機(jī)器人控制器的主要功能有哪些

    工業(yè)機(jī)器人控制器是工業(yè)機(jī)器人系統(tǒng)的大腦,負(fù)責(zé)接收指令、處理數(shù)據(jù)、控制機(jī)器人的運(yùn)動和操作。控制器
    的頭像 發(fā)表于 09-04 09:18 ?729次閱讀

    伺服控制機(jī)器人控制方式有哪些

    。 開環(huán)控制 : 定義 :開環(huán)控制是一種沒有反饋機(jī)制的控制方式,控制器根據(jù)預(yù)設(shè)的指令直接驅(qū)動機(jī)器人執(zhí)行動作。 特點(diǎn) :簡單、成本低,但無法自
    的頭像 發(fā)表于 09-04 09:16 ?493次閱讀

    人形機(jī)器人控制器之MCU、DSP、AI芯片

    電子發(fā)燒友網(wǎng)報道(文/李彎彎)人形機(jī)器人控制器是人形機(jī)器人中的核心神經(jīng)系統(tǒng),負(fù)責(zé)對機(jī)器人的運(yùn)動進(jìn)行細(xì)致規(guī)劃和控制,是
    的頭像 發(fā)表于 08-26 07:57 ?5803次閱讀

    如何使用PLC控制機(jī)器人

    隨著工業(yè)自動化技術(shù)的飛速發(fā)展,機(jī)器人技術(shù)作為其中的重要組成部分,其應(yīng)用范圍日益廣泛。在機(jī)器人控制系統(tǒng)中,PLC(Programmable Logic Controller,可編程邏輯控制器
    的頭像 發(fā)表于 06-17 10:50 ?1796次閱讀

    簡述工業(yè)機(jī)器人控制系統(tǒng)的特點(diǎn)

    機(jī)器人控制系統(tǒng)的特點(diǎn),包括其組成、功能、性能、可靠性、靈活性、智能化、安全性、人機(jī)交互等方面。 一、組成 工業(yè)機(jī)器人控制系統(tǒng)主要由以下幾個部分組成:
    的頭像 發(fā)表于 06-16 15:38 ?1674次閱讀

    機(jī)器人控制系統(tǒng)的基本單元有哪些

    的自主控制機(jī)器人控制系統(tǒng)的基本單元包括傳感、執(zhí)行控制器、驅(qū)動
    的頭像 發(fā)表于 06-16 15:36 ?1645次閱讀

    機(jī)器人控制系統(tǒng)按控制方法可哪些種類

    控制系統(tǒng),它不涉及對機(jī)器人運(yùn)動狀態(tài)的反饋。在開環(huán)控制系統(tǒng)中,控制器根據(jù)輸入信號直接生成控制信號,驅(qū)動機(jī)器
    的頭像 發(fā)表于 06-16 15:35 ?1974次閱讀

    工業(yè)機(jī)器人電氣控制系統(tǒng)的體系結(jié)構(gòu)主要有哪些

    電氣控制系統(tǒng)的體系結(jié)構(gòu),包括其組成、功能、特點(diǎn)以及發(fā)展趨勢。 一、工業(yè)機(jī)器人電氣控制系統(tǒng)的組成 控制器控制器是工業(yè)
    的頭像 發(fā)表于 06-16 15:28 ?1830次閱讀

    工業(yè)機(jī)器人控制系統(tǒng)的基本組成有哪些

    工業(yè)機(jī)器人控制系統(tǒng)是工業(yè)機(jī)器人的大腦,它負(fù)責(zé)接收輸入信號、處理信息、控制機(jī)器人的運(yùn)動和執(zhí)行任務(wù)。一個完整的工業(yè)
    的頭像 發(fā)表于 06-16 15:26 ?1989次閱讀

    簡述機(jī)器人控制系統(tǒng)的組成

    機(jī)器人控制系統(tǒng)是機(jī)器人技術(shù)的核心,它負(fù)責(zé)接收輸入信號,處理信息,控制機(jī)器人的運(yùn)動和執(zhí)行任務(wù)。一個完整的機(jī)
    的頭像 發(fā)表于 06-16 15:14 ?1469次閱讀

    工業(yè)機(jī)器人中視覺控制器的種類和作用

    隨著工業(yè)自動化的快速發(fā)展,工業(yè)機(jī)器人已經(jīng)成為現(xiàn)代工業(yè)生產(chǎn)中不可或缺的一部分。在工業(yè)機(jī)器人系統(tǒng)中,視覺控制器作為其“眼睛”和“大腦”,發(fā)揮著至關(guān)重要的作用。視覺控制器不僅能夠識別和處理外
    的頭像 發(fā)表于 06-06 17:12 ?870次閱讀

    恩智浦MCX微控制器增強(qiáng)移動機(jī)器人電機(jī)控制能力

    移動機(jī)器人的卓越性能、平穩(wěn)運(yùn)動和可靠運(yùn)行離不開高效精確的電機(jī)控制機(jī)器人的自主性和復(fù)雜性不斷提高,非常需要能夠處理復(fù)雜電機(jī)控制和其他任務(wù)的高級微控制
    的頭像 發(fā)表于 05-24 09:15 ?1227次閱讀
    恩智浦MCX微<b class='flag-5'>控制器</b>增強(qiáng)移動<b class='flag-5'>機(jī)器人</b>電機(jī)<b class='flag-5'>控制</b>能力

    基于飛凌嵌入式RK3568J核心板的工業(yè)機(jī)器人控制器應(yīng)用方案

    控制系統(tǒng)當(dāng)中。那么今天,我們就通過多軸工業(yè)機(jī)器人來聊聊機(jī)器人控制系統(tǒng)以及控制器的實(shí)現(xiàn)。 1 機(jī)器人
    發(fā)表于 05-11 09:40

    基于OpenVINO?的諾達(dá)佳機(jī)器人控制器實(shí)戰(zhàn)

    諾達(dá)佳機(jī)器人控制器,搭載英特爾處理,以其強(qiáng)大的性能和穩(wěn)定性,為AI機(jī)器人長期無故障運(yùn)行提供了堅實(shí)的基礎(chǔ)。
    的頭像 發(fā)表于 04-20 10:34 ?860次閱讀
    基于OpenVINO?的諾達(dá)佳<b class='flag-5'>機(jī)器人</b><b class='flag-5'>控制器</b>實(shí)戰(zhàn)

    工業(yè)機(jī)器人應(yīng)用中的AI邊緣控制器:技術(shù)創(chuàng)新與效率提升的雙重驅(qū)動

    工業(yè)機(jī)器人應(yīng)用中的AI邊緣控制器:技術(shù)創(chuàng)新與效率提升的雙重驅(qū)動 隨著科技的不斷進(jìn)步,AI邊緣控制器在工業(yè)機(jī)器人領(lǐng)域的應(yīng)用越來越廣泛。這種創(chuàng)新技術(shù)不僅推動了工業(yè)
    的頭像 發(fā)表于 03-08 10:45 ?808次閱讀
    主站蜘蛛池模板: 亚洲色综合狠狠综合区| 久cao在线香蕉| 无限资源在线观看高清| 久久黄色大片| 高中生高潮抽搐喷出白浆视频| 亚洲中文日韩日本在线视频| 日韩午夜影院| 奶头好翘是不是想要了| 国产在线精彩视频| 成人免费小视频| 最近的2019中文字幕国语| 学生精品国产在线视频| 日本不卡一二三| 亚洲精品另类有吗中文字幕| 欧美jizz19性欧美| 快播最新电影网站| 娇小萝被两个黑人用半米长| 国产成人亚洲综合无| 啊…嗯啊好深男男小黄文| 中国xxxxxxxxx孕交| 亚洲欧洲自拍偷拍| 欧美大片免费观看| 久久亚洲精品永久网站| 国产一区二区三区影院| 国产AV一区二区三区传媒| xxxxxl荷兰| 91天仙tv嫩模福利| 最近最新的日本字幕MV| 亚洲午夜精品AV无码少妇| 亚洲电影网址| 亚洲AV噜噜88| 天天躁夜夜踩很很踩2022 | 4455永久在线毛片观看| 樱花草动漫www| 一区二区三区毛AAAA片特级| 夜夜狂射影院欧美极品| 亚洲欧美一区二区三区久久| 亚洲AV无码偷拍在线观看| 迅雷成人下载| 性xxx免费| 亚洲不卡视频在线观看|