Category: Drone rss

Posts

07 September / / drone / raspberrypi
自律飛行するドローンの作成を始めています。 まだ途中ですが、詳しくは↓を参照してください https://qiita.com/shigeru-yokochi/items/0a0a4f06cd8dec553159 ↓裏側
05 April / / drone /
概要 i2cで動作する3軸デジタルコンパスHMC5883Lの使い方です。 動作しないモジュールも出回っているみたいなので動かなくて悩むまえに確認してください。 動作しないモジュールについての記事はこちら↓ i2cアドレスが0x0dのHMC5883Lモジュールについて 確認箇所 ↓ 石はL883 2549 であることを確認する。 ↓ 0x1eで認識されることを確認する。 ↓ピンアサイン(参考) サンプルコード(c言語) #include <stdio.h> #include <linux/i2c-dev.h> #include <fcntl.h> #include <math.h> //-lm int HMC5883L_init(void); int HMC5883L_GetDirection(void); static int m_fd; static int m_nDirection; static int HMC5883L_write(unsigned char address, unsigned char data); static unsigned char HMC5883L_read(unsigned char address); static void HMC5883L_readData(int *idata); /***************************************************************** * 初期化 *****************************************************************/ int HMC5883L_init(void) { char *i2cfile = "/dev/i2c-1"; unsigned char i2caddr = 0x1e; unsigned char data; if ((m_fd = open(i2cfile, O_RDWR)) < 0) { printf("Faild to open i2c port\n"); return -1; } if (ioctl(m_fd, I2C_SLAVE, i2caddr) < 0) { printf("Unable to get bus access to talk to slave\n"); return -1; } data = HMC5883L_read(0x0a); if (data !
05 April / / drone /
内容 手元にあるHMC588Lモジュール(3軸デジタルコンパス)が全く動作しない。 違う石を実装しているようだ。 結構出回っていると思うので、もし入手してしまった場合は本記事を参考にして頂ければ思い投稿します。 この記事の通りだった↓ https://www.raspberrypi.org/forums/viewtopic.php?t=172244&p=1102197 対策 別のモジュールを用意して動作確認をしました。 その記事はこちらです↓ 3軸デジタルコンパスHMC5883Lを使ってみる 動作しないHMC5883Lの見分け方 ICの刻印 誤:DA 5883 6012  正:L883 2230 i2cアドレス 誤:0x0d 正:0x1e (裏側参考)↓