小ネタ 2009-024
ネットブックにGPSと電子コンパスを接続してみる
ネットブックパソコンにGPSと電子コンパスを接続してみる
1. GPSを接続してみる
(1)秋月GPSの動作確認テスト
秋月電子のUSB接続GPSモジュールGT-730FL-Sを入手した。PCに接続して動かしてみた。(2009-11-08)
付属のGPSの状態表示ソフトを起動したところ(コールドスタート中でまだ衛星をキャッチしていない)
電源を入れたばかりだとalmanacというデータが受信できていないので衛星軌道が特定できず、衛星の位置を補足できない。
コールドスタートという状態である。
これはどのGPS機器を使っても一緒で、データをバッテリーバックアップしていればある程度回避できる問題である。
数分から20分くらいGPS電波を受信すると、十分なデータが受信できてくるので、衛星の位置が補足できるようになる。
(2)秋月GPSから緯度経度を読み出すテスト
秋月GPSから緯度経度を読み出すためのサンプルプログラムを作ってみた。(2009-11-15)
[ 秋月サンプルの実行ファイル+source code ... akizuki-gps-reader_01.zip (download) 185KB ]
実行方法:
gps_lat_lng_read.exeという実行ファイルを実行する。
あとは、自動的にCOMポート番号を調べてGPSデータを読み込んで、緯度経度が表示される。
ソースのビルド方法:
sourceフォルダのbuild_vc9.batというバッチファイルでコンパイラを起動してビルドすることができる。
Visual C++ 2008(Visutal Studio 2008)が必要。ExpressEditionではビルドできない。
(3)Google Mapsと連動させるテスト
秋月GPSから緯度経度を読み出して、GoogleMapsを連動させて表示するサンプルプログラムを作ってみた。(2009-11-16)
GoogleMapsとどうやってGPSを連携するのがよいのか悩んだのだが、とりあえず以前作ったソフトと単純にくっつけてみた。
[ GPS+GoogleMapsサンプルの実行ファイル+source code ... gps-googlemaps-test_01.zip
(download) 320KB ]
実行方法:
gps_googlemaps_test.exeという実行ファイルを実行する。
あとは、自動的にCOMポート番号を調べてGPSデータを読み込んで、緯度経度の位置のGoogleMapsが表示される。
上下カーソルキーで地図の拡大縮小操作ができる。
ソースのビルド方法:
sourceフォルダのbuild_vc9.batというバッチファイルでコンパイラを起動してビルドすることができる。
とりあえずこのソフトで出来ることは単純な地図表示だけなのだが、例えば車にネットブックを載せると画面の見た目はカーナビに見える。
道順をナビゲーションしてくれるルート検索APIがGoogleマップの機能として存在する。最近ではGoogle Maps Navigationとして強化されてAndroidに対応したりしている。そういったルート検索APIを使ってもう少し凝ったソフトを作ればネットブックをカーナビ化することができると思われる。
(4)秋月GPS以外のGPSを使う方法
昔からGPSに興味があり、今回の秋月GPS以前にも結構な台数のGPSを購入していたりする。その中でも割と最近のものを使うのを試してみる(後で)。
(後日加筆 2009-12-31)
CFカードタイプのGPSについても上記同様に試した。最近のネットブックにPCカードスロットが無いので、CFカードやPCカードをUSBでPCに接続するアダプタUSB2-PCADPGというのを使って接続したのだが、どうもうまく動かない。他に何種類かCFカードGPSがあるのでそちらを引っ張り出して、原因を調べてみる予定。
2. 電子コンパスを接続してみる
(1)秋月電子のTDS01V 3Dセンサーモジュール
まず付属のソフトを起動して動作確認した。
実は2年前位に買って起動確認したあとケースに入れる加工して、そのあとずっと放置していた。
(2)秋月電子のTDS01V 3Dセンサーモジュールからセンサーの値を読み出すテスト
秋月TDS01Vから地磁気センサーと加速度センサーの値を読み出すためのサンプルプログラムを作ってみた。(2009-12-31)
[ 秋月サンプルの実行ファイル+source code ... akizuki-sensor-reader_01.zip (download) 155KB ]
(3)Google Mapsと連動させるテスト
秋月TDS01Vから地磁気センサー値を読み出して、方位を計算し、地図を連動させて表示するサンプルプログラムを作ってみた。(2010-01-01)
[ 秋月サンプルの実行ファイル+source code ... akizuki-sensor-maps_01.zip (download) 2.3MB ]
(4) 電子コンパスをネットブックに内蔵
Honeywell社の電子コンパスICを使って、以前にiPodTouch/iPhone用の外付け電子コンパスを作った。
今度はHoneywellの別の電子コンパスICを使って、ネットブックEeePCに内蔵する電子コンパスを作ってみた。
回路を作ったのはだいぶ前だがソフトがまだできていない。センサICからI2Cコマンドで測定値を得るところまでは作ったのだが、そのあとができていない。
(後日加筆 2010-08-15)
とりあえず、上記の秋月コンパスキットのサンプルソフトを書き換えてEeePC内蔵用自作コンパスに対応させてみた。
[ EeePC内蔵自作コンパスサンプルの実行ファイル+source code ... eeepc-sensor-google_maps_01.zip
(download) 2.3MB ]