Arduino/I2C

Uit Lab
Naar navigatie springen Naar zoeken springen

Deze pagina is in bewerking en nog erg onvolledig

I2C (of IIC) is een protocol voor de communicatie tussen een microcontroller en randapparaten daarvoor - zoals sensoren, actuatoren, maar ook geheugens e.d. Voor deze communicatie zijn maar 2 draden nodig, waarop meerdere apparaten kunnen worden aangesloten: dit maakt de bedrading van een systeem veel eenvoudiger.

Een ander serieel protocol is ISP - maar dit heeft meer draden nodig, en

De Arduino UNO heeft ingebouwde hardware voor dit protocol: de analoge poorten A4 (SDA) en A5 (SCL). Deze zijn op nieuwere versies (UNO R3, en volgende) ook uitgevoerd op de extra poorten SDA en SCL - voorbij D13. Dit zijn de verbindingen die gebruikt worden door de Arduino I2C library.

Je kunt het protocol ook in software uitvoeren, met twee digitale poorten.
Als de poorten SDA en SCL beschikbaar zijn, hebben deze de voorkeur. Bij nieuwere borden zoals de Arduino M0 (Zero) worden A4 en A5 niet meer hiervoor gebruikt.


I2C is een protocol dat in de jaren XX door Philips is ontwikkeld, onder meer voor het vereenvoudigen van de bedrading van van ICs en van systemen. ICs hebben voor seriële communicatie veel minder aansluitingen nodig dan voor parallelle communicatie, Aansluitingen (pinnen) zijn relatief duur, en maken een veel grotere behuizing nodig dan je voor de chip zelf nodig hebt. Bovendien is elke verbinding een mogelijk defect.