Make一覧

液晶のテスト

20130130_01

 aitendoで買った128×160のTFT液晶の動作確認。mbedはこれ用のライブラリが有ったのでさくっと動きました。手抜きプログラムなので画像は荒れですが、色自体はフルカラー出ます。というかこの形からして携帯電話用のモジュールかな。これ、シリアルで制御コマンドを送るだけなので、mbedのライブラリを移植すればATmegaでも楽勝で使えそうです。

 ただ、今回のこの液晶の利用目的はデバッグ用標準出力かつ、ある程度バッファをもっておいて後戻りできる感じにしたいのです。なので、ATmega328クラスだとメモリ2Kbyteなので大変かも。ある程度妥協して動作確認用ってことでATmegaでやるのは非常にありだなと思い始めてます。これにmbedはもったいないかなと。ベランダカメラでも使ってたSPI接続の32K SRAM使ってバッファにするのも良いね。


雨センサ調整中

 どうも、冷えてきちゃうとオンになってしまってた雨センサを調整中。

 素人なのでお風呂ブザー的に、晴れならLow、雨ならHighを考えていたのだけども、どうもそれじゃまずそうで。
 世の中のマイコンのIOピンがなぜデフォルトでプルアップされてるかというと、プルダウンより電力を食わないらしい。理屈はもう少し経験と理論学習を積めばわかると思う。
 で、XBeeもマイコン使ってるから同じくデフォルトプルアップ。
 今は、デフォルトプルアップを解除して、抵抗を挟んだプルダウンデフォルトにして、雨が降ったらダーリントンからHighになるようにしたのだが。夜間に冷えるとHighになるのを改善スべく調整を繰り返すうちにバランスが崩れてセンサーが濡れて導通してもLowになってる状態。まぁ、それでも太陽電池によるリチウムイオンバッテリー駆動の電圧確認記録はできているので無駄ではない。

 で、それらを改善すべく、次の回路テストの為にXBeeコーディネータ配下のネットワークにEnd DeviceのXbeeを1個追加。単にテスト用なのでその追加したEnd Device XBeeから一定タイミングで送られてくるiosampleをコーディネータXBeeが受信して、SoftwareSerialのコンソールに出力するだけ。こんなのは今の不完全な雨センサーのアップローダのコードににちょいと追記するだけでOKです。(追記しなくても送信元XBeeのアドレスは表示させてるのでわかるのだけども)

 で、改善回路は探します。水分で導通したらLowになるNot回路で良いんですけどね。トランジスタでなくNMOSのFETの方が良いのかしらん?在庫あったかな?1個まえのデジトラで動かしてた雨センサが負論理になってたのだけど、よく原理がわからんまま使ってただけだからなぁ。ちょっと勉強しなくては。


シリアルコンソールの作成

 マイコンの動作を確認するのにシリアルポートに状況を出力するのが常なのですが。
パソコンとUART-USB変換モジュールなどでつなぐのが微妙に煩わしく。どのcomポートだっけかと迷う事も多々あり。

 で、シリアルに接続して、液晶に表示するようなTTLレベルのコンソールモジュールを作成しようと思っている。
表示デバイスは液晶でもOLEDでもなんでもよいが、2行じゃ辛いのでせめて4行位。スクロールバッファも持たせたい。
シリアルの接続はレベルコンバータを介して5Vでも、3.3VでもOKとして。
ついでにi2cでも接続できるように(これもレベルコンバータをはさもう)。

 雨センサーの中継器の前にこっちを作ろうかなぁ。

 で、カラムの多い表示デバイスを探してたけど液晶だと4行くらいか。
 いっそ、UARTから青歯変換してSPPでAndroidへ飛ばすか?AndroidでSPP受けられるコンソールアプリがアレばOK.なんかしら出来るのでは?と思ってお蔵入りしていたvi30を引っ張りだしてみた。青歯でなくてUART-USBも受けられそうだし。Linux化も試してもいいし。
 あ、でも、これバッテリーが妙に持たなくてお蔵入りだった。ばらしたら小さいバッテリーが居たりして。文字通りの「石」が入ってたiDeviceよりは良いかな。って忘れてたondaのこれは青歯がないのだったw。ま、LCDで行っとくかな。

 結局、これも後回しにするかもね。制作に取れる時間次第。


雨センサー用のXBee中継モジュールを検討

 昨日改良した雨センサー。XBeeでプッシュタイプでデータを送ってくるので、家のメインプルタイプのコントローラは介せずに、別途、SparkfunのEthernetProで受信しつつ、ネットにアップロードしてます。

 メインのmbedのコントローラを改良しても良いのですが、ベランダ気象台をやってる奴にやらせようかとか。
1.雨センサー側のXBeeネットワークのデータ(降雨状況、バッテリー電圧)の受け取り。
2.気温・照度・気圧・湿度の観測とメインへの回答。
3.降雨状況、雨センサーのバッテリー電圧のメインへの回答。

 これをやらせるという感じ。

 XBeeを2台載せることに関しては、ハードウエアシリアルが1つしか無いATmega328pだとsoftware serialを併用する事になります。
software serialでのXBee駆動はすでに水槽データ管理マイコンでやっているので問題ではない。ATmegaをそれぞれのXBee用に1個づつ2個載せて、各ATmega間でi2cでデータやりとりしても良いしね。
 ついでに、ベランダ気象台をXBee Proのしっかりしたアンテナの奴に置き換えると、湿度の高い時に無線通信が出来ない事があるのが改善されるかも。

 LEDイルミネーションは、プロトタイプの検証はできているので、あとまわしにしちゃって、こっち関連をやりましょう。
あーでも、本来はすべて同一ネットワークにして、メインのmbedでコンカレント処理するのが綺麗だけどなぁ。


実家方面との連絡方法を考える

 ツレは、実家と近いこともあるし、ご両親ともどもEメール類はPCにしろ携帯にしろOKなので安心。

 自分の両親は、親父がauのCメールを送ってくる位はあったが、各キャリア間のCメール相当が相互送信OKになる前に、自分がツレのファミ割に入るべくドコモに変えてしまったからかその後はメールが無い。もうどのキャリアでも送れるので試してもらわないとな。

 その後の両親の確認としては、何か作って設置したいと思う。ってか室温とか人物動作確認(PIRとか)位はおいておきたいかな。肝はインターネット常時接続があるかないかだが。一応弟が契約してた筈だ。これがないと確認にカネがかかる。自動販売機に着いているようなセンサーネットワークを個人が安く利用できると良いのだが。大量のパケットを流すわけでもないく数バイトなんだけどねぇ。


雨センサーの改造実施

 自宅のベランダの雨センサーの改造を実施しました。

 ・電源を太陽電池およびそこから充電したリチウムイオン充電池経由とする。

 基本これだけ。ベースはSeeedstudioのGROVE Beeキャリアです。一昨年くらいにかって温存してたもの。

 ついてに、雨センサーの部分も変えました。2SC1815のダーリントンという昔ながらの回路で。しかし、午前中何をぼけていたのやらトランジスタで増幅される電源の元がエミッタ、電源が出てくる側がコレクタと思い込んでいた様で、ブレッドボードでいろいろテストしてて頭に「?」が沸きまくってました。ふとエミッタとコレクタ逆じゃんと気づいて、直したら正常動作を確認。オン・オフが今までと逆になったので、受信側のソフトも変更した。

20130119_02

 上記のようなブレッドボードで試してみてOK。その後も、抵抗値を調整しつつで、8×4の基板に作りこんで、配線して完成。まだ、防水加工した部分が乾いていないので稼働は明日かな。