有機ELとGPS受信機で遊ぶ

有機ELのディスプレイがよさそうなので、準天頂衛星”みちびき”に
対応したGPS受信機[AE-GYSFDMAXB]とで、有機ELの使い方学習を
兼ねて、遊んでみました。
取りあえず回路図を以下に

実用で使えそうです………。

・配線は簡単ですので….。同時モニター用のUARTとXBee は接続しなくて
良いです、これはArduinoをエディットしていないときにモニターする時や
他の目的でデーターを使用するときに使います。

・表示切替ボタンはArduinoの外部割り込みピンD2に接続する
割込み機能を使用する方がスイッチを押したときの反応が良いから
確実に切替できます。

・GPS受信機は”MiniGPS”というソフトで、ボーレート変更や不必要な
NMEAデーターを排除したり出来ます、ボーレートは無難に”9600″に設定
他はべつに変更する必要はないようです、
GPS受信機は +5Vを加えるだけでデーターを垂れ流しします、基板裏に
ボタン電池を取り付ければ衛星の補足が早いです、ボーレートを設定したら
GPSとArduinoを接続、TxD ⇒ D7 pin、RxD ⇒ D8 pinに接続、
注意点はGPSからのUART出力は 3.3Vロジックになっていますので
Arduinoは3.3V系を使う事です、この点は”Adafruit Metro Mini 328 – 5V 16MHz”を使う事で5V、3.3Vどちらへでも切り替えられるので良いんです。

・有機ELキャラクターディスプレイの設定
.   OELDは”I2C”接続ですので、先にOLEDのピンで、スレーブアドレス
.  の設定のために以下のように、半田付けします。
これでArduinoと接続します、あとはスケッチを書くだけ。

・プログラム(スケッチ)作成、素人の作成ですので、どっかからの切り貼り
が多いですが、ご容赦ください。
幸いなことに有機ELディスプレイの部分は、購入した時の説明書にスケッチ
が書かれていました、大助かりです それを一寸改変しました
◆ 大まかな流れは
1・SoftwareSerial.h と I2Cのライブラリ Wire.h をインクルードします
2・GPS用のバッファを取りあえず最大の 255バイト割り当てるように宣言
3・ソフトウエアシリアルポートに”sGps”と言う名前を付けます

4・各種変数の型を宣言しておきます
5・OLED I2C 初期設定用に、変数名と値(16進数)を宣言する

6・OLEDに表示用のキャラクタ変数配列を宣言(16文字分)デフォルト文字
として 上の行”Upine           “と下の行”DownLine        “を入れておく

7・void setup() に、割り込みモードを”FALLING” H⇒Lに変化したら
と、I2C、デバック用シリアルポート、GPS用ソフトウエアポート
などをセットアップしてから、OLED初期化関数を呼び出す。

8・メインループでは、GPSデーターの受信 ⇒ 受信データーの判別と
表示文字列の作成  ⇒  有機ELディスプレイに表示となります。

・GPSだけの表示では面白くないので、表示切替へボタンを押す事により
0、上行に正確な現在時間、下行に進行方向(真北から0~359度)を表示
1、上行に対地速度(ノット/時)、下行に進行方向(真北から0~359度)を
2、上行に緯度、下行に経度 を表示
と三段階の切り替えができるように割り込み処理でしました、それと
四段階目で
3、OLED初期化する、(このOLEDはなぜか時々表示がずれるので)
初期化終了時に”0″に戻るようにしました。

◆ GPS データー処理セクション

・GPS NMEAデーターから解析しOLEDキャラに変換する

◆ I2CとOLED 表示セクション
その前に、ちょっと前までは I2C って使いにくいからアナログ式のデバイス
を多用していました、やっと I2C の読み書きについて理解が深まったよう
なので自分用への忘備録として、おさらいしておきます。

・まず絶対に必要なのはデバイスのアドレスですね、これが不明な場合は
使う事が出来ないのがI2Cのネックでしょうね、
それと、もと重要なのはGPIOのアドレスです、ジャンク箱からデバイスを
見つけてもデバイスマニュアルが無いと全く使えません、面倒ですね。
その点はアナログは簡単です、精度の点ではI2Cに勝てませんが…。ね
・ハード的なリクエストタイミングは飛ばして又詳細な方法も飛ばします
詳しくは ”ここ” に置いておきます。
・今回のOLEDは一方的に書きこむだけですので簡単に説明します

・この有機ELデバイスにアクセスする実際
OLEDの表示エリアと文字配列変数は以下のようになっている
char型配列には終端記号として”\0″ヌル記号が付くので
短い文字列を表示する時には、表示最後部にヌル記号の変なキャラが
表示されるので、桁合わせのためスペースを挿入して16文字以上にして
ディスプレイに送るようにする。
タイム表示の時に”時”が 10時以下なら”0″+時を付加して
GPSの進行方向では 4桁から6桁に変化するので、プログラム中で桁合わせの
意味で”Direction”文字列先頭に、”0″か”00″を付加している

 

—– 続く —-

火星に墜落した巨大UFOが!

最近 火星が騒がしいです、今までにも色々な不思議物体の情報が有りましたが
今度はなんと130mもの巨大UFOが墜落してるって!

これは火星の周回軌道から調査をしている調査衛星
”マーズ・リコネッサンス・オービター”が、高性能カメラで捉えた画像
画像をクリックすればニュース記事のサイトへ飛びます。
以下は地表を這いずり回って撮影している探査車”キュリオシティ”が撮影した
ちょっと前に公開されたクリーチャーらしき化石?
この画像は色付け処理したものらしい、角があるティラノザウルスみたい
NASAが発表して色々言い繕っているようですが、マニアには夢が膨らむようです

低迷台風5号は現在地球上で発生している嵐の中で最強だと報じている。


国際宇宙ステーション(ISS)に滞在する宇宙飛行士が撮影した台風5号日本を直撃するのか!
西にそれるのか?はたまた右に
急カーブするのか目が離せない、

8月3日15時現在で945hPa デカ!
近づくだけでも吹き込む風の威力が

tenki.jp より

ISSからの画像をもう一枚
地球の丸みに沿っているのはなんか
不気味です。
早めに雨風の対策をしておこう。

やばいよ、やばいよ
(って出川か!)

会員制PCサポート