別シリーズ『手習ひデジタル信号処理』記事にて、赤外線リモコン用の「バイナリシーケンス」(NECフォーマット)を生成するためのScilab関数を作製しました。そうなると「シーケンス」から元のビット列を復元する関数も作りて~。ついては実験用に実機波形も取得しておきたいデス。別シリーズで「元に戻る」ことを確認しろよ。
※「IoT何をいまさら」投稿順Indexはこちら
そういえばIR通信、このシリーズでやっていた
遥かな昔で忘却力の年寄はスッカリ忘れておったのですが、本シリーズでIR通信を実験した回があったのです。
Wio Terminalを送信側、Arduino Uno R3機を受信側としてIR通信を行っていたのです。Wio Terminalはボード上に赤外線LED搭載なので特に外付け部品要らず。プログラム次第で赤外線リモコンになります。Arduino Uno R3の方は何やら怪しいげなIRレシーバモジュールを外付けしてデコードしてました。
その時使用したIRレシーバモジュールを使えば、リモコン波形が取得できるんじゃね。
感度ピーク波長940nm 38kHz搬送波用のIRレシーバ
データシートが「付属」しており、そこにはDP838と型番が表記されています。諸元がしっかり記載されているものの、怪しいのはメーカ名がどこにも書かれていない、という点です。因みに部品の頭には「1838」と刻印?があります。
Vishay社にTSOP4838というIRトランシーバモジュールがあり結構人気物みたいです。想像するに、下3桁の「838」はこれへの「リスペクト」かと、知らんけど。なお、DP838の方はピーク感度の波長が940nmだと書かれてましたが、Vishay社製4838は950nmらしいデス。
データ取得に使用した回路
現物回路のシーケンスを取得するために使用したDUTが以下に。
IRレシーバモジュールに電源、グランドを接続し、出力信号をAnalog Discovery2のオシロで観察しているだけです。送信側は上記写真の下の方に一部見えているリモコン(NECフォーマット)を使用してみました。これもどこ製だか素性の知れぬもの。
取得した波形
取得した波形が以下に。上の写真のCH-ボタンを押したときに観察できた波形です。
定義の波形からするとハイ、ロー反転した波形が見えてるのね。オリジナルのNECフォーマット通り、カスタマコードは8ビット+その反転8ビット、データ部分も8ビット+その反転8ビットになっておるようです。
忘れずに上記波形をCSVファイルに落としておきました。後でScilabで読み取ってビット列復元する関数を作製しろよ、自分。