感謝鯨魚大說明與指正. |
G 145 的位址是 33 -->說明書第七頁 G144的羅盤在30, 三軸加速度在83-->說明書第七頁 都是修改以下這行 Wire.beginTransmission(83);/*開始傳輸到I2C從設備與給定的地址*/ 所以程式當然不能執行, 因為位址就不對了 原廠官網的程式並不能直接使用在arduino , 那是給roboard專用的 但是沒關係, 到arduino 以後只是使用I2C的標準使用方式 先設定位址 然後照官網給的C語言程式原始碼內的控制指令送出後 就等著Wire.receive();來不斷收資料了 arduino 收值不穩定的問題還有可能是因為線材... 因為他都用插的, 容易會有接觸不良問題 通常我在使用都是直接焊接 雜訊還來自可能附近有馬達或是其他的電火花發生源 都會明顯干擾到 |
本帖最後由 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 不過這部份我也還沒搞定, 也請你請多多指教. |
小黑屋|手機版|Archiver|機器人論壇 from 2005.07
GMT+8, 2025-2-1 02:57 , Processed in 0.368941 second(s), 11 queries , Apc On.
Powered by Discuz! X3.2
© 2001-2013 Comsenz Inc.