教えていただきたいこと
赤外線の送信方法は昨日同サイトで教えていただき理解したのですが、受信する際のスケッチがどうしてもわかりません。
Yahoo!知恵袋の情報を参考にIRremote同梱のIRrecvDemoを使用し、赤外線を受信することはできましたが、それから送信することができませんでした。
知識不足で不確かな説明、稚拙なスケッチになっておりますが、何卒ご享受ください。
小さなことからでもお力添えをいただけると幸いです。
###概観
リモコンA → 赤外線レシーバで受信 → Arduino → 赤外線ledで信号(リモコンB)を送信 → 受信
環境
Windows 10 Pro
Arduino 1.8.12
Arduino MEGA 2560
IRrecvDemoを参考にしたスケッチ
IRrecvDemo
1 2#include <IRremote.h> 3 4IRsend irsend; 5 6int RECV_PIN = 11; 7 8IRrecv irrecv(RECV_PIN); 9 10decode_results results; 11 12void setup() 13{ 14 Serial.begin(9600); 15 Serial.println("Enabling IRin"); 16 irrecv.enableIRIn(); 17 Serial.println("Enabled IRin"); 18 pinMode (led ,OUTPUT); 19} 20 21void loop() { 22 if (irrecv.decode(&results)) { 23 Serial.println(results.value, HEX); 24 if (results.value == 99788182){ //左のコードはこのスケッチをマイコンにアップしてシリアル通信で得たリモコンAの赤外線信号です。 25 26// これより下のスケッチはIRremote同梱のIRsendRawDemoからそのまま引用しました // 27 28 int khz = 38; 29 unsigned int irSignal[] = {6000,2950, 600,500, 600,1600, 600,550, 550,550, 550,550, 600,500, 600,500, 600,500, 600,500, 600,550, 550,550, 550,1650, 600,500, 600,500, 600,500, 600,550, 550,550, 550,550, 550,550, 600,500, 600,500, 600,500, 600,500, 600,1650, 550,550, 550,1650, 600,1600, 600,550, 550,1650, 600,1600, 600,500, 600,1650, 550,550, 600,1650, 550,1650, 600,500, 600,1600, 600,1650, 550,550, 600}; //IRremote 同梱のIRrecvDumpV2で得たリモコンBの赤外線信号のraw信号です。 30 irsend.sendRaw(irSignal, sizeof(irSignal) / sizeof(irSignal[0]), khz); 31 32 delay(5000); 33 }else { 34 delay (1000); 35 } 36 } 37 delay(100); 38}
###補足
LEDや赤外線レシーバーの問題であることを疑い、それぞれテストを行いましたが、信号を読み取ることができたので問題がある可能性は低いと考えております。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/12 03:58
2020/05/12 05:24
2020/05/12 06:12
2020/05/12 07:30
2020/05/12 15:42 編集
2020/05/13 09:05