极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

楼主: Ansifa

Arduino学习笔记A3 - Arduino连接HMC5883L三轴电子罗盘传感器

  [复制链接]
发表于 2014-1-23 18:03:10 | 显示全部楼层
不错的软件,学习中,谢谢楼主!
回复 支持 反对

使用道具 举报

发表于 2014-2-18 16:31:05 | 显示全部楼层
好强大。这个设备贵吧?
回复 支持 反对

使用道具 举报

发表于 2014-2-19 15:02:23 | 显示全部楼层
这如何在1602上显示呢?
回复 支持 反对

使用道具 举报

发表于 2014-3-3 23:42:24 | 显示全部楼层
报错了
F:\run\arduino-1.5.5-r2\libraries\HMC5883L\HMC5883L.cpp: In member function 'void HMC5883L::Write(int, int)':
F:\run\arduino-1.5.5-r2\libraries\HMC5883L\HMC5883L.cpp:110: error: 'class TwoWire' has no member named 'send'
F:\run\arduino-1.5.5-r2\libraries\HMC5883L\HMC5883L.cpp:111: error: 'class TwoWire' has no member named 'send'
F:\run\arduino-1.5.5-r2\libraries\HMC5883L\HMC5883L.cpp: In member function 'uint8_t* HMC5883L::Read(int, int)':
F:\run\arduino-1.5.5-r2\libraries\HMC5883L\HMC5883L.cpp:118: error: 'class TwoWire' has no member named 'send'
F:\run\arduino-1.5.5-r2\libraries\HMC5883L\HMC5883L.cpp:129: error: 'class TwoWire' has no member named 'receive'
回复 支持 反对

使用道具 举报

发表于 2014-3-11 11:05:39 | 显示全部楼层
我是新手,最近在用HMC,觉得您的程序很好。但是想问一下,xDegrees、yDegrees、zDegrees的数据的单位是什么?这个值表示什么?
回复 支持 反对

使用道具 举报

发表于 2014-4-15 16:12:57 | 显示全部楼层
感謝樓主分享.

剛下載了測試, 改成了 Arduino 1.0.5 的, 但執行 Example 時出了 error:
Entered scale was not valid, valid gauss values are: 0.88, 1.3, 1.9, 2.5, 4.0, 4.7, 5.6, 8.1


細看程式完全找不出問題, 打開庫的內文, 才發現有點地方好像出了問題.

在 HMC5883L::SetScale, 如提供的參數正確, 缺了一句 return 0;, 結果系統胡亂拿了一個數填進 error.
之後當成發生 error, 執行 GetErrorText.
但 GetErrorText 中, 檢測時把參數打錯了, 變成只會 return ErrorCode_1 (即上面的錯誤訊息).

  1. char* HMC5883L::GetErrorText(int errorCode)
  2. {
  3.         if(ErrorCode_1_Num == 1)
  4.                 return ErrorCode_1;
  5.        
  6.         return "Error not defined.";
  7. }
复制代码


(參數為 errorCode, 但檢測了常數 ErrorCode_1_Num==1 (原意應為 ErrorCode_1Num == errrorCode 吧).

看似不會影響程式進行, 但會誤導以為資料出錯, 希望樓主可以修正好.
回复 支持 反对

使用道具 举报

发表于 2014-6-3 21:18:55 | 显示全部楼层
為啥我會出現編譯錯誤????
回复 支持 反对

使用道具 举报

发表于 2014-6-3 21:33:33 | 显示全部楼层
我用1.0.5 1.5.6 NIGHTLY 編譯 他都說 編譯出錯  為什麼
回复 支持 反对

使用道具 举报

发表于 2014-6-5 18:25:26 | 显示全部楼层
残逝余炫 发表于 2014-3-3 23:42
报错了
F:\run\arduino-1.5.5-r2\libraries\HMC5883L\HMC5883L.cpp: In member function 'void HMC5883L:: ...

这类问题是因为Arduino的库版本问题,wire.h原来的IIC函数是Wire.receive升级为Wire.read,,,Wire.send升级为Wire.write……
回复 支持 反对

使用道具 举报

发表于 2014-6-12 11:46:54 | 显示全部楼层
HMC5883单个运行初始化
回复 支持 反对

使用道具 举报

发表于 2014-6-30 21:46:35 | 显示全部楼层
很详尽的资料 留抓,以后用得着
回复 支持 反对

使用道具 举报

发表于 2014-8-15 18:38:02 | 显示全部楼层
zjhyhky 发表于 2013-1-22 22:46
1.0以上版本具体如何改库

没有人解答,我自己百度百度,终于解决了。方法如下:

太感谢,编译通过 为什么要有十个字的字数限制啊啊啊
回复 支持 反对

使用道具 举报

发表于 2014-9-15 23:38:11 | 显示全部楼层
求助啊大神们,我的5883怎么没有反应呢
QQ图片20140915233641.png
回复 支持 反对

使用道具 举报

发表于 2014-10-4 02:08:37 | 显示全部楼层
本帖最后由 scyzygl 于 2014-10-4 02:10 编辑

上传一个HMC5883L库文件,放在C:\Program Files (x86)\Arduino\libraries就可运行,ARDUINO 1.0.6版本的三轴传感器。代码详见1楼。

HMC5883L.rar

5.14 KB, 下载次数: 144

HMC5883L新头文件

回复 支持 反对

使用道具 举报

发表于 2014-10-19 08:43:05 | 显示全部楼层
wudan3551 发表于 2012-7-17 12:06
嗯我换了0023版本,能调通了,谢谢大侠!

要怎么换0023的版本呢?!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊 ( 浙ICP备09023225号 )

GMT+8, 2020-9-24 14:27 , Processed in 0.106494 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表