Ошибка при попытке от 3 ардуино передать другой данные

Ситуация следующая:
Хочу передать на одну ардуинку от 3-х ардуинок сообщение. При передаче от 2-х ардуинок всё работает как надо. Как только пытаюсь добавить третью, вылезает ошибка invalid header file

Код ардуинок, который передают сообщение:
1)

#include <Wire.h>

void setup() {
  Wire.begin(7);                // join i2c bus with address #9
  Wire.onRequest(requestEvent); // register event
}

void loop() {
  delay(100);
}
// function that executes whenever data is requested by master
// this function is registered as an event, see setup()
void requestEvent() {
  Wire.write("Slave3"); // respond with message of 6 bytes
  // as expected by master
}
#include <Wire.h>

void setup() {
  Wire.begin(9);                // join i2c bus with address #9
  Wire.onRequest(requestEvent); // register event
}

void loop() {
  delay(100);
}
// function that executes whenever data is requested by master
// this function is registered as an event, see setup()
void requestEvent() {
  Wire.write("Slave3"); // respond with message of 6 bytes
  // as expected by master
}
#include <Wire.h>

void setup() {
  Wire.begin(8);                // join i2c bus with address #9
  Wire.onRequest(requestEvent); // register event
}

void loop() {
  delay(100);
}
// function that executes whenever data is requested by master
// this function is registered as an event, see setup()
void requestEvent() {
  Wire.write("Slave2"); // respond with message of 6 bytes
  // as expected by master
}

Код ардуинки, которая получает сообщения:

#include <Wire.h>
void setup() 
{
  Wire.begin();        // join i2c bus (address optional for master)
  Serial.begin(9600);  // start serial for output
}
void loop() 
{
  	Wire.requestFrom(8, 6);    // request 6 bytes from slave device #8
	Serial.print("Received Name of address 8 : ");
  	while (Wire.available()) 
    { // slave may send less than requested
    char c = Wire.read(); // receive a byte as character
    Serial.print(c);         // print the character
  	}
	Serial.println("\n");
    delay(500);
	Wire.requestFrom(9, 6);    // request 6 bytes from slave device #8
	Serial.print("Received Name of address 9 : ");
  	while (Wire.available()) { // slave may send less than requested
    { char c = Wire.read(); // receive a byte as character
    Serial.print(c);         // print the character
    }
	Serial.println("\n");
    delay(500);
	Wire.requestFrom(7, 6);    // request 6 bytes from slave device #8
	Serial.print("Received Name of address 9 : ");
  	while (Wire.available()) { // slave may send less than requested
    {char c = Wire.read(); // receive a byte as character
    Serial.print(c);         // print the character
    }
    Serial.println("\n");
    delay(500);

}

Уточнение: не могу использовать физические объекты. ТОЛЬКО tinkercad

Стало быть вопрос в саппорт этого симулятора, а не к нам…

Почему я не вижу точной копипасты сообщения? Потому, что её нет? Или потому, что я её не заметил?

Это всё, что пишет в качестве ошибки

А в Ардуино ИДЕ если? Ошибки есть?
Этот Тинкеркад может wire.h не знает где брать?

Вам что-то видно? Мне - нет. Привыкайте текстом выкладывать. И, кстати, пояснять, о каком именно скетче речь.

прикол в том, что 2 ардуинки спокойно работают, а с третьей он уже отказывается)))

что на твоей картинке нихрена не видно

А что за шина вообще? Если программный 1-wire, то где назначение пинов? Ни разу такой фигней не пользовался.

I2C у него. В программном симуляторе, не в железе.

У меня i2c, симулятор тинкеркад почему-то не позволяет передавать данные от 3 и более ардуинок одновременно. Думал, что я что-то с кодом не так сделал, а нет.

Несколько лет назад у тинкеркада была проблема даже с SofwareSerial, так что ничего удивительного.

Протеус всему голова. В wokwi не знаю, поддерживает ли несколько МК.

Я больше скажу, оно и через serial не работает)))

to All, шина i2c в ардуино в принципе потдерживает multimaster ? что то сомневаюсь