質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.40%
Arduino

Arduinoは、AVRマイコン、単純なI/O(入出力)ポートを備えた基板、C言語を元としたArduinoのプログラム言語と、それを実装した統合開発環境から構成されたシステムです。

Q&A

解決済

1回答

888閲覧

Arduino IRRemoteについて

raspypy

総合スコア247

Arduino

Arduinoは、AVRマイコン、単純なI/O(入出力)ポートを備えた基板、C言語を元としたArduinoのプログラム言語と、それを実装した統合開発環境から構成されたシステムです。

0グッド

0クリップ

投稿2019/03/13 20:49

##やりたいこと
Arduino IRremote Libraryを使用して、赤外線リモコンの受信と送信を行おうとしています。

受信はスケッチ例から「IRrecvDumpV2」のコードを利用して、次のデータを取得することができました。

リモコンをON/OFFさせたときのデータです
上の2つのデータがON
下の2つのデータがOFF のときに表示されました。

html

1IR code too long. Edit IRremoteInt.h and increase RAWBUF 2Timing[100]: 3 +3450, -1750 + 450, - 450 + 400, -1350 + 450, - 450 4 + 400, - 450 + 450, - 450 + 400, - 450 + 400, - 450 5 + 400, - 450 + 450, - 450 + 450, - 450 + 400, - 450 6 + 450, - 450 + 400, - 500 + 400, -1300 + 400, - 450 7 + 400, - 500 + 400, - 450 + 450, - 450 + 400, - 450 8 + 450, - 450 + 450, - 450 + 400, -1300 + 400, -1350 9 + 400, -1350 + 400, - 450 + 450, - 450 + 400, -1350 10 + 450, - 450 + 400, - 450 + 400, - 500 + 400, - 450 11 + 400, - 450 + 400, - 450 + 450, - 450 + 450, - 450 12 + 400, - 450 + 450, - 450 + 400, - 450 + 400, - 450 13 + 400, - 450 + 450, - 450 + 450, - 450 + 400, - 450 14 + 450, - 450 + 450, - 450 + 400, - 450 + 400, - 450 15 + 400, - 450 + 450, - 450 16unsigned int rawData[100] = {3450,1750, 450,450, 400,1350, 450,450, 400,450, 450,450, 400,450, 400,450, 400,450, 450,450, 450,450, 400,450, 450,450, 400,500, 400,1300, 400,450, 400,500, 400,450, 450,450, 400,450, 450,450, 450,450, 400,1300, 400,1350, 400,1350, 400,450, 450,450, 400,1350, 450,450, 400,450, 400,500, 400,450, 400,450, 400,450, 450,450, 450,450, 400,450, 450,450, 400,450, 400,450, 400,450, 450,450, 450,450, 400,450, 450,450, 450,450, 400,450, 400,450, 400,450, 450,450 }; // UNKNOWN 68D13F41 17 18IR code too long. Edit IRremoteInt.h and increase RAWBUF 19Timing[100]: 20 + 450, - 450 + 400, -1300 + 400, - 500 + 400, -1300 21 + 450, - 450 + 400, - 450 + 450, - 450 + 450, - 450 22 + 400, - 450 + 400, - 500 + 400, - 450 + 400, - 450 23 + 400, - 450 + 450, -1350 + 400, -1350 + 400, -1350 24 + 400, - 500 + 400, - 450 + 400, - 450 + 400, - 450 25 + 450, - 450 + 400, - 450 + 450, - 450 + 400, - 500 26 + 400, - 450 + 400, -1350 + 400, -1300 + 450, -1300 27 + 450, - 450 + 400, - 450 + 450, - 450 + 450, - 450 28 + 400, - 450 + 400, - 500 + 400, - 450 + 400, - 450 29 + 400, - 450 + 450, - 450 + 450, - 450 + 400, - 450 30 + 450, - 450 + 400, - 450 + 400, - 450 + 400, - 450 31 + 450, - 450 + 450, -1300 + 450, -1300 + 450, - 450 32 + 450, - 450 + 400, - 450 33unsigned int rawData[100] = {450,450, 400,1300, 400,500, 400,1300, 450,450, 400,450, 450,450, 450,450, 400,450, 400,500, 400,450, 400,450, 400,450, 450,1350, 400,1350, 400,1350, 400,500, 400,450, 400,450, 400,450, 450,450, 400,450, 450,450, 400,500, 400,450, 400,1350, 400,1300, 450,1300, 450,450, 400,450, 450,450, 450,450, 400,450, 400,500, 400,450, 400,450, 400,450, 450,450, 450,450, 400,450, 450,450, 400,450, 400,450, 400,450, 450,450, 450,1300, 450,1300, 450,450, 450,450, 400,450 }; // UNKNOWN A293B71 34 35IR code too long. Edit IRremoteInt.h and increase RAWBUF 36Timing[100]: 37 +3450, -1750 + 450, - 450 + 400, -1350 + 400, - 500 38 + 400, - 450 + 450, - 450 + 400, - 450 + 400, - 450 39 + 400, - 450 + 450, - 450 + 400, - 500 + 400, - 450 40 + 450, - 450 + 400, - 500 + 400, -1300 + 400, - 450 41 + 400, - 450 + 450, - 450 + 450, - 450 + 400, - 450 42 + 450, - 450 + 450, - 450 + 400, -1300 + 400, -1350 43 + 400, -1350 + 400, - 450 + 450, - 450 + 400, -1350 44 + 450, - 450 + 400, - 450 + 400, - 500 + 400, - 450 45 + 400, - 450 + 400, - 450 + 450, - 450 + 450, - 450 46 + 400, - 450 + 450, - 450 + 400, - 450 + 400, - 450 47 + 400, - 450 + 450, - 450 + 450, - 450 + 400, - 450 48 + 450, - 450 + 450, - 450 + 400, - 450 + 400, - 450 49 + 400, - 450 + 450, - 450 50unsigned int rawData[100] = {3450,1750, 450,450, 400,1350, 400,500, 400,450, 450,450, 400,450, 400,450, 400,450, 450,450, 400,500, 400,450, 450,450, 400,500, 400,1300, 400,450, 400,450, 450,450, 450,450, 400,450, 450,450, 450,450, 400,1300, 400,1350, 400,1350, 400,450, 450,450, 400,1350, 450,450, 400,450, 400,500, 400,450, 400,450, 400,450, 450,450, 450,450, 400,450, 450,450, 400,450, 400,450, 400,450, 450,450, 450,450, 400,450, 450,450, 450,450, 400,450, 400,450, 400,450, 450,450 }; // UNKNOWN 68D13F41 51 52IR code too long. Edit IRremoteInt.h and increase RAWBUF 53Timing[100]: 54 + 400, - 450 + 400, -1350 + 400, - 450 + 400, -1350 55 + 400, - 450 + 450, - 450 + 400, - 450 + 450, - 450 56 + 450, - 450 + 400, - 450 + 400, - 450 + 400, - 450 57 + 450, - 450 + 400, -1350 + 450, -1300 + 450, -1300 58 + 450, - 450 + 400, - 450 + 400, - 450 + 400, - 450 59 + 450, - 450 + 450, - 450 + 400, - 450 + 450, - 450 60 + 450, - 450 + 400, -1300 + 400, -1350 + 400, -1350 61 + 400, - 450 + 450, - 450 + 400, - 450 + 450, - 450 62 + 450, - 450 + 400, - 450 + 400, - 450 + 400, - 450 63 + 450, - 450 + 400, - 450 + 450, - 450 + 450, - 450 64 + 400, - 450 + 450, - 450 + 400, - 450 + 400, - 450 65 + 400, - 450 + 450, -1350 + 400, -1350 + 400, - 450 66 + 450, - 450 + 400, - 450 67unsigned int rawData[100] = {400,450, 400,1350, 400,450, 400,1350, 400,450, 450,450, 400,450, 450,450, 450,450, 400,450, 400,450, 400,450, 450,450, 400,1350, 450,1300, 450,1300, 450,450, 400,450, 400,450, 400,450, 450,450, 450,450, 400,450, 450,450, 450,450, 400,1300, 400,1350, 400,1350, 400,450, 450,450, 400,450, 450,450, 450,450, 400,450, 400,450, 400,450, 450,450, 400,450, 450,450, 450,450, 400,450, 450,450, 400,450, 400,450, 400,450, 450,1350, 400,1350, 400,450, 450,450, 400,450 }; // UNKNOWN A293B71 68

##試したこと
上のデータから、ONデータを

html

1ONData[100] = {3450,1750, 450,450, 400,1350, 450,450, 400,450, 450,450, 400,450, 400,450, 400,450, 450,450, 450,450, 400,450, 450,450, 400,500, 400,1300, 400,450, 400,500, 400,450, 450,450, 400,450, 450,450, 450,450, 400,1300, 400,1350, 400,1350, 400,450, 450,450, 400,1350, 450,450, 400,450, 400,500, 400,450, 400,450, 400,450, 450,450, 450,450, 400,450, 450,450, 400,450, 400,450, 400,450, 450,450, 450,450, 400,450, 450,450, 450,450, 400,450, 400,450, 400,450, 450,450 };

OFFデータを

html

1ONData[100] = {3450,1750, 450,450, 400,1350, 400,500, 400,450, 450,450, 400,450, 400,450, 400,450, 450,450, 400,500, 400,450, 450,450, 400,500, 400,1300, 400,450, 400,450, 450,450, 450,450, 400,450, 450,450, 450,450, 400,1300, 400,1350, 400,1350, 400,450, 450,450, 400,1350, 450,450, 400,450, 400,500, 400,450, 400,450, 400,450, 450,450, 450,450, 400,450, 450,450, 400,450, 400,450, 400,450, 450,450, 450,450, 400,450, 450,450, 450,450, 400,450, 400,450, 400,450, 450,450 };

と設定して、サンプルスケッチIRSendoRawDemoで送信してみましたが、エアコンがまったく反応してくれません。
ON/OFFそれぞれのデータが間違えているのでしょうか。

データを取得したときの、次のコメントが気になっていますが、どういうことなのでしょうか?
"IR code too long. Edit IRremoteInt.h and increase RAWBUF"

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

IR code too long. Edit IRremoteInt.h and increase RAWBUF
google訳
IRコードが長すぎます。 IRremoteInt.hを編集してRAWBUFを大きくしてください

IRremoteint.h ヘッダの

#define RAWBUF 101 // Maximum length of raw duration buffer

を示します

IRremote がエアコンのような長いコードに対応していない為と思われます

下記のページのスケッチを試してみては?
https://hawksnowlog.blogspot.com/2017/01/control-infrared-with-arduino.html

投稿2019/03/13 22:35

koujikuu

総合スコア401

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.40%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問