質問: 11; void setup() { Serial.begin(9800); //モニターに出力するための設定 pinMode(ir,INPUT); //2ピンに接続した赤外線センサ pinMode(A,OUTPUT); //3ピンに接続したLED pinMode(B,OUTPUT); pinMode(C,OUTPUT); } void loop() { if(digitalRead(ir)==8F71FE0){ ここがダメでした digitalWrite(A,HIGH); delay(80); }else{ digitalWrite(A,LOW); } } ``` 8F71FE0というのでひかるLEDを決めて光らせたいです。 うまくいったらこれを3つつけてできるのか試したいです。
回答: このプログラムはIRremoteの必要なとこを抜き出して作ったものです。 include ==================== int recvPin = 7; IRrecv irrecv(recvPin); void setup() { pinMode(13, OUTPUT); Serial.begin(9600); irrecv.enableIRIn(); } void ircode (decode_results *results) { Serial.print(results->value, HEX); } void dumpInfo (decode_results *results) { if (results->overflow) { Serial.println("IR code too long. Edit IRremoteInt.h and increase RAWLEN"); return; } Serial.print(results->value); if (results->value == 150413280) { //results->valueに赤外線リモコンから受け取ったそれ digitalWrite(13, HIGH); //ぞれのデータが入ってるので(results->value == Serial.print("光ったよーー"); //150413280)をいじってやるとうまくいきます。 delay(100); digitalWrite(13, LOW); } if (results->value == 150413025) { digitalWrite(12, HIGH); Serial.print("光ったよーー2"); delay(100); digitalWrite(12, LOW); } } void loop() { decode_results results; if (irrecv.decode(&results)) { // Grab an IR code dumpInfo(&results); // Output the results Serial.println(""); // Blank line between entries irrecv.resume(); // Prepare for the next value } } 結果 150413280光ったよーー 4294967295 150413280光ったよーー 150413025光ったよーー2 150413280光ったよーー 4294967295 150413280光ったよーー 150413025光ったよーー2 こんな感じでできました。