パソコンで赤外線リモコン(2)
「パソコンで赤外線リモコン(1)」で取得したリモコンのデータを送信するためのProcessingのアプリ(図)を作りました
赤外線データの送信用のArduinoのプログラム:受信の時と同じく、Okiraku Programmingさんの「Arduinoで学習リモコン」のページにある受送信のプログラムを、送信部分だけ切り抜いて、少しモディファイしたものを使いました。
下のダウンロードできるファイルの中の「InfraRedSender」です。
- Processingとのやり取りに邪魔になるので、Serial.printは、すべてコメントアウト(もしくは、削除)
- void sendSignal()の中を少し改良?
void sendSignal() {
for (int cnt = 0; cnt < 512; cnt++) {
unsigned long len = data[cnt]*10; // dataは10us単位でON/OFF時間を記録している
if (len == 0) break; // 0なら終端。
int hl=1-(cnt&1); //Mofified
unsigned long us=len+micros(); //Mofified
do {
digitalWrite(ir_out, hl);// cntが偶数なら赤外線ON、奇数なら0のOFFのまま
delayMicroseconds(8); // キャリア周波数38kHzでON/OFFするよう時間調整
digitalWrite(ir_out, 0);
delayMicroseconds(7);
} while (long(us-micros()) > 0); // 送信時間に達するまでループ
}
}
赤外線LED
赤外線LEDは、以前、秋月から買って持ってたものを使いました。100個入りで以下のスペックです。
- VF:1.25V(@20mA)
- ピーク波長:940nm
- 半減角:15°
- 推奨電流:20mA
1.25V@20mAということなんで、とりあえず3つ繋げました。
で、半減角が15度。資料によると図のような感じだそうで、
角度を変えると、ほとんど光って見えません。送信時は、赤外線LEDをちゃんと受信機の方に向けないと、うまくデータが届かないようです。
赤外線データの送信用のProcessingのプログラム:下のダウンロードできるファイルの中の「RZ1IRRemocon」というのを作りました
InfraRedSenderは、最初がスペース、最後が0+スペースのデータを受け取って、LEDを点減させる仕組みになっています。前回得たデータを、以下のようにStringのArrayにして、
String[] data={
" ",
" 500 100 50 50 50 100 50 50 ...略... 50 50 0 ",
" 500 100 50 50 50 100 50 50 ...略... 100 50 0 ",
" 500 100 50 50 50 100 50 50 ...略... 100 50 0 ",
...略...
として、クリックされたボタンの番号に合わせて、
Serial.write(data[btn]);
する仕組みです。
roboBASICのプログラム:ロボザックの赤外線リモコン用のプログラムをMR-C3024に転送しておけば、実際にロボザックでテストできるんですが、サクサクとテストできないので、受信した値を第一変数に入れるだけのプログラム(Infrared.bas)を作って、RZ1Basicのコントローラーデータ取得で、確認しました
- 取得データは第一変数である「SRAM 0x0140」にセットして「取得開始」させます。
- RZ1IRRemoconを起動して、ボタンをクリックすれば、サクサクと、受信状況が確認できます。
MiconoIRDemo:サンプルコードをダウンロードできるようにしました
各自の責任においてご利用下さい。
【ダウンロード 】
内容:
- Arduino
- InfraRedReceiver:リモコンからデータを取得する為のArduinoのコード
- InfraRedSender:赤外線LEDを点減させて、データを送信する為のArduinoのコード。
- Processing
- RZ1IRRemocon:ロボザックの赤外線リモコンのインターフェイスを持つProcessingのコード。Arduinoには、InfraRedSenderのコードを入れておく。
- roboBASIC
- Infrared.bas:受信テストの為のコード。第一変数に受信した値が入る様になっている。
- References
- 関連資料のリンク
------------------------------------------
- パソコンで赤外線リモコン(2)
- パソコンで赤外線リモコン(1)
----------------
にほんブログ村
| 固定リンク
「赤外線リモコン」カテゴリの記事
- RXコントローラーを使ってみるぞ!(5)赤外線リモコンについて3(2012.02.19)
- RXコントローラーを使ってみるぞ!(4)赤外線リモコンについて2(2012.02.14)
- RXコントローラーを使ってみるぞ!(3)赤外線リモコンについて(2012.02.11)
- 「SoftModemインターフェースボード2」を買いました(2011.05.29)
- SoftModemインターフェースボード で遊んでみる(3)(2011.01.10)
「週刊 ロボザック」カテゴリの記事
- 関東ロボット練習会#83に行ってきました(2013.05.06)
- 関東ロボット練習会#83に行く事にした(2013.04.17)
- 週刊 ロボザック、ロボゼロ、ロビ の冊子検索(2012.12.07)
- RBT-001を繋げてみる(20):bt_sample_XeroZak 0.1.0 公開(2011.08.30)
- USB-PS2コントローラでRZ1Basicのシミュレーションをしてみた(2011.08.01)
「Arduino / Processing」カテゴリの記事
- Intel Galileo 開発ボード(1)入手(2014.02.24)
- FirmaSBBLE(浜サブレー) 公開(2013.12.30)
- SoftModemインターフェースボード で遊んでみる(5)(2011.10.13)
- SoftModemインターフェースボード で遊んでみる(4)(2011.10.13)
- SoftModemインターフェースボード で遊んでみる(6)(2011.10.21)
この記事へのコメントは終了しました。
コメント