Alex753
Здесь я подсказать не в силах, с SPI мало имел дело.
Вот скетч который у меня работает, задержка на отключения, после выхода из режима AV 3 секунды, может пригодится.
Код:
#include <Wire.h> 
#define ADDR 72 //адрес устройства 

int AV = 13; // управляющий пин

unsigned long AVtime=0;
int AVflag=false;
 
void setup()  
{
Wire.begin(ADDR); //определим как ведомый с указанным адресом 
Wire.onReceive(receive_handler); //ждем данных от мастера, функция возвращает int число байт данных
pinMode(AV, OUTPUT); // назначаем пины как выходы
} 

void loop()
{
} 

void receive_handler(int numbytes)  
{ 
 for (int i=0;i<numbytes;i++)  //читаем весь пакет  
  { 
    int a = Wire.read(); // присваиваем переменной значение a
    if (a == 194 || a == 210) // если код 0194192247208 или 0210208247208 включить пин 13
    {
    digitalWrite(AV, HIGH);
    AVflag == true;
    }
    else if (a == 80 || a == 88 || a == 64 || a == 67 || a == 91) // если код 080192247208 или 088192247208 или 064192247208 или 067192247208 или 091216247208 включить пин 13
    AVflag == false,AVtime=millis();
   
    if(millis()-AVtime>3000 && AVflag == false) digitalWrite(AV, LOW);
  }  
}