Esclavo I2C parece no responder adecuadamente [SOLUCIONADO]

Buenas a todos.

Estoy comunicando mi Arduino UNO (maestro) con un ATtiny que he programado (usando UNO como ISP, está chequeado su correcto funcionamiento).

Mi problema viene cuando intento comunicarlos. He implementado un par de códigos, que os dejo a continuación. Para el caso del Arduino UNO he empleado la clásica librería Wire.h mientras que para ATtiny85 he empleado el análogo TinyWireS.h.

He probado a analizar la trama con un analizador lógico (Saleae 24MHz, 8ch) he podido ver que se envía adecuadamente. Por lo que el problema es del esclavo, supongo. El LED conectado a su pin #6 no da respuesta alguna (permanece apagado).

Aquí el código del esclavo:

#include <TinyWireS.h>
#define I2C_SLAVE_ADDR 0x03   //Dirección del esclavo
#define LED_PIN 6
byte byteRcvd = 0;

void setup() {
  pinMode(LED_PIN,OUTPUT);
  digitalWrite(LED_PIN,LOW);
  TinyWireS.begin(I2C_SLAVE_ADDR);
}

void loop() {
  if(TinyWireS.available()){
    byteRcvd = TinyWireS.receive();

    if(byteRcvd == 0){
      digitalWrite(LED_PIN,LOW);
    }
    else{
      digitalWrite(LED_PIN,HIGH);
    }
    
  }
}

Y aquí el del maestro:

#include <Wire.h>
#define SLAVE_ADDR 0x03
byte byteToSend = 0;

void setup() {
  Wire.begin();
}

void loop() {
  byteToSend = 0;
  Wire.beginTransmission(SLAVE_ADDR);
  Wire.write(byteToSend);
  Wire.endTransmission();

  delay(1000);

  byteToSend = 1;
  Wire.beginTransmission(SLAVE_ADDR);
  Wire.write(byteToSend);
  Wire.endTransmission();

  delay(1000);

}

Me he basado en ciertos hilos de este mismo foro, además de googlear un poco, y no ha habido suerte (igual soy muy torpe). Ejemplos de estos hilos son:

http://forum.arduino.cc/index.php?topic=202440.0
https://forum.arduino.cc/index.php?topic=162646.0
http://forum.arduino.cc/index.php/topic,160680.0.html
http://forum.arduino.cc/index.php?topic=132566.0

Gracias por vuestra ayuda.
Saludos.

EDIT: Olvidé añadir los códigos, sí que voy a ser torpe jaja
He tardado 5 min en añadirlos porque el foro no me dejaba postear antes.

EDIT2: Pongo captura de la trama:

Esto lo leiste?

I2C (master and slave) on the ATtiny85

Tienes pull-ups de 4k7 como se lee en los comentarios?

Este hilo se parece mucho a lo tuyo http://forum.arduino.cc/index.php/topic,160680.0.html, es uno de los que seleccionaste

Sí, tengo dos pull up de 4k7, uno por cada línea.

Me he basado en esos hilos pero aún así algo debo estar haciendo mal...

Intenta con el ejemplo que figura al final del link que yo te remarqué antes. El que tu tamb leíste.
Adaptalo a tu necesidad.

Probaste algo simple con el ATtiny, como prender un LED, no será que no estes grabando bien el sketch?

Voy a probar lo que me dices y te comento.

El código es verdaderamente simple. Lo que no tengo muy claro es cómo podría hacer que tanto maestro como esclavo intercambiaran tramas de información de más de un byte (aunque de momento voy a centrarme en arreglar mi problema "simple")...

Deja de lado el tema i2c
Prueba si tu ATtiny responde a algo básico, como un blink.

O ya lo has probado de algun modo?

Sí, sí, como dije ya lo chequeé, precisamente con un blink.

¿Puede ser por la velocidad? De algún modo tengo que adaptar la velocidad del maestro a la demandada por el esclavo?

Vale, perfecto. Ya lo he solucionado. El fallo estaba ante nuestros ojos y no hemos sabido verlo!!!

Concretamente aquí:

#define LED_PIN 6

Ese 6 debería ser un 1 tal y como se indica en la siguiente imagen:

Yo quería colocar la salida en el pin 6 y en lugar de poner 1 (que se corresponde al número de pin digital PB1) puse 6.

Ya funciona correctamente! Simplemente con cambiar eso, ambos códigos ya funcionan, por si le sirviera a alguien en un futuro.

Por otro lado, surbyte, ¿cuál crees tú que sería la algoritmia correcta para transferir una trama? He probado con bucles y demás y no da buen resultado...

Gracias!!

Ese problema es muy recurrente en el foro, cada quien intenta trabajar con I2C se queja de lo mismo.

porque no explicas donde se produce el problema?

No, no... Mi problema no ha sido con I2C sino con los pines de ATTiny. La parte de código relativa a I2C está correcta. En cuanto al fallo, lo expliqué todo en el post anterior. Si de todos modos lo ves insuficiente dímelo, lo amplío sin problemas.

Gracias por tu ayuda, surbyte!