2014年12月25日木曜日

TWE-Lite賞を受賞しました

 先月、こっそり応募した「みんなのラズパイコンテスト」で、しゃべる戸締まりチェッカーがTWE-Lite賞を受賞しました。ありがとうございます。
 事前に届いていたお知らせメールに全く気づかなくて、発表を見て受賞を知りました。
 

賞品は、TWE-Lite DIPその他の福袋という事でしたが、袋ではなく箱で届きました。

いざ、開封。
じゃーん!
 TWE-Lite DIPが4種類とUFL用アンテナ、新商品のパッチアンテナが揃っています。ToCoStickもうれしい。

 意外だったのが 、TWE-Lite SMDとハテナアンテナのセット。しかも、10個の大盤振る舞い。過去の作品はSMD版がメインだったので、ナイスな選定です。今まで手半田の空中配線でしたが、そろそろKiCADに挑戦して、基盤を作らないといけませんね。

 正直なところ、Pythonのスクリプトは少し書きましたが、Raspbery Piが無くてもシステムの大半は問題なく動くし、GPIOもカメラも使っていないので、ラズパイコンテストの応募作品としてはかなり微妙だったと思います。その代わり、TWE-Liteの工作は寝る間を惜しんで頑張りました。

 賞品が生かせるように、次の工作ネタを考えなくちゃ。

2014年12月23日火曜日

自転車発見器でジングルベル

 季節に合わせて、自転車発見器のメロディーをクリスマスソングに変えてみました。今週は、ジングルベルで自転車を探します。

オレオレTWE-Lite R基板でファーム書き換え



 このところお気に入りのTWE-Liteは、DIP/SMD取り混ぜて15個以上を使いました。秋月のFT231X USB-シリアル変換モジュールを持っていたので、専用ライターのTWE-Lite Rは持たず、書き込みにはこのモジュールを使っています。また、使用割合の高いSMDタイプはTWE-Lite Rのソケットに載らないため有り難味がほとんど無く、TWE-Lite Rを必要としない理由のひとつになっています。
 この方法は汎用性があって良いのですが、RESETとPRG(PWM3)をタクトスイッチにつないで操作するのが多少煩わしいです。

TWE-Lite Rの中核部分は設定変更したFT232Rらしく、「TWE-Lite Rメモ」に詳細が書いてありました。メモと回路図を参考に結線し、FT_PROGでEEPROMの設定を書き換えてみたら、TWE-Lite プログラマに「TWE-Liteのリセット」ボタンが現れ、無事にオレオレTWE-Lite Rが出来上がりました。これで、書き換え時のスイッチ操作が不要になります。


  TWE-Lite DIPの下端にある書き換え用端子は、RESET, RX, PRG, TX, GNDの5ピンが引き出されています。また、TWE-Liet Rには対向側の5個の端子が用意されているようです。ただ、実際に使ってみると、
  • 電源に太陽電池やCR2032を使う子機に対しては、書き換え時に外部から安定した電源を供給したい。
  • 無線タグアプリの子機でインタラクティブモードに入るために、M1をアサートしたい。
等の便利機能が欲しくなります。このため、自分で工作する場合は、RESETの隣にVccを、GNDの隣にM1を配置した7ピンをピンヘッダで出しておきます。すなわち、以下のようなピン配置になります。
  1. Vcc
  2. RESET
  3. UART RX
  4. PRG
  5. UART TX
  6. GND
  7. CFG(M1)
 この配置に合わせたピンソケットやTWE-Lite DIP用ソケット、PRG,RESETスイッチ、M1用ジャンパーピンを装備した、オレオレTWE-Lite R用の基板を作りました。結構便利です。






2014年12月22日月曜日

自転車ビーコン メロディー書き換えのデモ

 メロディー書き換えのできるファームウェアの作成と並行して、自転車ビーコンの2セット目を組み立てました。受信機はキャンドゥ(100円ショップ)の自転車用LEDフロントライトを電池ケースとして利用しながら改造、送信機はタカチのプラスチックケースCS75に収納しました。
 デモ動画では、サンプルアプリに入っていた「ちょうちょ」の他に、3曲を次々に書き換えています。
シリアルコマンドを拡張してMML転送用のコマンドパケットを定義し、ペイロードにMMLを載せて、画面外のPCに接続したTWE-Lite DIPから送信しています。受信側では、ペイロードのMMLをEEPROMに書き込んで、すぐに再生を開始します。スリープ中は受信機がコマンドを受信しないので、受信動作が連続するメロディー再生中に書き換えを行います。

2014年12月20日土曜日

自転車ビーコンの改良版ファームウェアを作成

 ブレッドボード上で組んだ試作回路であれこれいじって、改造版のファームウェアが完成しました。
  • 親機からの無線パケットに乗せてMMLのメロディーデータを更新
  • モードビット配線無しに、Device Idでmode3,mode4,mode7が指定可能
  • 子機間欠モードでチャンネル変更に対応(u32ChMaskの末尾をデフォルトchに使用)

マニュアルが無いので使う人はいないと思いますが、回路図とソースコードは公開してあります。
  https://github.com/true-nature/App_BicycleFinder

 無線経由のメロディー更新は、ぜひとも実現したかった機能です。これで、新曲が出てもすぐに対応できます。

2014年12月18日木曜日

自転車ビーコン改造中

 自作の自転車ビーコンは、受信機側の電池を最後に交換してから3箇月経ちました。まだ動いています。

 近日中に、2個目を製作する予定です。2個目の製作と同時に、ファームウェアも以下のように改造します。

間欠モードをDevice Idで指定可能にする

現在は、標準アプリの仕様を継承してモードビットM1,M2,M3の結線で間欠モードを指定しています。間欠10秒モードでは3本すべてをGNDに落とす必要があり、SMD版の製作が多少難しくなっています。
 親機または中継器の場合は、インタラクティブモードでDevice Idを121または122に設定すると、結線無しにモードを変更できますが、子機にはこのような仕様はありません。このモード変更は、ファームウェアを少し改造するだけで子機にも応用できるので、全てのモードをDevice Idで指定できるようにします。

インタラクティブモードで設定したチャンネルを反映させる

現在は、子機間欠モードで使用するチャンネルは、ビルド時に指定したデフォルト値以外使用できません。この原因と思われる部分を見つけたので、対策してみます。

メロディデータを無線経由で変更可能にする

TWE-Liteには4kBのEEPROMがありますが、システムと設定値で少し使用しているだけで、ほとんどが未使用です。もったいないので、ここにMMLデータを置けるようにして、 ファームウェアを書き換えなくてもメロディーを変更できるようにします。

2014年11月10日月曜日

TWE-Liteで雨センサーを作ってみた

せっかく作った戸締まりチェッカー。これを雨センサーを組み合わせたら、窓の閉め忘れで室内びしょ濡れという事故が防げるんではないかと思い、雨センサーを自作しました。
 ニトムズの銅箔テープをカッターで切って、100円ショップのプラ版に1-2mmの間隔で貼り付ければ、センサー電極の完成です。このセンサーをTWE-Lite DIPのAI3とGNDの間に接続し、AI3(ADC2)を2.2MΩでVccにプルアップしました。
 屋外設置なので、電源はTWE-EH Solarと1Fの電気二重層コンデンサの組み合わせにしました。スタート時は充電量が0なのですが、まもなく雨が降るとの予報だったので、乾電池で電気二重層コンデンサを充電して、即運用開始です。

土曜日に製作して、日曜の未明から丸1日の電圧変化をモニターしました。左がそのグラフです。青は雨センサー、緑は電気二重層コンデンサーの電圧です。
 日曜の朝に小雨が降り始めると、すぐに電位が低下しました。この時は平面に放置していたのですが、雨粒がいつまでも留まると晴天時の回復が遅れるため、14時ころに手すり上の斜め設置に変更しました。設置変更の再に雨粒を拭いたので、一時的に電位が回復しています。
 この日曜日の天気は降ったりやんだりでしたが、21頃には雨が上がりました。しかし、雨センサーの電位は翌朝まで下がったままです。ヒーターを内蔵していないので、雨上がりの検出は苦手なようです。大容量の電源は無いし、雨上がりを検出する必要も無いので、この特性は改善する予定はありません。

 せっかく作った雨センサーですが、もうじき訪れる降雪期の事はまるで考えていません。雪の季節に窓を開け放つことは無いので、 寒い時期は片付けて、春になったら運用再開ということになると思います。