Robofun 機器人論壇

 找回密碼
 申請會員
搜索
熱搜: 活動 交友 discuz
查看: 8740|回復: 25
打印 上一主題 下一主題

Roboard 的 GPIO for .NET

[複製鏈接]
跳轉到指定樓層
1#
發表於 2010-7-1 09:43:18 | 只看該作者 回帖獎勵 |正序瀏覽 |閱讀模式
請問一下在vb .net中
gpio要怎麼使用,需要初始化嗎

RoBoIO_DotNet.RoBoIO.io_outpb
RoBoIO_DotNet.RoBoIO.io_outpdw
RoBoIO_DotNet.RoBoIO.io_outpw
RoBoIO_DotNet.RoBoIO.io_InUse
RoBoIO_DotNet.RoBoIO.io_CpuID
RoBoIO_DotNet.RoBoIO.io_inpb()
RoBoIO_DotNet.RoBoIO.io_inpdw
RoBoIO_DotNet.RoBoIO.io_inpw
RoBoIO_DotNet.RoBoIO.io_close()

這些方法有沒有文件可以看?或是直接跟我說怎麼用?謝謝
26#
發表於 2010-7-6 22:37:35 | 只看該作者
燈號真的是一定要的

不過我更想要知道如何控制roboard左下角那兩顆現成的LED燈
這樣就不用佔用一個PWM了哩
25#
 樓主| 發表於 2010-7-6 22:33:44 | 只看該作者
使用GPIO控制燈號來看狀況
是可以知道你開到什麼狀況
不然你也不知死在哪裡~~~
做嵌入式產品久了就知道
24#
發表於 2010-7-6 22:31:27 | 只看該作者
哈哈
這些錯誤都是之前的文章有講過喔
看來真的要仔細看
而且我明明就有說要COPY進去同一目錄啊

不過使用GPIO控制燈號來看狀況真是好主意耶
我是用馬達的動作來看的, 開好機以後頭部搖兩下, 手比出超人的姿勢
哈哈
23#
 樓主| 發表於 2010-7-6 16:53:09 | 只看該作者
選好了,祥儀的
22#
發表於 2010-7-6 15:54:37 | 只看該作者
miaoichi 大大~
請問你六足的 servo 已經選好了嗎,
是用哪個牌子型號?
21#
 樓主| 發表於 2010-7-6 15:30:15 | 只看該作者
六足呀,因為xpe開機要一段時間,所以用led燈來表示開機的進度
這樣不接lcd就可以知道開好機了沒。

最後就可以直接控制我的六足了。
20#
發表於 2010-7-6 14:10:30 | 只看該作者
原來是這樣阿, 感謝分享~
你現在要先控制什麼呢?
19#
 樓主| 發表於 2010-7-6 13:59:29 | 只看該作者
本帖最後由 miaoichi 於 2010-7-6 14:01 編輯

如a大所說的,可以看失敗的原因
-----------------------------------------------------------------------------
Initialize 會 false 那邊, 你可以試著用 roboio_GetErrMsg()
來看看 false 的原因...
-----------------------------------------------------------------------------
後來才發現原來用.net與vc++不同處
就是在vb.net將RoBoIO_DotNet.dll加入參考後
將WinIo.dll,WinIo.sys,WINIO.VXD,RoBoIo.dll copy到同一目錄下,就可以運作
而RoBoIO.rcservo_Outp(RoBoIO.RCSERVO_USECHANNEL15, 1) 不等於RoBoIO.rcservo_Outp(16, 1)
也是因為 資料type(bit wise的issue)的不同 ,所以在vc++ 用RCSERVO_USECHANNEL15這樣的方式是
可以操作的,但是.net一定要用0~23的方式來指定。

以上是我個人的心得,希望後來的人就不會再有這樣的問題了。
18#
發表於 2010-7-6 12:03:34 | 只看該作者
miaoichi 大大,
什麼樣的原因, 分享一下,
讓我也學習學習 ~"~
17#
 樓主| 發表於 2010-7-6 08:51:27 | 只看該作者
本帖最後由 miaoichi 於 2010-7-6 09:38 編輯

找到原因了~~~
已經可以動了。
謝謝m大與a大的協助

不過發現

RoBoIO.rcservo_Outp(RoBoIO.RCSERVO_USECHANNEL15, 1) 不等於RoBoIO.rcservo_Outp(16, 1)
16#
發表於 2010-7-6 00:14:16 | 只看該作者
你是不是把接線的照片直接寄給我看看比較快啊
15#
 樓主| 發表於 2010-7-5 23:37:16 | 只看該作者
本帖最後由 miaoichi 於 2010-7-5 23:42 編輯

他寫說
I/O library fails to initialize
14#
發表於 2010-7-5 22:44:37 | 只看該作者
Initialize 會 false 那邊, 你可以試著用 roboio_GetErrMsg()
來看看 false 的原因...
13#
發表於 2010-7-5 16:25:12 | 只看該作者
我之前不是在哪篇文章裡面就說過我已經可以隨便動嗎?!
只是用6V電源會不穩而已, 因為很接近roboard極限
馬達一動, 電壓會被拉下來導致roboard重開或是不穩

現在接11.8V, +祥儀的馬達
隨便動都很OK
24軸一起上...然後roboard會很燙, 哈哈, 只好加小風扇幫忙散熱^^
反正操壞了有教授會幫忙出維修費, 就勇敢的操下去了

初始化的動作就是你不會跑的那三行而已
所以我才說你該想辦法去參加DMP的研習營
看看到底是怎麼回事喔
roboard控制PWM真的是神奇的力量的展現啊, 又快又準
而且程式又簡單到不可思議咧
12#
 樓主| 發表於 2010-7-5 09:39:01 | 只看該作者
我是接7.4v的電池,之前用vc++是可以動的。
現在移到.net就不行,不知道我還少什麼東西? 是不是 winio之類的

對了,m大你的直接接馬達成功了嗎?我覺得用com去送命令有點慢,所以也想改成直接接pwm
11#
發表於 2010-7-4 22:41:14 | 只看該作者
失敗?
前兩行能執行應該roboard的函式庫都有正確加入了
是說If RoBoIO.rcservo_Initialize(RoBoIO.RCSERVO_USECHANNEL0) = False  
這個條件是false 嗎?

你給roboard的電壓是多少呢?
這好奇怪
前面的初始化真的就是這幾行而已居然失敗
你要不要看能不能找機會去參加安東尼辦的免費課程活動,實際去那邊測試看看呢
因為前面這部分我自己測試是都會初始化成功
不太曉得你會失敗的原因在哪裡

而且測試的時候馬達不一定需要裝
我測試中隨便把馬達插插拔拔也是都可以正常動喔
目前測試過的電壓範圍從5~24V都有測試過(24V我是接祥儀的馬達來測的,轉很快喔, 哈哈)
不過5V已經接近roboard極限低壓, 馬達只能插一顆, 而且要單獨供電
不然一動馬達, roboard會直接重開
10#
 樓主| 發表於 2010-7-4 21:40:04 | 只看該作者
我在.net 寫了這樣的code,發現,初始化就失敗了,請問有大大可以指點嗎?
謝謝。
        RoBoIO.roboio_SetRBVer(RoBoIO.RB_100)
        RoBoIO.rcservo_SetServo(0, RoBoIO.RCSERVO_SERVO_DEFAULT_NOFB)

        If RoBoIO.rcservo_Initialize(RoBoIO.RCSERVO_USECHANNEL0) = False Then
            Me.Label1.Text = "rcservo_Initialize failed!!!"
        Else
            Me.Label1.Text = "rcservo_Initialize succeesed!!!"
        End If
        RoBoIO.rcservo_EnterPWMMode()
9#
 樓主| 發表於 2010-7-3 17:45:09 | 只看該作者
後來可以了,不過,好像執行後high ,low好像都沒有發生
之前是在vc++是可以用,現在.net好像就不行。
真奇怪
8#
發表於 2010-7-2 17:42:24 | 只看該作者
我裝.NET FrameWork 2.0 就能跑囉
我是跑XPE的環境
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

小黑屋|手機版|Archiver|機器人論壇 from 2005.07

GMT+8, 2024-5-19 19:00 , Processed in 0.258026 second(s), 9 queries , Apc On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表