2014年1月29日水曜日

GT-720FとArduinoの準備

GT-720FとArduinoでGPSを使ってみる(その1)
「ArduinoとGPSモジュールの通信」

GT720Fの信号線について
GT720Fからはシリアル通信でマイコン等にデータを送信します。
特にArduinoではTTLレベルの信号が必要なのですが、
GT720Fの説明ではRS232Cレベルであるとしか書いてありません。
しかし!使っていない2つの信号線からTTLレベルの信号が出力されている!
ことが知られています。
というわけで、Arduinoとの通信にはこのTTLレベルの信号線を使いましょう。

Arduinoの通信用ピンについて
Arduino側はシリアル通信の設定をします。
ソフトウェアシリアルという機能を使うので、デジタルピンならどれでも通信できます。
普段の書き込みに使用するデジタルピン0,1以外を使えばいいでしょう。(ここでは4と5をつかう。)
また、Arduinoの5VとGNDを接続しましょう。

配線は簡単(つなげるだけ!)

下の図を参考にして接続してください。
・Arduinoから5Vを供給
・GNDを共有
・GT720FのTX,RXをArduinoのデジタルピン5,4に接続
これで準備OKです。
GT720Fに信号を送ることはないのでGT720FのRXは接続する必要は特にないのですが、一応つないでおきます。 
配線するときは、TXをRXに、RXをTXにつなげることを間違えないようにしましょう。

[GT-720Fのピンアサイン]

[Arduino側の配線]

プログラムも簡単(書き込むだけ!)
Aruduino側に書き込むプログラムはいたって単純です。
ソフトウェアシリアルライブラリを使って受信開始すれば、
シリアルポートにて何が受信されたかを確認することができるはずです。
普段はシリアルモニタには何も表示されないはずなので、
何かが表示されたらそれでひとまずOKです。
[Arduinoのスケッチ]

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <SoftwareSerial.h>

// 5:RX,4:TXでシリアル通信する宣言
SoftwareSerial mySerial(5, 4);

char moji;

void setup (){
  // 9600 bpsで接続(パソコンとの通信
  Serial.begin(9600);         
  // 9600 bpsで接続(GT-720Fとの通信)
  mySerial.begin(9600);
  // 最初に1度だけ Start を表示(通信の確認)
  Serial.println("Start"); 

}


void loop (){
    //mojiという変数にGT-720Fから受信した文字を格納する
    moji = mySerial.read();
    //格納された文字が-1(意味のないデータ)ではなければ
    if(moji != -1){
      //その文字をパソコンに送信する
      Serial.print(moji);
    }
}
syntax2html

2014年1月28日火曜日

GT-720FとArduinoでGPSを使ってみる

GT-720F(秋月電子で購入できる)とArduino UNOでGPSをつかうためにすることメモ。

まず、
通常のセンサモジュール←理解しやすい物理量を出力してくれる
GPSモジュール←処理されたデータを出力してくれるけどわかりにくい

緯度経度の他にもモジュールの状態とか色々知れるからすごく便利。
でも得られたデータを正しく扱うのは意外と面倒。
そんな点が他のセンサと分けて考えるべきで、とっつきにくい点かと。

とにかく手っ取り早くGPSを使えるようになろうということで、
以後、こんな内容を書いていきたいとおもいます。

・ArduinoとGPSモジュールの通信
・Arduinoでのデータ処理

とにかく使ってみるのが早いのでまず上のをを実践してから、
おまけとしてこんな内容も説明できたらなと
・緯度経度の考え方
・便利につかうには

GPSつかってみる助けになればいとおもいます。