GPSに興味があり、少し前からArduinoプラットフォームに興味がありました。 そのため、Sparkfunでは、数日差でArduino Duemilanove、 
GPS Shield 、 
GPS受信機EM-406Aが注文されました。 
      
        
        
        
      
     注文が来て、棚の上に部分的に置かれ、最近、このキットに手が届きました... 
      
        
        
        
      
    
      
        
        
        
      
      Arduinoに接続された組み立て済みのGPSシールド 
      
        
        
        
      
      
 
      
        
        
        
      
    
      
        
        
        
      
     ハードウェア 
      
        
        
        
      
    -   Arduino duemilanove 
-   GPSシールド 
-   GPS受信機EM-406A 
-   LCD WH-0802A 
     機動性を高めるために、プラットフォームは別のバッテリーで駆動され、新しいスケッチをアップロードするためにのみコンピューターに接続します。 
      
        
        
        
      
    
      
        
        
        
      
      GPSモジュールEM-406Aのピン配列 
      
        
        
        
      
      
 
      
        
        
        
      
    
      
        
        
        
      
     シールドが存在する場合、ピン配置は概して重要ではありません。2つのコネクタを挿入するだけです。 シールドがない場合は、GNDピンをGNDに、Rxをデジタルピン2に、Txをデジタルピン3に、VCCをPOWER 5Vに接続する必要があります。 注意、灰色のワイヤーは1ではなく、6番目です! 
      
        
        
        
      
    
      
        
        
        
      
      GPSモジュールにはLEDステータスインジケータがあります: 
      
        
        
        
      
    -  インジケータは常にオンです-衛星が検索され、座標が決定されています 
-  インジケータが点滅-座標が設定され、送信されています 
-  インジケータが点灯せず、シールドに電力が供給されている-コネクタの接触不良またはモジュールがバイナリSiRFプロトコルに切り替えられた 
  UART / DLINEスイッチ 
      
        
        
        
      
      
 
      
        
        
        
      
     スイッチを使用して、RxおよびTx GPSモジュールをTxおよびRx Arduinoの脚(UART位置)に接続するか、デジタル2およびデジタル3をピンに接続できます(はんだからジャンパーを外さない場合はDLINE位置)。 スイッチが「DLINE」位置にあることを確認する必要があります。そうしないと、Arduinoでのスケッチで問題が発生する可能性があります。 
      
        
        
        
      
    
      
        
        
        
      
     サイン合成LCDインジケーターの接続 
      
        
        
        
      
     画面の下に別のシールドを購入せず、既存のインジケータを接続しました-WH-0802Aを4ビットモードで。 原則として、この方法で他のサイン合成インジケーターを接続できます。 これを行うには、データシートでピン配列を見つけ、RS、E、D4、D5、D6、D7ラインをデジタルピン(0 ... 3を除く)に接続し、これらのラインがコード、Vss、R / Wで接続される場所を設定することを忘れないでください-GND、Vdd-5V。  Vo出力(コントラスト設定)は、GNDと5Vの間に接続されたポテンショメーターに接続する必要がありますが、それをGNDに接続しただけです-結果のコントラストは私に合っています。 
      
        
        
        
      
    
      
        
        
        
      
     インジケータWH-0802Aのピン割り当て 
      
        
        
        
      
     
      
        
        
        
      
    
      
        
        
        
      
     インジケーターをArduinoに接続する私のオプション 
      
        
        
        
      
    -   RS-ピン13 
-   E-ピン12 
-   D4-ピン11 
-   D5-ピン10 
-   D6-ピン9 
-   D7-ピン8 
-   Vss、R / W、Vo-GND 
-   Vdd-5V 
 ソフトウェア部 
      
        
        
        
      
      GPSを
使用するには、 TinyGPSと
NewSoftSerialの 2つのライブラリ
が必要です 。 ライブラリはライブラリディレクトリに展開されます。 
      
        
        
        
      
    #include <NewSoftSerial.h> 
      
        
        
        
      
     #include <TinyGPS.h> 
      
        
        
        
      
     #include <LiquidCrystal.h> 
      
        
        
        
      
     TinyGPS gps; 
      
        
        
        
      
     //Tx, Rx 
      
        
        
        
      
     NewSoftSerial nss(2, 3); 
      
        
        
        
      
     // ,   lcd: RS, E, D4, D5, D6, D7 
      
        
        
        
      
     LiquidCrystal lcd(13, 12, 11, 10, 9, 8); 
      
        
        
        
      
     bool feedgps(); 
      
        
        
        
      
     void setup() { 
      
        
        
        
      
     //4800    GPS  
      
        
        
        
      
     nss.begin(4800); 
      
        
        
        
      
     //8 , 2  
      
        
        
        
      
     lcd.begin(8, 2); 
      
        
        
        
      
     lcd.print( "waiting" ); 
      
        
        
        
      
     } 
      
        
        
        
      
     void loop() { 
      
        
        
        
      
     bool newdata = false ; 
      
        
        
        
      
     unsigned long start = millis(); 
      
        
        
        
      
     long lat, lon; 
      
        
        
        
      
     unsigned long age; 
      
        
        
        
      
     //      
      
        
        
        
      
     while (millis() - start < 1000) { 
      
        
        
        
      
     if (readgps()) 
      
        
        
        
      
     newdata = true ; 
      
        
        
        
      
     } 
      
        
        
        
      
     if (newdata) { 
      
        
        
        
      
     gps.get_position(&lat, &lon, &age); 
      
        
        
        
      
     lcd.setCursor(0, 0); 
      
        
        
        
      
     lcd.print(lat); 
      
        
        
        
      
     lcd.setCursor(0, 1); 
      
        
        
        
      
     lcd.print(lon); 
      
        
        
        
      
     } 
      
        
        
        
      
     } 
      
        
        
        
      
     bool readgps() { 
      
        
        
        
      
     while (nss.available()) { 
      
        
        
        
      
     int b = nss.read(); 
      
        
        
        
      
     // TinyGPS  ,      \r  \n 
      
        
        
        
      
     if ( '\r' != b) { 
      
        
        
        
      
     if (gps.encode(b)) 
      
        
        
        
      
     return true ; 
      
        
        
        
      
     } 
      
        
        
        
      
     } 
      
        
        
        
      
     return false ; 
      
        
        
        
      
     } 
      
        
        
        
      
    
      
      
        
        
        
      
    
        
        
        
      
      
        
        
        
      
    
     
      
        
        
        
      
      GPSモジュールをオンにしてスケッチを埋めた後、モジュールがその位置を特定し、有効な座標の発行を開始するまで少なくとも42秒(コールドスタート時間)待つ必要があります。 モジュールが動作モードになると、LEDが点滅します。 私のデスクトップでは、モジュールは常に衛星を見つけることができません-あなたはそれをウィンドウに転送する必要があります。 
      
        
        
        
      
    
      
        
        
        
      
     接続されたディスプレイと受信座標を備えた作業モジュール 
      
        
        
        
      
      
 
      
        
        
        
      
     ディスプレイの右側には、バックライト用の電源があります。 
      
        
        
        
      
     衛星を決定すると、座標がディスプレイに表示され、1秒ごとに更新されます。 
      
        
        
        
      
     その結果、経験が得られ、GPSのさらなる開発の基礎となりました。 
      
        
        
        
      
    
      
        
        
        
      
      「使用された文学」