Alternativ kannst du auch RS485 o.ä. nehmen, nur dann brauchst du noch zusätzliche ICs.
Bei 10-20 ICs gestaltet sich der Bus per UART sehr schwer (verhältnismässig). Ebenso RS422 und RS485.
SPI würde ich da auch nicht empfehlen, da du da für jeden Chip nen Chipselect brauchst, sprich bei 20 AVRs sind es 20 CS Leitungen und 3 SPI Leitungen.
Also hast du schon 23 GPIOs vom Pi weg.
I²C kannst du nehmen nur da darf der Bus nicht zu groß werden, sprich die Leitungslänge.
Jetzt weiß ich nicht was du machen möchtest aber wenn das so eine Art Hausbus machen willst wird das per I²C nicht klappen, da der I²C Bus glaube ich nur eine bestimmte Kapazität erreichen darf. Wenn du die ganzen ICs alle auf einer Platine oder recht nah beinander unterbringst sollte der I²C aber verwendbar sein.
Was sich für sowas gut anbieten sollte ist z.B. der CAN-Bus, da der extra für viele Teilnehmer mit weiten Übertragungswegen entwickelt wurde.
Nachteil hier ist, dass du dafür extra ICs benötigst.
Wie aber schon gesagt. Für eine genauere Einschätzung wäre eine Info was du machen möchtest ganz gut. Dann kann man bischen besser helfen.
Lesezeichen