🧪 新しいチュートリアルを公開中 — ロボットアームからセンサーまで
コンテンツへスキップ

STM32F103:GPS 解析出力 ​

1. 学習目標

今回の講座では、主にSTM32F103C8T6とGPSモジュールモジュールを使用して、位置情報の解析出力機能を実装する方法を学びます。

2. 事前準備

GPSモジュールはUARTとUSBで通信します。ここではSTM32のUARTポートを使用して情報を読み取ります。モジュールのTXDをSTM32F103C8T6ボードのPA10ピンに接続します。VCCとGNDはそれぞれSTM32F103C8T6の5VとGNDに接続します。TTLモジュールのGNDとRXDはそれぞれSTM32のGNDとPA9に接続します。

図 1

3. プログラム

モジュールのボーレートは9600です。

図 2

受信したデータを読み取って解析します。

図 3

緯度経度情報の単位を度に変換します

図 4

シリアルポートを通じて受信したデータを出力します。

図 5

注意:実はGPS/北斗測位の座標系の値は単純な100倍の関係ではなく、一度度分秒の変換を行う必要があります。つまり、取得したGPS/北斗座標値、例えば北緯2429.53531、東経11810.78036は、次のように計算する必要があります:24+(29.53531/60)≈ 24.49225517 118+(10.78036/60)≈118.17967267。また、マイコンによってはデータ変換精度の問題により一定の誤差が存在する場合があります。

4. 実験現象

モジュールに通電すると、起動に約32sの時間がかかり、その後モジュール上のシリアル出力状態ランプが点滅し続け、このとき正常にデータを受信できます。

プログラムをダウンロードして実行し、シリアルソフトを開き、ボーレートを9600に設定すると、シリアルに現在の位置情報が繰り返し出力されます。

図 6

注意、モジュールのアンテナは室外に置く必要があります。そうでないとGPS信号を検索できない場合があります。