24h購物| | PChome| 登入
2011-01-19 14:03:29 | 人氣422| 回應0 | 上一篇 | 下一篇

Roboard 對於A/D週邊的控制

推薦 0 收藏 0 轉貼0 訂閱站台


這裡來作一篇關於用roboard直接控制紅外線測距的應用

起因於鯨魚因為吃飽太閒, 進了一批sharp 公司出的這個紅外線測距來玩,

10~80cm的規格$520   /20~150cm的$699 , 有興趣請MAIL給我

另有人體接近感應和簡易物體距離感應等等, 整箱的喔XDD

roboard對於控制這種純AD規格的東西真的是超級容易的

步驟如下:

1. 須要先到官網抓這個 "RoBoIO 1.61 .NET Warper binary"

2. 解開他的壓縮後有DLL要COPY到VB的專案目錄裡面 : "RoBoIO.dll"  "RoBoIO_DotNet.dll" ,"WinIo.dll" 這幾個檔案

3.  VB專案中要先加入這個RoBoIO_DotNet.dll 的參考

4. 程式碼視窗裡面最開頭要先引用該命名空間 Imports RoBoIO_DotNet

5.  程式碼部分

        'RB100的話輸入參數RB_100,用RB110的話則是RB_110

        RoBoIO.roboio_SetRBVer(RoBoIO.RB_100)

        '  初始化

        if spi_Initialize(SPICLK_21400KHZ)  then

              dim val  as integer = RoBoIO.ad7918_ReadChannel(0,   'channel = 0 ~ 7
              AD7918MODE_RANGE_2VREF, AD7918MODE_CODING_1023)
              spi_Close()

        End if

其中那個AD7918MODE_RANGE_2VREF指的是傳回 0V ~ 5V 之間的數值

AD7918MODE_CODING_1023 是傳回 0 ~ 1023

這樣, 就可以接收紅外線回來的數值

直接拿來用了

另外, 因這系列的紅外線都是有點非線性數值 , 需要做點運算才會變成想要的答案

須把得到的val 用這個公式作套用

val =5 * val /1024

val=(6787.0 /(val - 3.0)) - 4.0

這樣就可以收到數值了

這樣機器人就可使用紅外線作測距的動作

但還是需要注意環境的光線會對紅外線造成一些干擾, 導致有不是很準的情況

物體的材質也會有些影響, 但一般來說, 這已經很好用了

若還想要更準些 搭配超音波就可改善

若還要更準   搭雷射測距就能搞定

當然...這些鯨魚都有賣, 都可開發票, 都有售後服務和保固喔^__^

台長: 小鯨魚
人氣(422) | 回應(0)| 推薦 (0)| 收藏 (0)| 轉寄
全站分類: 數位資訊(科技、網路、通訊、家電) | 個人分類: 程式設計和嵌入系統 |
此分類下一篇:Roboard對於PWM規格馬達的控制
此分類上一篇:VB.NET 結合紅外線或超音波對周邊地圖的測繪

是 (本台目前設定為強制悄悄話)
* 請輸入識別碼:
請輸入圖片中算式的結果(可能為0) 
(有*為必填)
TOP
詳全文