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ファミリーとはちと違うのでねぇ。
「デイリーレポート」一覧
追加のLTC485が届いたので
今日は夕方雨の天気予報だったので公共交通機関にて出社。4月だからか人がいっぱいで嫌になる。ので、社バスは使わずに歩いた。
そして3時間残業した帰宅時間には雨は降っていない状態。遅くなると、電車の駅から自宅までバスが少なくなる。終バスは22:05という路線だ。腹立たしい。
で、それでも悔しいので帰宅後ちょっと半田付け。オーディオジャック。そして本日追加で届いたLTC485の回路をミニブレッドボードに起こしてArduinoと繋ぐ。(日中に受け取ってくれたツレに感謝)。遅く帰る事が多いとツレの精神状態への影響が気になる。
.
今日はこのあたりで時間切れ。ソフトを作る暇も気力もなし。プロトタイプとしてpachubeに流速とモータ回転数をアップしようと思っていたのだが・・・。この時間のなさのやるせなさが腹立たしくて厳しい。早起きしかないかな?