一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

如何使用操縱桿控制Arduino

454398 ? 來源:wv ? 2019-10-14 15:37 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

步驟1:需要的事情

1.arduino(duh )結(jié)果2。計算機(如果您正在閱讀此書,除非您不是 _ ,否則您將擁有一個計算機)

3.usb端口(大多數(shù)計算機都具有這些端口)

4.time(花了我5個小時來計算)

5.servo

6.JOYSTIK

第2步:您需要的軟件

arduino編程

python

pyserial(用于python的插件)

pygame(用于python的插件)

操縱桿驅(qū)動程序

步驟3:程序

我已經(jīng)添加了您需要的程序

arduino:

/*

JoystickSerialServo

--------------

使用PC和操縱桿的伺服控制

*

創(chuàng)建于2007年12月19日

copyleft 2007年,Brian D. Wendt

http://principialabs.com/

*

通過Tom Igoe

http://itp.nyu.edu/physcomp/Labs/Servo

*/

/**為伺服和設(shè)置調(diào)整這些值,如果必需**/

int當(dāng)?shù)厮欧in = 3;//伺服電機的控制銷

int minPulse = 600;//最小伺服位置(要使用google)

int maxPulse = 2400;//最大伺服位置(要使用google)

int refreshTime = 20;//脈沖之間的時間(ms)(50Hz)

/** Arduino將為您計算這些值**/

int centerServo;//中心伺服位置

int pulseWidth;//伺服脈沖寬度

int舵機位置;//指令的伺服位置,0-180度

int pulseRange;//最大脈沖-最小脈沖

long lastPulse = 0;//記錄的最后一個脈沖的時間(ms)

void setup(){ pinMode(servoPin,OUTPUT);//將伺服引腳設(shè)置為輸出引腳

pulseRange = maxPulse-minPulse;

centerServo = maxPulse-((pulseRange)/2);

pulseWidth = centerServo;//給伺服器一個起點(或者它浮動)

Serial.begin(9600);

}

void loop(){

//等待串行輸入

if(Serial .available()》 0){

//讀取傳入的字節(jié):

servoPosition = Serial.read();

//從伺服位置計算PulseWidth

pulseWidth = minPulse +(servoPosition *(pulseRange/180));

//在min和max處停止伺服脈沖,如果(pulseWidth》 maxPulse){pulseWidth = maxPulse; }

if(pulseWidth //debug

//Serial.println(servoPosition);

}

//每20毫秒(當(dāng)前時間)使用當(dāng)前pulseWidth

//脈沖伺服,這將保持伺服的如果未更改,則將其置于位置;如果更改,則將其置于位置。

if(millis()-lastPulse》 = refreshTime){//啟動脈沖

delayMicroseconds(pulseWidth);//脈沖寬度

digitalWrite(servoPin,LOW);//停止脈沖

lastPulse = millis();//保存最后一個脈沖的時間

}

}

python:

#!/usr/bin/env python

#joystick-servo.py

#創(chuàng)建于2007年12月19日#copyleft 2007 Brian D.Wendt

#http://principialabs.com/

#代碼改編自:#http://svn.lee.org/swarm/trunk/mothernode/python/multijoy.py

#注意:此腳本需要以下Python模塊:

#pyserial-http://pyserial.sourceforge。 net/

#pygame-http://www.pygame.org/

#Win32用戶可能還需要:

#pywin32-http://sourceforge.net/projects/pywin32/

導(dǎo)入序列

導(dǎo)入pygame

#允許多個操縱桿

joy = []

#Arduino USB端口地址(在Win32上嘗試“ COM5”)

usbport =“ COM8”

#定義與Arduino的USB串行連接

ser = serial.Serial(usbport,9600)

#處理操縱桿事件

def handleJoyEvent(e):

如果e.type == pygame.JOYAXISMOTION:

axis =“未知” if(e.dict [‘a(chǎn)xis’] == 1):

axis =“ X”

if(e.dict [‘a(chǎn)xis’] == 0 ):

axis =“ Y”

if(e.dict [‘a(chǎn)xis’] == 2):

軸=“油門”

if(e.dict [‘a(chǎn)xis’] == 3):

軸=“ Z”

if(軸!=“未知” ):

str =“軸:%s;值:%f“%(軸,e.dict [‘value’])

#取消注釋調(diào)試

#output(str,e.dict [‘joy’])

#Arduino游戲桿伺服hack

if(axis ==“ X”):

pos = e.dict [‘value’]

#將操縱桿位置轉(zhuǎn)換為伺服增量,0-180

move = round(pos * 90,0)

if(move 《0):

servo = int(90-abs(move))

else:

servo = int(move + 90)##轉(zhuǎn)換位置到ASCII字符

servoPosition = chr(servo)

#并通過串行連接發(fā)送到Arduino write(servoPosition)

#取消調(diào)試調(diào)試注釋

#print Servo,ServoPosition

elif e.type == pygame.JOYBUTTONDOWN:

str =“ Button:%d”%(e.dict [‘button’])

#不建議調(diào)試

#output(str,e.dict [‘joy’])

#按鈕0(觸發(fā))以退出

if(e.dict [‘button’] == 0):

打印“ Bye! n”

ser。 close()

quit()

else:

pass

#打印操縱桿位置 def輸出(線,桿):

打印“操縱桿:%d; %s“%(操縱桿,行)

#等待操縱桿輸入

def joystickControl():

而True:

e = pygame.event.wait()

if(e。類型== pygame.JOYAXISMOTION或e.type == pygame.JOYBUTTONDOWN):

handleJoyEvent(e)

#main方法

def main():

#初始化pygame

pygame.joystick .init()

pygame.display.init()

如果不是pygame.joystick.get_count():

打印“ n請連接操縱桿并再次運行。 n”

quit()

打印“檢測到 n%d個操縱桿?!保ygame.joystick.get_count()

對于我在范圍內(nèi)(pygame.joystick.get_count()):

myjoy = pygame.joystick。操縱桿(i)

myjoy.init()

joy.append(myjoy)

打印“操縱桿%d:”%(i)+ joy [i] .get_name()

print“壓下觸發(fā)器(按鈕0)退出。 n“

#運行游戲桿偵聽器循環(huán)

joystickControl()

#如果 name =,則可以用作模塊或獨立腳本

=“ main ”:

main()

步驟4:對其進行測試_

我沒有編寫python腳本

我在

http://principialabs.com/jo上找到了它ystick-control-of-a-servo/

有趣的是

4伺服版本

http://principialabs.com/joystick-control-of-a-servo/

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

    關(guān)注

    190

    文章

    6498

    瀏覽量

    192279
  • 操縱桿
    +關(guān)注

    關(guān)注

    0

    文章

    69

    瀏覽量

    8775
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    無線比例電機轉(zhuǎn)速遙控器的設(shè)計

    介紹的是無線電遙控中最新的一款無線比例電機轉(zhuǎn)速遙控器,比例遙控,是指受控制的模型的動作幅度與操縱者轉(zhuǎn)動發(fā)射機操縱桿的動作所成的比例關(guān)系。一套完整的控設(shè)備應(yīng)該具有:發(fā)射機、接收機、伺服機和電子調(diào)速器,還
    發(fā)表于 07-10 16:56

    Melexis的MLX90427更安全,更可靠,性能更高且成本更低

    今天Melexis(邁來芯)宣布,其支持SPI通信的嵌入式位置傳感器MLX90427的應(yīng)用范圍已擴展至工業(yè)、建筑、農(nóng)業(yè)及醫(yī)療領(lǐng)域中的操縱桿和人機界面(HMI)。這款傳感器憑借超高性價比設(shè)計與片上
    的頭像 發(fā)表于 05-21 10:01 ?269次閱讀
    Melexis的MLX90427更安全,更可靠,性能更高且成本更低

    Melexis霍爾效應(yīng)磁位置傳感芯片MLX90427介紹

    Melexis宣布,其支持SPI通信的嵌入式位置傳感器MLX90427的應(yīng)用范圍已擴展至工業(yè)、建筑、農(nóng)業(yè)及醫(yī)療領(lǐng)域中的操縱桿和人機界面(HMI)。這款傳感器憑借超高性價比設(shè)計與片上DSP技術(shù)展現(xiàn)出
    的頭像 發(fā)表于 05-17 17:19 ?764次閱讀

    電動輪椅采用磁吸彈簧針充電方案的優(yōu)勢分析

    電動輪椅在老年人的日常生活中是得力的生活幫手之一。電動輪椅是增加了電動馬達和導(dǎo)航控制的手段的輪椅。通常是一個小的操縱桿安裝在扶手上。 在充電方面,電動輪椅使用磁吸彈簧針充電方案具有創(chuàng)新性和挑戰(zhàn)性。
    的頭像 發(fā)表于 01-15 17:39 ?548次閱讀
    電動輪椅采用磁吸彈簧針充電方案的優(yōu)勢分析

    帶你了解絲電機的詳細知識

    步進電機:結(jié)構(gòu)簡單,可靠性高,適用于精密不需要過高速的場合4。 滾珠絲電機:利用滾珠的傳動功效,能夠輕松承受高速、高負荷的應(yīng)用場景,并提供準(zhǔn)確的位置控制。 貫通絲電機:適用
    的頭像 發(fā)表于 12-24 15:58 ?1330次閱讀
    帶你了解絲<b class='flag-5'>桿</b>電機的詳細知識

    TMAG5170操縱桿附件組裝指南

    電子發(fā)燒友網(wǎng)站提供《TMAG5170操縱桿附件組裝指南.pdf》資料免費下載
    發(fā)表于 11-28 14:28 ?0次下載
    TMAG5170<b class='flag-5'>操縱桿</b>附件組裝指南

    stm32與Arduino的比較

    在微控制器的世界里,STM32和Arduino是兩個經(jīng)常被提及的名字。STM32是一系列由STMicroelectronics生產(chǎn)的高性能微控制器,而Arduino則是一個開源電子原型
    的頭像 發(fā)表于 11-19 15:45 ?4221次閱讀

    創(chuàng)新型智慧燈綜合應(yīng)用解決方案 路燈單燈控制

    創(chuàng)新型智慧燈綜合應(yīng)用解決方案 路燈單燈控制
    的頭像 發(fā)表于 11-13 08:31 ?598次閱讀
    創(chuàng)新型智慧燈<b class='flag-5'>桿</b>綜合應(yīng)用解決方案 路燈單燈<b class='flag-5'>控制</b>器

    5G+智慧燈:應(yīng)用于城市的智慧燈解決方案

    5G+智慧燈:應(yīng)用于城市的智慧燈解決方案
    的頭像 發(fā)表于 11-07 14:20 ?985次閱讀
    5G+智慧燈<b class='flag-5'>桿</b>:應(yīng)用于城市的智慧燈<b class='flag-5'>桿</b>解決方案

    采用霍爾效應(yīng)傳感器的游戲手柄和控制桿設(shè)計

    電子發(fā)燒友網(wǎng)站提供《采用霍爾效應(yīng)傳感器的游戲手柄和控制桿設(shè)計.pdf》資料免費下載
    發(fā)表于 10-30 09:56 ?0次下載
    采用霍爾效應(yīng)傳感器的游戲手柄和<b class='flag-5'>控制桿</b>設(shè)計

    智慧燈系統(tǒng)整體解決方案 智慧燈顯示屏-提供智慧燈照明整體方案

    智慧燈系統(tǒng)整體解決方案 智慧燈顯示屏-提供智慧燈照明整體方案
    的頭像 發(fā)表于 10-18 09:18 ?1012次閱讀
    智慧燈<b class='flag-5'>桿</b>系統(tǒng)整體解決方案 智慧燈<b class='flag-5'>桿</b>顯示屏-提供智慧燈<b class='flag-5'>桿</b>照明整體方案

    多頭絲與滾珠絲有何不同?

    多頭絲由多個絲并列組成,每個絲上都有一個螺母。當(dāng)主動絲旋轉(zhuǎn)時,通過螺母與從動絲的連接,從而實現(xiàn)傳動效果,不同絲
    的頭像 發(fā)表于 09-30 16:32 ?654次閱讀
    多頭絲<b class='flag-5'>桿</b>與滾珠絲<b class='flag-5'>桿</b>有何不同?

    上的顯示屏是什么意思?我們一般稱為燈屏或者AI LED燈

    上的顯示屏是什么意思?我們一般稱為燈屏或者AI LED燈
    的頭像 發(fā)表于 09-30 14:48 ?765次閱讀
    燈<b class='flag-5'>桿</b>上的顯示屏是什么意思?我們一般稱為燈<b class='flag-5'>桿</b>屏或者AI LED燈<b class='flag-5'>桿</b>屏

    什么是智慧燈屏?AI物聯(lián)網(wǎng)LED燈屏路燈燈顯示器?

    什么是智慧燈屏?AI物聯(lián)網(wǎng)LED燈屏路燈燈顯示器?
    的頭像 發(fā)表于 09-30 14:48 ?734次閱讀
    什么是智慧燈<b class='flag-5'>桿</b>屏?AI物聯(lián)網(wǎng)LED燈<b class='flag-5'>桿</b>屏路燈燈<b class='flag-5'>桿</b>顯示器?

    滾珠絲與絲支撐座:穩(wěn)定性與精度的雙重保障

    支撐座是連接滾珠絲與電機的軸承,采用優(yōu)質(zhì)的軸承能確保支撐座與滾珠絲之間的剛性平衡。
    的頭像 發(fā)表于 08-03 18:22 ?741次閱讀
    滾珠絲<b class='flag-5'>桿</b>與絲<b class='flag-5'>桿</b>支撐座:穩(wěn)定性與精度的雙重保障