Robofun 機器人論壇

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

再補一個改良過的 羅盤 加速計 + gyro 的 Demo

[複製鏈接]
跳轉到指定樓層
1#
發表於 2010-6-11 17:10:06 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
全部整合在一起顯示
還外加了 IDG 內建的 溫度 sensor
RM-G145 可是內建二顆 溫度 sensor 的哩 可量 負 20 到 正85 度 c

2#
發表於 2010-6-14 14:48:02 | 只看該作者
啊...G145 電子陀螺儀有溫度計喔
哈哈
這樣還省下溫度sensor的費用了哩
3#
 樓主| 發表於 2010-6-14 15:02:10 | 只看該作者
其實那溫度 SENSOR 是做誤差補償用的....... gyro 多多少少都有  noise
4#
發表於 2010-6-15 20:28:48 | 只看該作者
對不起我想請問陀螺儀式用來校正什麼東西呢?
5#
發表於 2010-8-19 01:54:13 | 只看該作者
請問咬RMG145的sample code嗎? and他接線要接到roboard上哪邊?
6#
發表於 2010-8-19 04:04:38 | 只看該作者
本帖最後由 mzw2008 於 2010-8-19 15:01 編輯

咬sample?!
這是要咬什麼?!

買G-145 就會附sample
有任何問題也都可以直接找我喔
這使用上是真的很容易啦
線直接接R-110就可以用
R100的話要稍微改裝一下(改一條線的位置而已)

如果你願意...不需要roboard也可以用這個
單晶或是arduino都可以使用這個感測器喔(我都有sample code)
當然, 使用Roboard會有最好的效果
因為單晶或是arduino的速度遠遠不如roboard , 且這顆感應器的速度又超快的哩
7#
發表於 2010-8-21 10:56:18 | 只看該作者
有接線圖嗎??我在還不知道怎麼把線給接上去!and可以給我在roboard上的測試sample code謝謝您
8#
發表於 2010-9-8 18:34:50 | 只看該作者
不好意思請問一下 我把G145插在RB110的i2c上但是丟範例程式他顯示錯誤
好樣沒有偵測到裝置!!請問插i2c還要另外再灌驅動媽?!
9#
發表於 2010-9-8 20:58:16 | 只看該作者
本帖最後由 acen2008 於 2010-9-8 21:44 編輯

只需要加入 RoBoIO Lib 來 compile 就可以了

一般情況下, 只要 RoBoard 上程式執行環境正確 (for WinXP) :
用 VS2005 編譯的話, 要安裝 VS2005 SP1 套件
用 VS2008 編譯的話, 要安裝 VS2008 SP1 套件
用 C# 語言則要再安裝 .NET Framework 2.0
以及執行檔的目錄下有 WinIo.dll  WinIo.sys 兩個檔案
程式就能正確執行了 :)
10#
發表於 2010-9-9 16:06:27 | 只看該作者
還是不行耶 怪了roboio lib不是本來就有了嗎?!我本來就可以執行C++2008
我有去複製C\roboard\winio裡的dll sys放到目錄下 也不行
11#
發表於 2010-9-9 17:21:58 | 只看該作者
找出問題 但是不知道怎麼解決
I2C Initialize FALSE and error is = I/O library fails to initialize
12#
發表於 2010-9-9 22:51:28 | 只看該作者
HI

請下載官方 RoBoIO 1.61 Lib 或是到 RM-G145 網頁下載新的範例程式
http://www.roboard.com/G145.html
13#
發表於 2010-9-10 14:48:32 | 只看該作者
新的範例程式執行她顯示設定不正確 應該是路徑不同
之前的範例我有看了RoBoIO 1.61 Lib 的i2c是一樣的!!慘了 似乎無解 = =
14#
發表於 2010-9-10 16:58:48 | 只看該作者
本帖最後由 acen2008 於 2010-9-10 17:09 編輯

範例程式是由 VS2005 compile 的
RoBoard 上需要安裝 VC2005 SP1 Redistributable Package
才能順利執行 bin 資料夾裡的 exe 檔
15#
發表於 2010-9-11 00:16:24 | 只看該作者
那為什麼這程式不行?
#include <stdio.h>
#include <conio.h>
#include <dos.h>
#include <roboard.h>

int main(void){
unsigned char d1,d2,d3,d4,d5,d6;
unsigned long i2c_clock = 400000L;
unsigned int i2c_address = 0x3C;

    if (i2c_Initialize(I2CIRQ_DISABLE) == false)
{
  printf("FALSE!!  %s\n", roboio_GetErrMsg());
  return -1;
}

i2c0_SetSpeed(I2CMODE_FAST, i2c_clock);

i2c0master_StartN(i2c_address >> 1,I2C_WRITE,2);//write 2 byte
i2c0master_WriteN(0x02); //mode register
i2c0master_WriteN(0x00); //continue-measureture mode

delay(100);

do
{
  i2c0master_StartN(i2c_address >> 1, I2C_WRITE, 1);
  i2c0master_SetRestartN(I2C_READ, 6);
  i2c0master_WriteN(0x03); //Read from data register (Address : 0x03)

  d1 = i2c0master_ReadN();//X MSB
  d2 = i2c0master_ReadN();//X LSB
  d3 = i2c0master_ReadN();//Y MSB
  d4 = i2c0master_ReadN();//Y LSB
  d5 = i2c0master_ReadN();//Z MSB
  d6 = i2c0master_ReadN();//Z LSB
  //Data : 16bits
  printf("X axis :%d\n", ((d1 & 0xF0) > 0) ? ~(0xFFFF ^ (d1*256+d2)): d1*256+d2);
  printf("Y axis :%d\n", ((d3 & 0xF0) > 0) ? ~(0xFFFF ^ (d3*256+d4)): d3*256+d4);
  printf("Z axis :%d\n", ((d5 & 0xF0) > 0) ? ~(0xFFFF ^ (d5*256+d6)): d5*256+d6);

  delay(100);
}while(getch() != 27);

i2c_Close();
    return 0;
}
16#
發表於 2010-9-11 00:47:36 | 只看該作者
這程式看來是原廠那個, 一定是可以的
上面acen2008 大講的那些SP1之類的要安裝才能執行
17#
發表於 2010-9-11 00:48:24 | 只看該作者
其實我根本沒有安裝...
使用XPE standard版本做出來的image
執行檔直接丟進去也會跑
18#
發表於 2010-9-12 03:07:38 | 只看該作者
用原廠的成是丟進去得到的結果是I2C Initialize FALSE and error is = I/O library fails to initialize
我是灌VS2008的進去!
19#
發表於 2010-9-14 02:30:20 | 只看該作者
灌VS2008是什麼意思?
20#
發表於 2010-9-14 11:52:37 | 只看該作者
RB110里是灌2008的套件
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-11-24 18:05 , Processed in 0.224011 second(s), 7 queries , Apc On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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