R1.8.24 Micro:bitGPSでマイクロSDにデータ保存

 Micro:bitGPS_CubeにSDカードスロット基板を加えてみた。ちょうど前回の失敗!と思われたスペースに入る基板となってくれた。挿入順番は以下の通り。順番を間違えて撮影したので、編集してあります。

 試しに、トレーニング場所の瀬戸運動公園まで動かしてみた。記録は途中から。データが多くて地図のマーカーが重なって見難かったので、1/3にしてグーグルマップのマイマップという機能で表示したものをコピーし、通った道路を着色してみた。SDカードのデータをそのまま使う。ただし、拡張子はTXTなので、それをCSVとリネームしただけのものをインポートするだけ。ナンバリング表示にしてみた。不思議なほど道と重なった。

 なお、プログラムは以下のようである。上の実験をしたプログラムとは違う。データをSDへシリアル書き込みするときに、OLEDに表示した文字データを数値化して書き込んだのだが、そのまま文字列で書き込んでもいいのではないかと思い、変更してある。実際にはまだ試してはないのだが、大丈夫だろう(^^;)


R1.8.19 Micro:bitGPS_Cubeにしてみた

 GPSユニットとOLED液晶が1枚の基板に載らなかったので、裏表に配置したら厚みが増して失敗した。エッジコネクターが4枚必要となってしまった。これを加工するのに手元が狂う高齢者の私にはイライラがつのった。どうにか半田付けした。下の中の画像で見るように、左から「GPSユニット&OLED液晶」「スペーサーとしてのコネクタ」「マイクロビット本体」「電源基板」となっている。

 OLEDを使用するための拡張機能には2種ある(他にも出るようになったが)と以前にも書いた。一番左の画像ではきれいな文字で表示されているが、電池駆動にすると、とたんに読めない。そして、2度と綺麗な表示に戻らない,大袈裟だけど。別の拡張機能では、電池駆動にしても問題ないのだが、文字が今ひとつだ。カラー指定ができるのでやってみたら、「0」で反転ができた。
 そうそう、GPSユニットのアンテナを最前面のコネクタに両面テープ張りしている。

 これでは、読みにくいね。


R1.8.17 GPSが使える

 昨日までは、6種類ほどのNMEAセンテンス(というらしい?)が表示されただけだった。このうち、扱いやすそうなセンテンスはGPGLLというものだ。$GPGLL,緯度10桁,N,経度10桁,E,....と出てくるので、これを使う。

 初期設定で、OLED液晶とシリアル通信の設定をする。受信バッファーはセンテンスの文字数が入る程度にしておいたつもり。

 シリアル通信でGPS本体から1行読み取る。ここで1センテンス読み込むつもり。できてしまうところが恐ろしい。実際には、重なって読み込んでいるところもある。しかし、短時間に膨大な量を読んでいるので、その中の一つくらいは適当なものがあるだろうし、必要な部分を扱うことにして澄ましている(^^;)

 読み込んだセンテンスの最初の6文字が$GPGLLであれば処理をするようにする。
 緯度や経度のある場所は決まっているので、そこから文字を切りだしてくる。数値に変更すると、小数点位置などが面倒になるので、文字列で処理する。
 切りだした後は、表示するだけ。簡単に実現。

 下がセットになった画像。これならば、コンパクトになりそうだ。このGPSユニットが3V動作であることもありがたい。


R1.8.16 GPSを使ってみたい

 マイクロビットでGPSが使えないものかどうか、試してみたい。

 ということで、取り敢えず安価な3Vでも動作するGPSユニットをゲット。GPSをArduinoで使用している例をネットで探した。すると、よく勉強させていただくDevicePlusさんのArduino入門第60回を参照。GPSの製品は違うが、スケッチをそのまま使うことができた。南に10mほど違ったが問題なし。私の確認計算間違いでした。ほとんど正確です。ピンポイントで測地してます! 恐ろしい!

 こんな具合にArduinoIDEでも見えてしまうし。少々データが切れているけれど...

 これをマイクロビットでどう使えるのかが今後の課題となる。できるのかな?