IoT何をいまさら(123) 38kHz IR receiver,赤外リモコンの波形を取得

Joseph Halfmoon

別シリーズ『手習ひデジタル信号処理』記事にて、赤外線リモコン用の「バイナリシーケンス」(NECフォーマット)を生成するためのScilab関数を作製しました。そうなると「シーケンス」から元のビット列を復元する関数も作りて~。ついては実験用に実機波形も取得しておきたいデス。別シリーズで「元に戻る」ことを確認しろよ。

※「IoT何をいまさら」投稿順Indexはこちら

そういえばIR通信、このシリーズでやっていた

遥かな昔で忘却力の年寄はスッカリ忘れておったのですが、本シリーズでIR通信を実験した回があったのです。

IoT何をいまさら(65) WioからUnoへ、IR通信

Wio Terminalを送信側、Arduino Uno R3機を受信側としてIR通信を行っていたのです。Wio Terminalはボード上に赤外線LED搭載なので特に外付け部品要らず。プログラム次第で赤外線リモコンになります。Arduino Uno R3の方は何やら怪しいげなIRレシーバモジュールを外付けしてデコードしてました。

その時使用したIRレシーバモジュールを使えば、リモコン波形が取得できるんじゃね。

感度ピーク波長940nm 38kHz搬送波用のIRレシーバ

今回も使用のレシーバモジュールの「ご近影」が以下に。DP838

データシートが「付属」しており、そこにはDP838と型番が表記されています。諸元がしっかり記載されているものの、怪しいのはメーカ名がどこにも書かれていない、という点です。因みに部品の頭には「1838」と刻印?があります。

Vishay社にTSOP4838というIRトランシーバモジュールがあり結構人気物みたいです。想像するに、下3桁の「838」はこれへの「リスペクト」かと、知らんけど。なお、DP838の方はピーク感度の波長が940nmだと書かれてましたが、Vishay社製4838は950nmらしいデス。

データ取得に使用した回路

現物回路のシーケンスを取得するために使用したDUTが以下に。IR_DUT

IRレシーバモジュールに電源、グランドを接続し、出力信号をAnalog Discovery2のオシロで観察しているだけです。送信側は上記写真の下の方に一部見えているリモコン(NECフォーマット)を使用してみました。これもどこ製だか素性の知れぬもの。

取得した波形

取得した波形が以下に。上の写真のCH-ボタンを押したときに観察できた波形です。NEC_CHM

上記波形を「手動」にてデコードしてみたものが以下にNEC_CHM_DEC

定義の波形からするとハイ、ロー反転した波形が見えてるのね。オリジナルのNECフォーマット通り、カスタマコードは8ビット+その反転8ビット、データ部分も8ビット+その反転8ビットになっておるようです。

忘れずに上記波形をCSVファイルに落としておきました。後でScilabで読み取ってビット列復元する関数を作製しろよ、自分。

IoT何をいまさら(122) 泥縄で思い出す。インタプリタもどきの文法をEBNF化 へ戻る