Nous utilisons le protocole de communication par bus série I2C depuis longtemps : beaucoup de micro-contrôleurs et même de microprocesseurs utilisent cette technologie.
Il était temps de faire un article complet, en se concentrant sur la détection du périphérique, la lecture et l’écriture par la liaison I2C plutôt que sur le composant en lui-même. Consultez les mots-clés en colonne de droite pour avoir accès à une liste d’articles traitant du sujet.
Pour qu’il soit complet, nous allons (...)
Accueil > Mots-clés > Communications > I2C
I2C
Le bus I2C (Inter Integrated Circuit) a été développé au début des années 80 par Philips. On le trouvait initialement dans des équipements domestiques (magnétoscope) pour faire communiquer les différents éléments à l’intérieur du même boitier.
Il est devenu ensuite un bus de communication très répandu, y compris pour relier des équipements différents (plusieurs circuits électroniques) à des distances plus grandes (grâce à des répéteurs).
Nous l’utilisons car il est présent sur beaucoup de microcontrôleurs et est très facile à prendre en main.
Articles
-
Tutoriel complet sur I2C
12 août 2012, par Julien H. -
Capteur de température I2C
2 janvier 2009, par Julien H.Cet article présente une mesure de température simple avec le capteur LM75 permettant de se rappeler l’adressage sur bus I2C et faire un peu de manipulation d’octets.
-
Contrôle avec un Wii Nunchuck
6 mai 2009, par Julien H.On s’intéresse ici à un dispositif de contrôle original. On va se faire plaisir en utilisant le Nunchuck, une manette de la console de jeu Nintendo Wii.
Il ne s’agit pas de la manette principale Wiimote (décrite dans cet article) mais d’un périphérique qui s’y connecte via un câble. En tant que tel, il est donc beaucoup plus simple, mais au vu de toutes les innovations dont il est doté, c’est déjà un bond en avant dans les dispositifs de télé-commande classique, qui se limitaient (...) -
CMPS03 : une boussole I2C simple
22 décembre 2011, par Julien H.La carte CMPS03 de Devantech est une boussole électronique : deux capteurs Philips KMZ51 orientés à 90° l’un de l’autre mesurent une résistance variant selon le champ magnétique terrestre, et un micro-contrôleur PIC 18F transmet les informations selon le mode souhaité (PWM ou I2C).
C’est la plus ancienne des boussoles électroniques dans le monde amateur (première utilisation au club en 2002) et depuis des solutions plus robustes (correction d’inclinaison sont apparues) ou moins chères (...) -
LCD sur I2C simplement
25 septembre 2011, par Julien H.Le prix des afficheurs à cristaux liquides est en baisse, et il est de plus en plus fréquent de trouver des circuits de commande simples, évitant la gestion du protocole et économisant surtout le nombre de pattes d’entrée/sortie nécessaires. Georges utilise pour son projet un LCD sur bus I2C à base de PCF8574 dont voici la mise en œuvre.
Il y autant de circuits de communication avec un écran LCD que de contrôleurs de LCD. Deux possibilités de se retrouver bloquer par un manque de (...) -
Acquisition et transmission de signaux
7 février 2012, par Julien H.Bien que la plupart des capteurs utilisent un protocole standard, on a parfois besoin d’un autre mode de communication pour s’interconnecter avec des équipements existants.
Le cas le plus courant est l’utilisation de centrales de traitement fermées acceptant des périphériques RS-232 ou RS-485. Dans ce cas-là, impossible d’implémenter son propre circuit et de programmer l’acquisition. Il faut intervenir du côté du capteur afin de fournir les signaux attendus.
Pour les capteurs basiques (...) -
Communication entre deux cartes
25 novembre 2009, par Julien H.Pour les besoins d’un nouveau projet, je dois faire communiquer deux cartes entre elles.
Il y a plusieurs raisons qui peuvent vous amener à faire ce choix : pas assez de puissance ou de place dans votre carte principale pas assez d’entrées/sorties (surtout le port série par exemple) communication à distance
Dans mon cas, il s’agit de la troisième possibilité mais le problème reste le même.
Connexion matérielle
Pour faire communiquer deux circuits électronique, il faut les relier (...) -
HMC6343 : une boussole intelligente
17 décembre 2011, par Julien H.Depuis une dizaine d’années, on trouve des boussoles électroniques à bon marché. La puce Honeywell HMC6343 propose désormais une plus grande définition mais surtout améliore la fiabilité aux variations de position grâce à un programme utilisant trois sources d’informations (température, accélération, champ magnétique) pour calculer le cap en corrigeant lui-même les erreurs.
Pourquoi payer 150 euros une puce quand on n’a besoin que d’un cap avec une précision d’un degré et que des puces (...) -
Contrôle par Nunchuck sans fil
30 juin 2011, par Julien H.Contrôler un robot à distance, quelle idée ! C’est bien plus amusant de le rendre autonome et d’apprendre étape par étape à améliorer son comportement.
Pour ceux qui veulent quand même utiliser une télécommande, autant le faire de manière fun avec un Nunchuck, l’accessoire de la manette Wii qui tient dans le creux de la main, avec quand même un joystick au pouce, deux boutons à l’index et au majeur, et surtout un accéléromètre trois axes.
On connaissait déjà la version classique, avec (...) -
Echanges maître/esclaves en I2C
17 mars 2011, par Julien H.Voici un article qui décrit dans plusieurs langages les échanges qu’il faut mettre en œuvre entre deux dispositifs équivalents (deux micro-contrôleurs par exemple) pour une liaison I2C.
Il ne s’agit pas de piloter un périphérique I2C mais de programmer à la fois le maitre et l’esclave, afin d’expliquer les différentes étapes. Pour compléter cet exercice, on utilisera plusieurs langages et si possible plusieurs cibles.
Les principes
Pour établir une communication sur un bus I2C, il (...)