Un de nos partenaires nous a envoyé deux cartes distribuées par Farnell pour nos ateliers de découverte de l’électronique embarquée. L’une d’elles est une centrale inertielle complète, dernière version de la carte Xplorer Inertial One du fabricant Atmel.
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
-
Centrale inertielle Atmel Xplained
29 mars 2014, par Julien H. -
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 (...) -
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 (...) -
Communication I2C avec la Pob-Eye 2
24 novembre 2009, par Julien H.Comme cette caméra peut être utilisée pour contrôler tout un robot, on va tester ses autres périphériques, comme le bus I2C, qui peut nous servir à communiquer avec des périphériques d’affichage d’information (écran LCD) mais aussi avec des cartes programmables "filles" qui vont se charger d’une partie des tâches du robot (le déplacement et la commande des moteurs par exemple).
Rappel
Le bus I2C fonctionne en mode maitre/esclave : le maitre envoie sur le bus l’adresse du périphérique (...) -
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 (...) -
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 (...) -
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 (...) -
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 (...) -
RasPi, I2C, Python et LCD
31 décembre 2012, par Eric P.où il est question de connecter un LCD I2C à une RasPi, et de lui parler en Python
-
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 (...)