Arduino GPS+TFTタッチシールドで作るリアルタイム位置表示デバイス
部品と材料
| 部品 | 数量 | 備考 |
|---|---|---|
| Arduino UNO互換ボード | 1 | Megaでも動作可能だが未検証 |
| Makerfabs Arduino GPSシールド | 1 | GPSモジュール搭載、ジャンパでピン選択可 |
| ILI9341 2.4インチ TFTタッチシールド | 1 | Arduino UNOピン配列対応 |
使用アプリ・オンラインサービス
- Visuino(Arduino用グラフィカル開発環境)
- Arduino IDE(コンパイル/書き込み用)
プロジェクト概要
Makerfabs様からGPSシールドを提供いただき、Visuino開発支援の一環としてチュートリアルを作成しました。手持ちのILI9341 TFTタッチシールドと組み合わせ、Visuinoのノーコード/ローコード開発でGPS位置情報をTFTに表示するデバイスを構築します。

Step 1: 構成部品


- Arduino UNO互換ボード ×1
- Makerfabs Arduino GPSシールド ×1
- ILI9341 2.4" TFTタッチシールド ×1
※Makerfabs様が本プロジェクト用の特別コンボキットを販売されています。
Step 2: VisuinoでTFTシールド追加・設定
- Visuino起動(visuino.com)
- Arduinoコンポーネントのドロップダウン→「Add Shields...」
- 「Displays」カテゴリから「TFT Color Touch Screen Display ILI9341 Shield」を追加
- Object Inspectorで「Text」→「Size」を
2に設定(文字拡大)



Step 3: GPS位置情報表示用テキストフィールド追加
- TFT Displayの「Elements」プロパティでエディタを開く
- 「Text Field」を選択し、「追加」ボタンを3回クリック(緯度・経度・高度用)
- 3つのText Fieldを全選択し、「Auto Size」=
False、「Width」=10、「X」=10に設定



Step 4: 各テキストフィールドの位置・初期値設定
| エレメント | Y位置 | 初期値 |
|---|---|---|
| Text Field1(緯度) | 20 | "Update" |
| Text Field2(経度) | 40 | (空白) |
| Text Field3(高度) | 60 | (空白) |



Step 5: Serial GPSコンポーネント追加・接続
- コンポーネントツールボックスで「GPS」検索 → 「Serial GPS」を配置
- GPS1の「Location」→「Latitude」出力 → TFT Displayの「Elements.Text Field1.In」へ接続
- GPS1の「Location」→「Longitude」出力 → TFT Displayの「Elements.Text Field2.In」へ接続
- GPS1の「Location」→「Altitude」出力 → TFT Displayの「Elements.Text Field3.In」へ接続
- GPS1の「Out」ピン → Arduinoの「Serial[0].In」へ接続(ハードウェアシリアル使用)





Step 6: コード生成・コンパイル・書き込み
- Visuinoで F9 または生成ボタンクリック → Arduino IDEが開く
- Arduino IDEで「書き込み」ボタンクリック


重要: Arduino UNOはハードウェアシリアルが1つしかなく、書き込みにも使用するため、書き込み完了後にGPSシールドを接続してください。
Step 7: GPSシールドのジャンパ設定・接続
Makerfabs GPSシールドのジャンパでシリアルピンを選択:
- TXジャンパ → Pin 0 (RX) へ接続
- RXジャンパ → Pin 1 (TX) へ接続
これによりハードウェアシリアル(Serial0)でGPSと通信します。

その後、TFTシールドをArduino UNOの上にスタック、その上にGPSシールドをスタックします。




Step 8: TFTシールド接続確認
Arduino UNOにTFTシールドをピンヘッダ合わせて装着。

Step 9: 動作確認
- Arduino UNOに電源投入(USBまたは外部電源)
- 最初はTFTに「Update」と表示
- 暫くするとGPSシールドの青色LEDが点滅開始(衛星捕捉中)
- 測位完了で緯度・経度・高度がTFTに表示





注意: 設置場所によっては測位に数分かかる場合があります。数分経っても表示されない場合は、電源を切って1分待ち、再投入してGPSをリセットしてください。
Visuinoプロジェクトファイル
完成したVisuinoダイアグラムは以下からダウンロード可能:
Visuino公式サイト またはプロジェクト添付ファイル FJV6QQLIWMR2MVJ.zip
まとめ
Visuinoのビジュアルプログラミングにより、1行のコードも書かずに「GPS受信→シリアル解析→TFT表示」という一連の処理を実装できました。Makerfabs GPSシールドはジャンパでハードウェアシリアル(Pin 0/1)接続が可能なため、SoftwareSerial不要で安定動作します。ILI9341 TFTシールドはUNOピン配列に完全対応しており、スタックするだけで配線不要です。
この組み合わせは、車両トラッカー、ハイキングナビ、ドローン地上局、資産管理タグなど、位置情報表示が必要なあらゆるプロジェクトのベースとして応用可能です。Visuinoなら後から「速度表示」「方位表示」「地図タイル表示(要外部メモリ)」「ログ記録(SDカード)」などの機能追加もドラッグ&ドロップで容易です。
製造プロセス
- ILI9341 2.4インチTFTタッチシールドでのビットマップアニメーション実装ガイド
- Arduino Dueと3.2インチTFTで作る温度監視付きリアルタイムクロック
- Arduino Nanoで2.8インチTFT SPI液晶にJPEG写真とRGB565動画を表示する
- Arduino MegaとNextion HMIで作る高機能ウェザーステーション
- ArduinoとNokia 5110ディスプレイで自作電圧計:ステップバイステップガイド
- Arduino UNOで1.17インチTFT LCDに画像を表示する方法
- BME280 温湿度・気圧データを Nextion タッチスクリーンに表示
- Arduino & MPU6050:SG90 & MG996Rサーボの精密制御
- u-blox LEA-6H 02 GPSモジュール: Arduino & Python 統合ガイド
- Arduino Dueでマスターする音声認識と音声合成
- Arduino Nano用 高性能2.8インチTFTシールド - 320×240 SPIディスプレイ