Arduinoで赤外線リモコン 拡張! その1
別の部屋にあるAVアンプ(赤外リモコン)を制御する!
リモコン押す
⬇️
Arduino1 赤外線受信 & データ送信
⬇︎
ワイヤー
⬇︎
Arduino2 データ受信 & 赤外線送信
⬇︎
別室のアンプが赤外線を受信(音量変更)
参考サイト
まずはIRセンサーが生きてるか確認。
で、GitHubからDL!お世話になりました!
http://arakaze.ready.jp/archives/4245
http://arakaze.ready.jp/archives/4245
==========-
受信を確認しながら、送信をパルスで送りつづける
なんてのは普通のLOOPではできない!
ということで、割り込み処理に挑戦だ!
割り込み処理で受信と送信をリアルタイムに同時に
http://play-arduino.seesaa.net/article/422913405.html
プログラムをなんどもなんども確認して、
また、受信と送信を分けてネットのスケッチを参考にして
http://4009.jp/post/2016-08-23-summer/
ここの、受信センサーは受けるとLOW、常時はHIGHだとは気づかなkッタ><;
センサーとLEDを同じHIGHでやってはだめだッタ
http://310web.ddo.jp/led_kairo/pic_kairo/e_51_sekigai/index.html
が、だめだ。
これたぶんんLEDの出力が弱いせいだ
https://www.miniinthebox.com/ja/p/38khz-arduino-compatible-ir-infrared-transmitter-module_p903311.html?prm=2.18.104.0
正直微かにしか光っていない
強いのを買おう
で結局作ったのはこれ
//http://4009.jp/post/2016-08-23-summer/
//
volatile int state = 1; // 赤外線センサの入力値格納変数割り込み用の宣言
const int OUT_PIN = 13; //赤外線出力のピン設定
void setup()
{
//赤外線出力のPIN設定
pinMode(OUT_PIN, OUTPUT);
//赤外線センサが反応している間ずっと割り込み設定
attachInterrupt(0, ir, LOW);
}
void loop()
{
// 赤外線センサがHIGHなら実行し続ける=赤外線発し続ける
if (state == HIGH) {
state = LOW;
digitalWrite(OUT_PIN, HIGH);
delayMicroseconds(8); //26μsのデューディー比3ぶんの1だけHIGH
digitalWrite(OUT_PIN, LOW);
delayMicroseconds(18);
}
}
//割り込み処理 関数
void ir(){
state = HIGH;
delayMicroseconds(26);
}
=============
いやぁ
電子工作のブラウザシミュレーション使うか
http://d.hatena.ne.jp/nowokay/20171106
あー、色々調べると
赤外線LEDと抵抗、トランジスタを組み合わせないといけない
そしてLEDを明るくするには流す電流を増やすだけ、なるほど。
じゃあArduinoのモジュール赤外線LEDの方が良さそう。
-------------------
ということで、秋葉原の電子部品屋さんへ・・・
一応50mAの赤外線LED購入(今の赤外線LEDはmA不明)。
ただ、店員さん曰く「リモコン用で売ってる赤外線LEDなら強度不足より、プログラムを疑う方が良いと思います」、なるほどー!!!!!
というわけで、モジュール(ハード)か、赤外線送信プログラム、赤外線受信プログラム、どこがおかしいかを順番に確認することに。
で、1ヶ月かけてようやく Arduinoで赤外線送信 -> アンプで受信(音量変化)ができた!
以下ワークフロー。
【備忘録】キーワード
・やっぱりライブラリ IRremote は優秀
・IRrecvDumpV2で受信。リモコンから受信してシリアルモニターに表示①
・シリアルモニターでRawDataをコピー②
・IRsendRawDemoで送信。上の信号をペースト③
→赤外線送信でアンプが反応!!(感動)
いやぁ
電子工作のブラウザシミュレーション使うか
http://d.hatena.ne.jp/nowokay/20171106
あー、色々調べると
赤外線LEDと抵抗、トランジスタを組み合わせないといけない
そしてLEDを明るくするには流す電流を増やすだけ、なるほど。
じゃあArduinoのモジュール赤外線LEDの方が良さそう。
-------------------
ということで、秋葉原の電子部品屋さんへ・・・
一応50mAの赤外線LED購入(今の赤外線LEDはmA不明)。
ただ、店員さん曰く「リモコン用で売ってる赤外線LEDなら強度不足より、プログラムを疑う方が良いと思います」、なるほどー!!!!!
というわけで、モジュール(ハード)か、赤外線送信プログラム、赤外線受信プログラム、どこがおかしいかを順番に確認することに。
で、1ヶ月かけてようやく Arduinoで赤外線送信 -> アンプで受信(音量変化)ができた!
以下ワークフロー。
・やっぱりライブラリ IRremote は優秀
・IRrecvDumpV2で受信。リモコンから受信してシリアルモニターに表示①
・シリアルモニターでRawDataをコピー②
・IRsendRawDemoで送信。上の信号をペースト③
→赤外線送信でアンプが反応!!(感動)
よしよし!
ハード部分に問題はなかった。
あとは、今2つのスケッチでやったことを
1つのスケッチにまとめ、1台のArduinoで実現する。
続きはまた今度・・・ふぅ
0 コメント:
コメントを投稿