#include <IRremote.h>
int inches = 0;
int k = 0;
int RECV_PIN = 2;
IRrecv irrecv(RECV_PIN);
decode_results results;
int cm = 0;
long readUltrasonicDistance(int triggerPin, int echoPin)
{
pinMode(triggerPin, OUTPUT);
digitalWrite(triggerPin, LOW);
delayMicroseconds(5);
digitalWrite(triggerPin, HIGH);
delayMicroseconds(10);
digitalWrite(triggerPin, LOW);
pinMode(echoPin, INPUT);
return pulseIn(echoPin, HIGH);
}
void setup()
{
Serial.begin(9600);
irrecv.enableIRIn();
}
void loop()
{
if (irrecv.decode(&results)) {//irrecv.decode(&results) returns true if anything is recieved, and stores info in varible results
unsigned int value = results.value; //Get the value of results as an unsigned int, so we can use switch case
Serial.println(value);
switch (value) {
case 255:
cm = readUltrasonicDistance(12, 13) / 46;
inches = (cm / 2.54);
Serial.print(inches);
Serial.print("in, ");
Serial.print(cm);
Serial.println("cm");
delay(100);
break;
case 20655:
cm = readUltrasonicDistance(12, 13) / 46 * 1.01;
inches = (cm / 2.54);
Serial.print(inches);
Serial.print("in, ");
Serial.print(cm);
Serial.println("cm");
delay(100);
break;
}
//irrecv.resume();
}
}
Нужно чтобы кейс со значением 255 работал постоянно, но при этом другие кнопки на пульте также работали.