Die IC2-Kommunikation

 Werden Arduino-Projekte umfangreicher und komplexer, wird uns die Verwendung von digitalen und analogen Pins nur bedingt weiter bringen. Stell dir vor, du arbeitest an einem Projekt, das 100 und mehr Sensoren oder Aktoren (z.B. Motoren) umfasst. Selbst die vielen digitalen und analogen Pins eines Arduino-Mega halten da nicht mehr mit. In solchen Fällen wird die Verwendung von Kommunikationsprotokollen geradezu obligatorisch.

Bisher haben wir Elektronik direkt in die Arduino-Pins gesteckt und unmittelbar mit ihnen "kommuniziert". Das ist vergleichbar, wie wenn Herr Mustermann sein Fenster seines Hauses öffnet und dem Nachbar etwas zuruft. Der wiederum antwortet ihm auch durch sein offenes Fenster. Herr Mustermann hat die Möglichkeit alle Fenster um sein Haus zu nutzen, um mit seiner unmittelbaren Nachbarschaft so zu sprechen. Aber was ist mit dem Nachbar am Ende der Straße oder sogar auf der anderen Seite der Stadt? Durch das Schreiben und Senden von Briefen kann Herr Mustermann mit sehr vielen Teilnehmern kommunizieren. Die Post besitzt ein ausgeweitetes und getaktetes Briefsendungsservice, welches durch bestimmte Systemregeln (Kuvert, Briefmarke, Adressat, Briefübergabe) die Kommunikation ermöglicht.

Anstatt mit den begrenzten digital und analog Arduino-Pins #### Das Arduino besitzt über mehrere Kommunikationssysteme, um mit vielen Hardwarekomponenten zusammenzuarbeiten. Wir werden kurz auf die gängigen Kommunikationsprotokolle eingehen: UART, I2C und SPI. Diese drei seriellen Datenübertragungsformate sind auf dem Arduino verfügbar. UART und SPI werden nur kurz beschrieben.

###Auf I2C gehen viel tiefer ein.

Das auf dem Bild gezeigte EPROM hat schon eine Menge Anschlussbeinchen. Stell dir mal vor, du hättest eine Platine mit 10 oder 20 dieser Speicherbausteine, die es alle zu verdrahten gilt. Erstens nehmen diese Bausteine schon einiges an Platz weg und zudem müssen alle Pins verdrahtet werden. Es war also schon ein immenser Aufwand, der damals vor ca. 20 Jahren betrieben wurde. Die Entwickler kamen dann auf die Idee, eine Art Bus-System zu entwickeln, an das zahlreiche elektronische Teilnehmer angeschlossen werden können, um darüber Daten auszutauschen. Sie nannten es I2C. Doch was genau verbirgt sich hinter dieser recht kryptisch anmutenden Bezeichnung? Es handelt sich um einen seriellen Datenbus, der über zwei Leitungen – SCL und SDA genannt – Daten verschickt. In der folgenden Abbildung siehst du die Verschaltung der einzelnen Komponenten für unseren Mikrocontroller ATmega 328p.