ここから本文です

arduino で赤外線リモコンを作ろうと思い、 手始めに、赤外線LEDと赤外線受信モジ...

sk_********さん

2019/3/2018:32:25

arduino で赤外線リモコンを作ろうと思い、
手始めに、赤外線LEDと赤外線受信モジュールを使って

赤外線をモジュールが受信したらシリアルでメッセージを出力し、ledを光らせるというスケッチを組みました。スケッチは下の通りです。
結果、このスケッチでは赤外線ledが出した赤外線をうまく受信することはできませんでした。
ちなみに市販のリモコンを使用した際はうまく動作しました。
なお、iphoneのインカメで赤外線ledの光り方を見てみても、市販のリモコンとの大差はありませんでした。
どのような点を改善したら良いでしょうか。
赤外線ledに光拡散キャップをつけることは検討済みですが、
他にソフト面、ハード面でどのようなことを改善すると良いでしょうか?

送信側のスケッチ
unsigned long Time = 0;
int state = 1;
const int LEDpin = 2;

void pulseMaker(int micro){
digitalWrite(LEDpin,HIGH);
delayMicroseconds(micro);
digitalWrite(LEDpin,LOW);
delayMicroseconds(micro);

}




void setup() {
pinMode(LEDpin,OUTPUT);


}

void loop() {
pulseMaker(100);
}





受信側のスケッチ
int pulseType = 0;



void setup (){
Serial.begin(9600);
pinMode(2,OUTPUT);
pinMode(3,INPUT);
}


void loop(){
if (digitalRead(3) == LOW){
Serial.println("wave is catched");
digitalWrite(2,HIGH);
}else{
digitalWrite(2,LOW);
}

}

閲覧数:
26
回答数:
2
お礼:
50枚

違反報告

ベストアンサーに選ばれた回答

mt_********さん

2019/3/2018:39:46

送信側のLEDは38kHzで点滅させないと受信モジュールに蹴られますよ。
自然光と見分けるための仕様です。
『キャリア周波数』で検索してみてください。

ベストアンサー以外の回答

1〜1件/1件中

tr_********さん

2019/3/2018:55:24

>>結果、このスケッチでは赤外線ledが出した赤外線をうまく受信することはできませんでした。

先に解答している人の指摘しているように受信モジュールは標準的には38kHzで点滅している赤外線が来ているかどうかでHigh,Lowを決めている。

一方でお前さんのかいたスケッチの中のpulseMaker(100)ではせいぜい5kHzでしか点滅しないのだから受信モジュールは反応しないのは当たり前です。

>>なお、iphoneのインカメで赤外線ledの光り方を見てみても、市販のリモコンとの大差はありませんでした。

iphoneのインカメで赤外線ledの光り方を目で見ているからわからないだけで電子回路的に明らかに周波数が違うのだから大差は大有りですよ。

>>赤外線ledに光拡散キャップをつけることは検討済みですが、

拡散キャップをつけると何が改善されると思うのかしりませんが、受信モジュールが反応しない周波数で送信側を光らせているのが問題なのだから拡散キャップをつけることは何の解決にもなりません。

>>他にソフト面、ハード面でどのようなことを改善すると良いでしょうか?

せめて38kHzに近づけられるようpulseMaker()で指定する数値を今の100ではなく13や12くらいにしておいたらまだ反応する可能性はある。

あわせて知りたい

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる