マイコン一覧

エーハイム2074モニターXBeeプロトタイプ版

RS485トランシーバを足した程度。

流量とモーター回転数取得

 ArduinoのSoftwareSerialでAPIモードのxbee-arduinoライブラリによるXBee通信ができたので、エーハイムの外部フィルターと無線接続を試してみた。
4/28の実験ブレッドボードにRS485の回路を設置。ハードUARTのRX,TXはRS485に使ってしまうので、USBから電源は取れない。sparkfunのブレッドボード用電源を追加。
ソフトは、ArduinoEthernetで動かしてたヤツのネット部分を外してXBee部分を追加。動作確認用のmbed側はリターンデータの解釈の部分の変更のみ。
で、相変わらずtxとrxを逆に繋いでたりといった凡ミスを経てすぐに動作しました。大したことしてないしね。自分の使い方みたいな少量データならばSoftwareSerialでXBeeを使うのもありですね。UARTでやるのと消費電力的にどれくらい違うですかね?まぁ、Ethernetを使うと消費電力は(マイコン的には)超増えるからどっちがお得かわからんです。
 連休後半の雨の時に、秋月C基板かスイッチサイエンスのXBee対応C基板でハードウエア固定化しますかね。

 で、ATmega644P。こいつで同じ事をする(シリアルは、2つあるUARTを使いますけど)テストもしてみますよ。どうやらArduinoのご先祖のWiringが644Pだったりするのですので情報調査します。


2012年の第2三半期の計画

2012年も第1三半期が終わりです。第1三半期でできたことは、

・家庭内電力メータを基板固定化
・金魚水槽カメラ作成&設置
・ベランダ用カメラ作成&設置
・ベランダ用土壌温度&水分系作成&設置
・水槽フィルターモニター作成&設置
・mbedマスターコントローラ作成

と、結構多いですねw。自分が施主なので判断が早いからですね。

で、第2三半期はというと、

・水槽フィルターモニターブラッシュアップ
 モニターだけでなくコントローラも賄う。ATmega328でやるかATmega644にするか決めかねている。前者で抑えておいて、時間があれば後者に移行かな。
・家電コントローラ
  基本IRリモコンや商用電源管理ですね。
・家庭内温度モニター設置
・ベランダ気象台に風センサーと雨センサーを作成&設置。

かな。昨年から検討しているベランダ水やりのマイコン制御はちょっとおいておく。うちの植物博士のツレが言うには水やりのタイミングは微妙みたいなので。
第2三半期は基本的に電気工事士試験の勉強もしないと行けないのでゆるめで行きます。


xbee-arduinoをSoftwareSerialでテスト

 UARTが1つしか無い、ATmega168/328シリーズ。水槽フィルターモニターをXBee経由でコントロールしたいので試してみた。水槽フィルターとの接続は115200bps(フィルター側のファームで固定。いつかバラしたいw。)と高速なのでハードウエアUARTが必要。かたや,xbeeの定番Arduino用ライブラリxbee-arduinoもHardwareSerialが基本。r22の時はNSSに対応してたみたいですが最新は公式対応してない。ので、SoftwareSerial専用にライブラリを書き換えた。書き換えたってもシリアルのオブジェクトを変えただけで、両対応はしてません。
 画像のように親機のmbedからコマンドを送って、それをArduino側で受け取って、何らかのデータを返すパターンでテスト。どうも、コマンドは送られてきて、Arduino本体でも受信できているのだが、返却データがタイムアウトしている。それも親機子機双方で。なんとなく親機のアドレスが上手くとれてなくて、変な相手に返信しようとして双方タイムアウトかなとおもいつつ。プロアナで流れてるXBeeAPIフレームをみてみたら・・・。ビンゴでした。アドレスの最上位16ビットがへんてこな値でした。 何のことはないXBeeのAPIモードのAPIモードの設定が一部違っとるがな。XBeeの設定をX-CTUで直して無事動作。
 さて、UARTが2つあるATmega644も買ってみたのだが、どうしますかね。いわゆるsanguinoをお手製でやるわけですが。ライブラリの改築とか面倒かも。ATmega644はArduinoのデフォルト想定CPUファミリーとはちと違うのでねぇ。


エーハイム2074シールド

 ArduinoEthernetでプログラム調整をした。無事にPachubeへのポストまでは完了。RS485の通信安定化対策も効いている。安定化対策ってもコマンドに対するレスポンスにタイムアウトを設定できるようにしただけだ。

 回路が安定してるので、ブレッドーボードから基板へ写しこみをした。とりあえずこの状態で運用しつつ、次なるエーハイム2074シールドmk2を目指す。mk2はATmega644(ATmega1284は秋月で長期売り切れなのだ)でXBee対応の予定です。(あ、『シールド』じゃなく単体基板ですね)


Arduino-2074通信成功

 扱いやすいように、台付きのブレッドボードに組み替えて、Arduinoもnanoにして作り直し。昨日までは、コマンドの送信ができても受信が上手く行かず、プロアナ見ながらタイミングを調整していた。
 で、本日なんとか、流速とモータ回転数が取得できるようになりましたとさ。次はXBeeとの接続だが、ハードウェアUARTが1個しか無いのでArduinoMegaで行こうと思います。


追加のLTC485が届いたので

 今日は夕方雨の天気予報だったので公共交通機関にて出社。4月だからか人がいっぱいで嫌になる。ので、社バスは使わずに歩いた。
 そして3時間残業した帰宅時間には雨は降っていない状態。遅くなると、電車の駅から自宅までバスが少なくなる。終バスは22:05という路線だ。腹立たしい。
 で、それでも悔しいので帰宅後ちょっと半田付け。オーディオジャック。そして本日追加で届いたLTC485の回路をミニブレッドボードに起こしてArduinoと繋ぐ。(日中に受け取ってくれたツレに感謝)。遅く帰る事が多いとツレの精神状態への影響が気になる。

.
 今日はこのあたりで時間切れ。ソフトを作る暇も気力もなし。プロトタイプとしてpachubeに流速とモータ回転数をアップしようと思っていたのだが・・・。この時間のなさのやるせなさが腹立たしくて厳しい。早起きしかないかな?