2,000円以下で始める!Arduinoを使い赤外線パターンを解析する方法

 

前回紹介した、つまようじを使い隠し音声を鳴らす方法でも、全パターンの音声再生を試すことは可能ですが、TONGARISMではあくまで技術的に、シフトブレスから送信される赤外線パターンを解析します。

オシロスコープやロジックアナライザなどの機材があれば、時間を掛けずに簡単に解析することは可能です。ただし、これらの機材は高価なものであるため、技術力を以って極力お金を掛けずに解析する方法として、安価なArduino(アルデュイーノ)というワンボードマイコン(マイコンと入出力ピンを備えた1枚の基板)を使いました。

arduinoで赤外線解析

 

準備

使用機器


部品

  • Arduino(アルデュイーノ)

マイコンと入出力ピンを備えた基板です。写真はTONGARISMで使用したArduino Unoというモデルで、Amazonで3,240円で販売されています。海外から発送となる安価なモデルであれば、1,000円以下で販売されています。

  • 赤外線受信モジュール(PARA Light PL-IRM0101-3)

テレビのリモコン等で使用されている赤外線(周波数:38kHz)を受信するためのモジュールです。秋月電子通商では110円で販売されています。

  •  ブレッドボード

各種電子部品やジャンパーワイヤをボードの穴(ソケット)に差し込むだけで、はんだ付けをしなくても、手軽に電子回路を組むことの出来る基板です。秋月電子通商では、ジャンパーワイヤとセットで600円で販売されています。

  •  ジャンパーワイヤ

ソケット間をつなぐ電線で、直接ブレッドボードに差し込むことができます。

 

金額


必要な機材は、このように2,000円以下で揃えることが可能です。

機材名使用金額目安金額
合計3,950円1,710円
Arduino3,240円1,000円
赤外線受信モジュール110円110円
ブレッドボード+ジャンパーワイヤ600円600円

 

開発環境


  •  Arduino IDE

ArduinoIDE

Arduinoのソフトウェア開発環境です。Arduinoの公式サイトから誰でも簡単に入手することができます。このArduino IDEを使ってプログラムを作成し、Arduinoを動作させます。

 

赤外線パターンの解析

回路図


receiver_ブレッドボード

この回路図のようにブレットボードとジャンパーワイヤを使い、Arduinoと赤外線受信モジュールを接続します。今回の解析ではデジタル入出力ピンの2番ピンを使いました。赤外線受信モジュールが赤外線を受信した際に出力が変化するため、2番ピンの状態を監視することで赤外線パターンを解析することができます。

 

赤外線解析プログラム


赤外線受信モジュールで受信したパターンを確認するためのプログラムを作成しました。このプログラムでは、2番ピンの状態を監視し、その状態が変化する度に経過時間(μs)をコンマ区切りでArduino IDEのシリアルモニタ上に出力しています。

 

 

受信パターンの経過時間


赤外線解析プログラムを使い、シフトブレスから送信される赤外線を受信すると、シリアルモニタ上に経過時間が出力されました。

  • シフトスピード

6100, 556, 1532, 548, 1540, 544, 508, 1580, 1536, 552, 1536, 548, 1536, 552, 1536, 544, 1536, 552, 532, 1556, 1536, 552, 532, 1552, 532

  • シフトマックスフレア

6124, 504, 1584, 500, 1588, 528, 524, 1552, 1552, 540, 1572, 520, 1568, 508, 460, 1624, 1580, 504, 532, 1560, 1552, 532, 1576, 508, 564

 

波形解析


出力された経過時間を、HIGH/LOWの波形として整理しました。HIGHもしくはLOWになる時間の最小単位が約500μsとなっていたため、500μsを1フレームと定義しています。

波形

これらの波形を比べると、スタートパターンの先頭と思われる6,000μsのHIGHと500μsのLOWの後、2,000μs(4フレーム)を一区切りとして、

  • ①1,500μsのHIGHと500μsのLOW
  • ②500μsのHIGHと1,500μsのLOW

の2種類のパターンが出力されていることが分かりました。

また、スタートパターンの後の2,000μsをパターン種別と仮定して、残りの9つの区切りについて①を0、②を1としシフトカーパターンを2進数にすると、「シフトスピード:000001011」「シフトマックスフレア:000101001」と表すことができます。

更にこの2進数を10進数にすると、シフトカーの裏に記載されているシフトカー番号と一致しています!

名称2進数10進数
シフトスピード000001011011
シフトマックスフレア000101001041

このシフトカーパターンを変えることで、色々なシフトカーの音声を鳴らすことができそうです。

 

次回は…

 解析した波形を元に、今流行りのRaspberry Piを使ってシフトブレスなしで音声を鳴らします!

RaspberryPiで赤外線送信

One comment

匿名 にコメントする コメントをキャンセル

メールアドレスが公開されることはありません。