Étape 4: Plus d’infos sur I2C
Pour parcourir brièvement la théorie, I2C requiert deux lignes numériques : ligne de données série (SDA) pour transférer des données et Horloge sérielle (SCL) pour garder l’horloge. Chaque connexion I2C peut avoir un seul maître et plusieurs esclaves. Un maître peut écrire aux esclaves et demander les esclaves à fournir des données, mais aucun esclave ne peut écrire directement au capitaine ou à un autre esclave. Chaque esclave a une adresse unique sur le bus, et le maître a besoin de connaître les adresses de chaque esclave qu'il souhaite accéder.
Chaque bus I2C peut supporter jusqu'à 112 appareils. Tous les appareils doivent partager GND. La vitesse est d’environ 100 Ko/s— pas très rapide mais toujours respectable et tout à fait utilisable. Il est possible d’avoir plus d’un maître sur un bus, mais il a vraiment compliqué et généralement évité.
Un grand nombre de capteurs utiliser I2C pour communiquer, typiquement mesures inertielles, baromètres,
capteurs de température et certains Sonars. N’oubliez pas que I2C est pas conçu pour les grandes longueurs de câble. Selon le type de câble utilisé, 2 mètres déjà pourrait poser des problèmes.
I2C est un protocole de transmission compliqué, mais il est très utile. Arduinos tout mettre en œuvre, avec quelques différences dans les mappages de broche :
Broches I2C Conseil
Uno, Pro Mini A4 (SDA), A5 (SCL)
Mega, Due 20 (SDA), 21 (SCL)
Leonardo, Yun 2 (SDA), 3 (SCL)