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 utiliser un (...)
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. -
Leds RGB sur bus I2C : BlinkM
24 janvier 2010, par Julien H.Présentation d’un module I2C qui permet de piloter une led multicolore avec 24 bits de couleurs différentes, avec deux modes possibles, RGB (rouge / vert / bleu) ou HSV (teinte, saturation, brillance). Découvrez les relations entre couleurs RGB et HSV avec cette belle application en ligne : synthAxis.
Etude du circuit
Pour faire clignoter une led en utilisant le protocole I2C, on va utiliser une BlinkM, un petit circuit qui tient dans le creux de la main et qu’on a déjà utilisé pour quelques (...) -
La distribution Occidentalis Raspbian
7 août 2012, par Julien H.L’usage principal de la Raspberry Pi au sein du club est le contrôle ou l’interface avec des robots. Donc savoir qu’une distribution a été conçue par des professionnels de l’électronique (AdaFruit) et supporte tous les protocoles utilisés par des composants usuels en robotique est forcément une bonne nouvelle.
L’installation est très simple mais nécessite 5 Go d’espace disque sur votre ordinateur et une carte mémoire SD de 4 Go.
Site officiel de l’Occidentalis
Contrairement à la Debian Squeeze basée (...) -
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 avec un moyen (...) -
Test d’une Rainbowduino
3 avril 2010, par Julien H.La Rainbowduino est une carte électronique capable de piloter des dispositifs lumineux : leds de forte intensité, matrices RGB, etc..
Voici une prise en main rapide pour la découvrir.
Matériel nécessaire
Pour profiter rapidement du potentiel de cette carte, il est préférable d’avoir : une Rainbowduino une matrice RGB 8x8 de 60mm une alimentation 9v à forte intensité (500 mA) une carte USB-série TTL de type "FTDI breakout"
Cette dernière peut être remplacée par n’importe quelle autre carte capable (...) -
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 documentation. La (...) -
Convertisseur USB I2C
11 décembre 2008, par Julien H.un module de dialogue avec des capteurs sur bus I2C depuis une liaison série USB (PC)
-
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 faut choisir la (...) -
Ecran CLCDxxx sur I2C avec Arduino
22 octobre 2011, par Julien H.Lextronic propose des écrans à cristaux liquides LCD économiques déclinés en plusieurs tailles (CLCD162 ou CLCD204) et plusieurs éclairages (vert, bleu et même RGB). Contrairement à d’autres écrans compatibles avec la bibliothèque native Liquid Crystal d’Arduino, nous n’avons pas trouvé de code source compatible avec les commandes I2C de cette gamme. C’est désormais chose faite !
Mise à jour : la bibliothèque est désormais disponible pour le logiciel Arduino 1.0, car les fonctions I2C ont changé ainsi que (...) -
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 un fil pour le (...)