Treppenlicht mit I2C

@xpix: Für mein Beispiel magst du recht haben das du nur irgendwas schicken musst. Aber bei deiner Anwendung wirst du konkrete Werte brauchen, da du dem ATiny sagen musst ob er nun den Sensor auslesen soll oder die LED schalten.
Ob die Funktion Wire.write den Datentyp Integer annimmt weis ich nicht, müsste man ggf untersuchen (zulässig sind char, byte und string/chararray mit Stringbegrenzer). I2C ist ursprünglich nur zum senden von einem Byte vorgesehen gewesen (Startbit Adresse Ack-Bit Datenbyte Stopbit ACK-Bit), später wurde dann das senden mehrer Bytes ohne vorangestellte Adresse hinzugefügt. Dh will wahrscheinlich die Funktion nur Bytes sehen, würde ich vermuten.

@Marcus: Mh, ganz sicher bin ich mir jetzt nicht wie du deinen Post meinst, mir wären 20€ aber zuviel (15 x 20€ = 300€ !!!!). Wenns mit dem I2C nicht klappen sollte würde ich aber dem nicht auf CAN gehen. Jedenfalls nicht wenn ich unter uC Daten übertragen will. Für ein Differenzsignal brauch ich zusätzliche Hardware, wenn ich meine Daten Manchestercodiert übertrage kann ich darauf verzichten und brauch keinen Cent mehr ausgeben.
Letztendlich hat xpix aber recht, die ganze Diskussion bringt nichts. Man müsste beide Lösungen ausarbeiten um zu sagen was nun besser ist, so ist doch alles nur Spekulation und Bauchgefühl(wobei natürlich ein paar Eckpunkte klar sind).

Vielleicht hat xpix am WE ein wenig Zeit und kann das ganze mal simulieren. Einfach mal 5m Leitung dazwischen und schauen ob es noch geht.

Hab übrigens noch was gefunden. Eine cat5-Leitung hat ca. 50pF je m und bei einer Busfrequenz von 100kHz sind 400pF zulässig. Damit beträgt die maximale Leitungslänge 4m, da xpix nur 3m braucht ist alles schön und schick. Störeinstrahlung wird ja wahrscheinlich nicht so das Thema sein, dh. denk mal das man auch Leitungen mit geringerer Kapazität findet (hab noch Stegleitung herumliegen wo die Leiter 5mm auseinander sind, denk mal die kommt unter 10pF).