Robofun 機器人論壇

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

Arduino MEGA和G145陀螺儀連接問題

[複製鏈接]
跳轉到指定樓層
1#
發表於 2010-8-26 00:50:14 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
本帖最後由 chem0103 於 2010-8-26 00:56 編輯

大家好,小弟最近開始接觸Arduino.

目前是使用Arduino MAEG和鯨魚大的G145陀螺儀(規格書= RoBoard_RM-G145.pdf (577.37 KB, 下載次數: 1307) )
現在測試遇到的問題是,跑出來的數值都是0.00

在猜想是不是地址選擇錯誤了,我是參考鯨魚大提供的G144程式碼去修改的.

想請問MEGA的地址部分要去哪邊參照呢?或是程式碼本身有錯誤.

要麻煩大家提供意見了,謝謝.

現在硬體接線部分
SDA_21
SCL_20
Vcc_5V
GND_GND,使用USB供電,沒有外接電源.

程式碼部分如下,


  1. #include <Wire.h>

  2. byte Data[2]={0,0};
  3. float Pitch;

  4. void setup()
  5. {
  6. Wire.begin();
  7. Serial.begin(9600);
  8. }
  9. void loop()
  10. {
  11. Wire.beginTransmission(83);/*開始傳輸到I2C從設備與給定的地址*/
  12. Wire.send(0x21);/*發送數據到0x21*/
  13. Wire.endTransmission();/*結束傳輸*/
  14. Wire.requestFrom(83, 2);/*接收時須向模組告知我現在要接收兩個byte的資料
  15. */
  16. while(Wire.available()) /*等待模組回覆資料*/
  17. {
  18. Data[0]=Wire.receive();
  19. Data[1]=Wire.receive();

  20. }
  21. Pitch=(Data[1] <<8|Data[0]);

  22. Serial.println(Pitch);/*顯示資料*/

  23. delay(100);
  24. }
複製代碼

2#
發表於 2010-9-29 18:27:06 | 只看該作者
大家好,小弟最近開始接觸Arduino.

目前是使用Arduino MAEG和鯨魚大的G145陀螺儀(規格書=)
現在測試遇到 ...
chem0103 發表於 2010-8-26 00:50


Hi 大大, 後來讀到數據了嗎?
3#
發表於 2011-10-22 08:31:36 | 只看該作者
本帖最後由 pizg 於 2011-10-22 10:11 編輯

回復 1# chem0103


    樓主你好, 改這樣試一下
SDA_20
SCL_21
我也是新手,剛接觸RM-G144這塊模組不久,跟你一樣有不少疑問,
我發現G144跟G145的規格書好像是通用的
    HMC5843 I2C address (7 bit address) : 0x1e
    ADXL345 I2C address (7 bit address) : 0x53
我目前雖然能讀出XM, YM, ZM, XA, YA, ZA並計算出PITCH, ROLL, YAW,
但它的值不穩定,我去查了一下文件, 發現要加10~50K的上拉電阻,這是屬於硬體的問題,
另外抑制雜訊是屬於軟體的問題, 我雖然參考了這篇文章
http://www.robofun.net/forum/viewthread.php?tid=6620

還有
訊號處理:低通濾波  http://www.google.com.tw/url?sa=t&rct=j&q=arduino%2B%252B%2Bg144&source=web&cd=53&ved=0CD0QFjACODI&url=http%3A%2F%2Fir.lib.ntust.edu.tw%2Fbitstream%2F987654321%2F21451%2F2%2FRobocup%25E4%25BA%25BA%25E5%25BD%25A2%25E6%25A9%259F%25E5%2599%25A8%25E4%25BA%25BA%25E7%25A0%2594%25E7%2599%25BC.pdf&ei=FyWiTo75F7HUmAWw67CcCQ&usg=AFQjCNHk8jatjh1xAnBMjCu0kERcKMk_4Q&sig2=jSXPpA5oXiumc8TO5M9FxQ

不過這部份我也還沒搞定, 也請你請多多指教.
4#
發表於 2011-10-23 22:00:48 | 只看該作者
大家好,小弟最近開始接觸Arduino.

目前是使用Arduino MAEG和鯨魚大的G145陀螺儀(規格書=)
現在測試遇到 ...
chem0103 發表於 2010-8-26 00:50

G 145 的位址是 33 -->說明書第七頁
G144的羅盤在30, 三軸加速度在83-->說明書第七頁
都是修改以下這行
Wire.beginTransmission(83);/*開始傳輸到I2C從設備與給定的地址*/
所以程式當然不能執行, 因為位址就不對了

原廠官網的程式並不能直接使用在arduino , 那是給roboard專用的
但是沒關係, 到arduino 以後只是使用I2C的標準使用方式
先設定位址
然後照官網給的C語言程式原始碼內的控制指令送出後
就等著Wire.receive();來不斷收資料了

arduino 收值不穩定的問題還有可能是因為線材...
因為他都用插的, 容易會有接觸不良問題
通常我在使用都是直接焊接
雜訊還來自可能附近有馬達或是其他的電火花發生源
都會明顯干擾到
5#
發表於 2011-10-24 21:03:12 | 只看該作者
感謝鯨魚大說明與指正.
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-6-13 01:55 , Processed in 0.224006 second(s), 10 queries , Apc On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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