17858960086 发表于 2016-2-29 21:38:10

HMC5883L电子罗盘怎么用

本帖最后由 17858960086 于 2016-2-29 21:40 编辑

我查过网上的文章,连接好后,导入程序,观察串口发现数值都不会变化,这该怎么办呀?

https://img.alicdn.com/imgextra/i4/2208586675/TB2izEVhFXXXXX_XXXXXXXXXXXX_!!2208586675.jpg_60x60q90.jpg

https://img.alicdn.com/imgextra/i3/2208586675/TB2UioNhFXXXXbkXXXXXXXXXXXX_!!2208586675.jpg_60x60q90.jpg

Super169 发表于 2016-3-1 13:08:26

可以讓你的 arduino 有方向感
http://www.geek-workshop.com/thread-9358-1-1.html

HMC5883L 的庫內有範例的.

17858960086 发表于 2016-3-2 08:42:17

Super169 发表于 2016-3-1 13:08
可以讓你的 arduino 有方向感
http://www.geek-workshop.com/thread-9358-1-1.html



我用过库文件,就算我不接罗盘数据还在那里跳,永远那么几个固定值。

Super169 发表于 2016-3-2 10:04:44

你先用 i2c scanner 試試是否可以偵測到你的 HMC5883L 吧.

這裡有個簡單的 i2c scanner, 你可以試試:http://www.geek-workshop.com/thread-15698-1-1.html

HCM5883L 的地址, 應該是 0x1E.如果連線及模塊沒問題, 應該可以在 0x1E 找到 i2c device.

17858960086 发表于 2016-3-2 14:55:59

本帖最后由 17858960086 于 2016-3-2 14:59 编辑

Super169 发表于 2016-3-2 10:04 static/image/common/back.gif
你先用 i2c scanner 試試是否可以偵測到你的 HMC5883L 吧.

這裡有個簡單的 i2c scanner, 你可以試試:h ...

我用你那个帖子里的程序,先设定后扫描,结果最后出来的是乱码

我接线是按论坛精品里的教程接的,我用的是UNO R3

Arduino GND -> HMC5883L GND
Arduino 3.3V -> HMC5883L VCC
Arduino A4 (SDA) -> HMC5883L SDA
Arduino A5 (SCL) -> HMC5883L SCL

那个DRDY引脚不知道是干嘛的,据说不用接就没接

SDA/SCL我试过接A4/A5,页试过直接接SDA/SDL,出来的结果还是一样拔掉线后不停

Super169 发表于 2016-3-2 14:57:54

17858960086 发表于 2016-3-2 14:55 static/image/common/back.gif
我用你那个帖子里的程序,先设定后扫描,结果最后出来的是乱码

我接线是按论坛精品里的教程接的,我用 ...

你的 serial monitor baud rate 設定是什麼?
我的程式是用 57600 的, 必須跟你的 serial monitor 配合.

17858960086 发表于 2016-3-2 17:08:33

Super169 发表于 2016-3-2 14:57 static/image/common/back.gif
你的 serial monitor baud rate 設定是什麼?
我的程式是用 57600 的, 必須跟你的 serial monitor 配合.

我换了个MEGA 2560,发现还是不能找到I2C设备,会不会我的传感器坏了?刚买来的呀?我之前有不小心接到5V过,可很快就拔掉了,不知道有没有影响。

大大你用的传感器是哪里买的,我看你的似乎和我的差不多样子呀。

为什么我一小时才能发一次,要哭了:'(

Super169 发表于 2016-3-2 17:41:49

你可以跟我那個帖的方法, 把 uno 及 mega 2650 用 i2c 連線, 然後測試一下是否可以偵測到.
例如把 slave_01.ino 上載到 mega 2650, 再在 uno 用 i2c_scanner 偵測一次, 看看是否可以找到 0x12 上的 device (slave_01 會把 mega 2560 設定成地址為 0x12 的i2c 設備).

正常來說, arduino 上的 i2c 有問題的機會, 遠比模塊出問題的機會低.以上只是純粹測試一下你的接線會否有問題.
又或者你嘗試接上其他 i2c 模塊, 再 scan 一次看看.一般我買到新的 i2c 模塊, 都會先 scan 一次, 確認基本連線沒問題, 地址沒錯, 才開始編程.

把 5v 接到 3.3v 的電路是否會有問題, 我也不肯定....因為我是硬小白一名.:funk:

17858960086 发表于 2016-3-2 20:32:00

Super169 发表于 2016-3-2 17:41 static/image/common/back.gif
你可以跟我那個帖的方法, 把 uno 及 mega 2650 用 i2c 連線, 然後測試一下是否可以偵測到.
例如把 slave ...

用UNO测2560是能检测到的,奇怪的就是接上电子罗盘就不能了:Q
大神能要你的其他联系方式吗

Super169 发表于 2016-3-3 09:54:01

17858960086 发表于 2016-3-2 20:32 static/image/common/back.gif
用UNO测2560是能检测到的,奇怪的就是接上电子罗盘就不能了
大神能要你的其他联系方式吗

i2c scanner 只是對每個 i2c 地址查詢, 不論什麼設備, 只要在 i2c 線路上都應該可以偵測到它的存在的.

如果兩片 arduino 的 i2c 都是沒問題, 就有可能是 HMC5883L 出問題了 (這也是最大機會的吧).

17858960086 发表于 2016-3-3 13:01:09

Super169 发表于 2016-3-3 09:54
i2c scanner 只是對每個 i2c 地址查詢, 不論什麼設備, 只要在 i2c 線路上都應該可以偵測到它的存在的.

...

心塞塞伐开心T^T

zoologist 发表于 2016-3-3 13:21:56

17858960086 发表于 2016-3-3 13:01 static/image/common/back.gif
心塞塞伐开心T^T

唔看起来恐怕是坏掉了

赶紧再买一个试试吧

用之前先看好电压

17858960086 发表于 2016-3-13 21:14:51

zoologist 发表于 2016-3-3 13:21 static/image/common/back.gif
唔看起来恐怕是坏掉了

赶紧再买一个试试吧


我后来又买了个,这次可以用来,这个罗盘太会坏了

17858960086 发表于 2016-3-13 21:34:06

Super169 发表于 2016-3-3 09:54 static/image/common/back.gif
i2c scanner 只是對每個 i2c 地址查詢, 不論什麼設備, 只要在 i2c 線路上都應該可以偵測到它的存在的.

...

我又买了个,这次是好的,也就是说我之前的坏掉了,应该是在焊排针的时候温度太高坏了吧

Super169 发表于 2016-3-14 14:07:59

17858960086 发表于 2016-3-13 21:34 static/image/common/back.gif
我又买了个,这次是好的,也就是说我之前的坏掉了,应该是在焊排针的时候温度太高坏了吧

買到可用的就好了, 快快接線試試吧, 今次要小心點了, 程式應該不會太大問題的, 預祝你早日成功. :victory:

页: [1]
查看完整版本: HMC5883L电子罗盘怎么用