リモコンスケッチの例
- ファイル > スケッチ例 > Seeed Arduino IR > send を参考にしました。
- ボタン操作を加えました。
- ブザー鳴らすようにしました。
- 液晶画面に何か表示するようにするともっと良いと思います。
/* send.ino Example sketch for IRLib2
* Illustrates how to send a code.
*/
#include <IRLibSendBase.h> // First include the send base
//Now include only the protocols you wish to actually use.
//The lowest numbered protocol should be first but remainder
//can be any order.
#include <IRLib_P01_NEC.h>
#include <IRLib_P02_Sony.h>
#include <IRLibCombo.h> // After all protocols, include this
// All of the above automatically creates a universal sending
// class called "IRsend" containing only the protocols you want.
// Now declare an instance of that sender.
IRsend mySender;
void setup() {
pinMode(WIO_KEY_A, INPUT_PULLUP);
pinMode(WIO_KEY_B, INPUT_PULLUP);
pinMode(WIO_KEY_C, INPUT_PULLUP);
pinMode(WIO_5S_UP, INPUT_PULLUP);
pinMode(WIO_5S_DOWN, INPUT_PULLUP);
pinMode(WIO_5S_LEFT, INPUT_PULLUP);
pinMode(WIO_5S_RIGHT, INPUT_PULLUP);
pinMode(WIO_5S_PRESS, INPUT_PULLUP);
pinMode(WIO_BUZZER, OUTPUT);
}
void loop() {
if (digitalRead(WIO_KEY_A) == LOW) {
mySender.send(SONY, 0x750, 12); // Power ON
playBUZZER();
} else if (digitalRead(WIO_KEY_B) == LOW) {
mySender.send(SONY, 0xF50, 12); // Power OFF
playBUZZER();
} else if (digitalRead(WIO_KEY_C) == LOW) {
mySender.send(SONY, 0xA50, 12); // 入力切替
playBUZZER();
}
if (digitalRead(WIO_5S_UP) == LOW) {
mySender.send(SONY, 0x490, 12); // Volume Up
playBUZZER();
} else if (digitalRead(WIO_5S_DOWN) == LOW) {
mySender.send(SONY, 0xC90, 12); // volume Down
playBUZZER();
} else if (digitalRead(WIO_5S_LEFT) == LOW) {
mySender.send(SONY, 0x890, 12); // channel Down
playBUZZER();
} else if (digitalRead(WIO_5S_RIGHT) == LOW) {
mySender.send(SONY, 0x090, 12); // channel Up
playBUZZER();
} else if (digitalRead(WIO_5S_PRESS) == LOW) {
mySender.send(SONY, 0x290, 12); // Mute
playBUZZER();
}
}
void playBUZZER() {
analogWrite(WIO_BUZZER, 128);
delay(100);
analogWrite(WIO_BUZZER, 0);
delay(100);
}