В последнем коде на pastebin попробуй заменить switch (irrecv.decodedIRData.decodedRawData) { на tmp = irrecv.decodedIRData.decodedRawData; switch (tmp) {
понял, есть ли тогда способ убрать это прерывание? (чтобы оно в каком-то фрагменте мейна не возникало, а откладывалось в очередь) или с этим датчиком не получится так