思い立ったら組み込みの里で実験しよう

赤外線リモコン開発に挑戦中

日曜日にはバイトがないというN君は、思い立って土曜日に組み込みの里に連絡を入れて、作業をしたい旨を伝えてきた。赤外線リモコンの開発をしたいということを伝えて使いたい設備はオシロだと伝えていた。

日曜の来訪に備えて、たぶん使うことになるロジックアナライザ(ロジアナと略す)を使えるようにまずは、使用ソフトをインストールしていたマシンのWindows更新を進めておき、また必要なロジアナのドライバーも更新してすぐに使えるようにしておいた。

使うはずの赤外線受光部と赤外線LEDも用意しておいた。

昼過ぎにやってきたN君だったが、オシロとロジアナを使えるようにしてみせて、まずはざっくり波形をアナログのオシロで見て確認してからサンプリング時間などの設定をするように伝えてロジアナで実際に見てもらった。トリガのかけ方と表示範囲の設定や取り込みメモリ容量の設定などを伝えたのだが、実際には使い方を次々と発掘してCSV にデータを吸い上げて解析を進めていたようだった。やるねぇ高専生・・・。

現在は、アパート生活をしている専攻科生のN君だが、部屋のインフラとしてスイッチなどが無くてリモコンだらけなのだという。これを解決するソリューションとしてArduinoで学習リモコンを作ってカスタム仕様のスイッチを付けたいというのが彼の発想だったらしい。

持ってきたリモコンのうち、一つはニトリの掃除ロボットのリモコンでこれだけは、赤外線ではなくて2.4Gの無線制御だった。これについてはいろいろと調べていたようだが結局スタートキーだけをハードハックしてArduinoからスタートが制御できるようにするというのが彼の判断だった。

ニトリのリモコンの開封が一つのハードルだつたがなんとか達成して、里のワイヤストリッパーも堪能してもらい分解に必要な手業としての低温半田による組成変性で半田を溶かすということも体験理解してもらって分解に成功してリューターも使ってもらい線の引き出しに成功した。

赤外線の信号の動作確認がロジアナで取れるようになったので、まずは部品選定を進めなければならないスイッチハックの制御について実験をしていたようだ。彼の理解は、フォトカプラだったが実際にスペックを確認して無理そうだと理解したようだ。提案したのはトランジスタ、FET、最後はリレーだった。2SC1815と2N7000と3Vのリレーだった。実際にはFETはほとんど学んだだけで使ったことはないらしい。実際に馬力をあげて次々と確認していき、結局リレーに落ち着いたらしい。

とりあえず、こうした部品がすぐに手当て出来るのも、里のオープンラボの所以である。ホームセンターや秋葉に行かずともそろって実験が出来るのだ。

アイデアと腕さえあれば、彼のように次々と挑戦して新たな道具と対峙してキャッチアップして自分の思索を深めていくことが出来ますよ。

彼のデバッグは、まだ続くようです。里で見かけることがあれば声援してあげてください。

(Solved)怪しい電子部品 DS18B20

スペック割れの嫌疑をかけられていた中華市場のDS18B20ですが、問題解決いたしました。
結論は、使い方のスペック割れで1Wireのスペックを満たしていないソフトウェアで利用していたことが判明しました。オリジナルのソフトウェアではリセットパルスが333uSで480uSの規格を割っていました。この問題は、おそらくシステムクロックの動作速度変更を行った段階で、1Wireのタイミング修正を行わなかったことに起因していると思われます。システムクロックの周波数からソフトウェアタイミングが自動的に算定されるようなdefineを指定することで解決されるはずですが、組み込み案件では、こうした問題で実機確認で終わりがちなので注意が必要ですね。
2016-05-07 (1)

あいにくと8952(8051)のコンパイラでフリーで使えるものにはコードサイズの生成制限などがあり、とりあえず逆アセンブルしてHEXファイルからパッチすることにしました。

当該の1WireのバスラインはAT89S52のPort1のビット0を使っているので書かれているMCUかからイメージファイルをHEX形式で吸い出して、それからD52.EXEでリバースアセンブルして二箇所の修正ポイントを割り出して、リセットパルスとタイミングパルスのコードをバイナリで修正しました。結果は解決となりました。ただしくロジアナも解釈メッセージをつけて、デバイスが応答しているのも確認とれるようになりました。
2016-05-07 (2)