« USB出力付きリチウムイオンバッテリー (KBC-L2AS) | トップページ | パソコンで赤外線リモコン(2) »

パソコンで赤外線リモコン(1)

この前、パソコンからArduinoを使ってラジコン送信してロボザックをコントロールできるようにしたので、どうせなので、赤外線リモコンでもロボザックをコントロールできるようにしてみようと思いやってみました
Rz1basicscreensnapz001

まず、Arduinoの赤外線リモコンの為のプログラミングですが、検索して「Arduinoで学習リモコン」というページを参考させて頂きました

ロボザックの赤外線リモコンは、赤外線受信センサーも赤外線リモコンも第36号に付いてきます。その受信センサーを使って、Arduinoと接続しました。

黄色:8番ポート
赤色:5V PWR
黒色:GND

Dsc00028

Arduinoで学習リモコン」のページに受送信のプログラムがあります。これをそのまま使えばいいんですが、データ取得用と、データ送信用とにプログラムを2つに分けました。

-------------------------------------------------------------------

int ir_in = 8;

int last = 0;
unsigned long us = micros();

// セットアップ
void setup() {
  Serial.begin(57600);    // シリアル通信速度の設定
  pinMode(ir_in, INPUT);  // 入出力ピンの設定
}

void loop() {
  unsigned int val;
  unsigned int cnt = 0;
 
  // Wait for incoming IR signal
  while ((val = digitalRead(ir_in)) == last) {  // パルスが切り替わるまで待機
    if (++cnt >= 30000) {  // 30000回ループで信号が終了したとみなす
      if (cnt == 30000)  {
        Serial.print("¥n");
      }
      cnt = 30000;
    }
  }

  unsigned long us2 = micros();
  Serial.print((us2-us)/10, DEC);   // 赤外線のON/OFFが続いた時間を10us単位で送信
  Serial.print(" ");
  last = val;
  us = us2;
}

-------------------------------------------------------------------

  1. 上記ソースをArduinoに「Upload」
  2. 「Serial Monitor」を表示
    Arduinoscreensnapz005
  3. Baudrateを57600に設定(ソースと合わせる)
    Arduinoscreensnapz004
  4. リモコンのボタンを押すと、「Serial Monitor」上に数値が表示されます。この数値は、ソースのコメントにあるように、赤外線のON/OFFが続いた時間が10us単位で表示されることになります。

得られたデーターを整理する
生データは例えば、以下の様な数値になっています。
¥n323198 503 96 54 45 55 94 55 45 54 95 54 44 55 44 55 .....

で、最初の数字はデータを受信してない部分なので無視して、その次の数値からがデータになります。

ここで、以前、ロボザックの赤外線リモコンようのiアプリを作っているし、どんなデータが送られているのかは解析済みなんですよね

  • 5000µs:スタート
  • 500µs (L) 500µs (H):理論0
  • 1000µs (L) 500µs (H)理論
  • 50µs:ストップ

なんで、生データは、
503 96 54 45 55 94... (10us)
=5030 960 540 450 550 940... (1us)
=5000 1000/500 500/500 1000....
=スタート 理論1 理論0 理論1 理論0 ....

ってな感じになりますね

ということで、Arduinoで受信した32個のボタンの生データを整理してみました(※50は幅を合わせる為に050と書いてます)。
Miscreensnapz004

というところで、今日の所はここまで

Arduinoのプログラムの「Upload」ボタンは、「Download」という名称の方が正しいのではないのかな???ま、「Upload」の方がなんとなく理解しやすいからいいんだけど。。。

------------------------------------------

----------------
にほんブログ村 科学ブログ ロボットへ
にほんブログ村

|

« USB出力付きリチウムイオンバッテリー (KBC-L2AS) | トップページ | パソコンで赤外線リモコン(2) »

赤外線リモコン」カテゴリの記事

週刊 ロボザック」カテゴリの記事

Arduino / Processing」カテゴリの記事

コメント

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: パソコンで赤外線リモコン(1):

« USB出力付きリチウムイオンバッテリー (KBC-L2AS) | トップページ | パソコンで赤外線リモコン(2) »