I2C-Hacking
Introduction
Si vous avez eu l'occasion de lire nos autres tutoriels I2C pour Arduino et Raspberry, vous vous êtes certainement rendu compte que vous êtes face à une technologie à la fois simple et puissante.
Comme toutes les technologies, il y a parfois quelques limites technique qui peuvent, de temps à autre, être contournées.
Le but de cet article est de rassembler quelques hacks assez simple mais terriblement efficaces :-)
Ces hacks sont très facile à mettre en oeuvre avec Arduino... peut être un peu moins aisé a faire fonctionner avec Raspberry car, pour ce dernier, c'est l'OS qui décide quand il faut communiquer sur le BUS I2C... pas votre code).
En savoir plus sur I2C
Vous voulez en savoir plus sur I2C?
Nous vous proposons les lectures suivantes... n'hésitez pas à consulter la liste de nos tutoriels pour Arduino et tutoriels pour Raspberry-Pi
protéger votre microcontrôleur d'un périphérique I2C potentiellement dangereux!
Comment étendre un bus I2C jusqu'à 25m! Sa mise en oeuvre avec un P82B715PN sur Arduino, code source, etc
Comment étendre un bus I2C avec une ligne différentielle! Sa mise en oeuvre avec un I2C Extender de SJTBits
Ressources
Voici quelques références glanées ici et là sur le Net.
- Running 3.3v and 5v I2C peripherals on the same I2C bus (letsmakerobots.com, anglais)
- I2C - Two-Wire Peripheral Interface - for Arduino (http://www.gammon.com.au, anglais)
- Une ressource chaudement recommandée avec des recherches détaillées sur les signaux, ACK et NAK
- Etude sur les résistances pull-up présentes sur le bus (voir plus bas dans les messages)
- Utilisation d'une EEProm I2C
- I2C Scanner pour Arduino (en fin de billet).
- IC2 FAQ (esacademy.com, anglais)
Propose des réponses aussi intéressantes que:- I'd like to extend the I2C bus. Is there something like a repeater for I2C?+**
- Can I do galvanic decoupling of my I2C bus?
- Are there stand-alone I2C controllers?
- How can I generate a repeated start condition?
- Can I abort an ongoing I2C bus transmission?
- Do I need to generate an ACK in read mode on the last byte?
- How can I monitor the I2C bus?
- ...
Réalisé par Meurisse D. pour MCHobby.be.
Toute référence, mention ou extrait de cette traduction doit être explicitement accompagné du texte suivant : « Traduction par MCHobby (www.MCHobby.be) - Vente de kit et composants » avec un lien vers la source (donc cette page) et ce quelque soit le média utilisé.
L'utilisation commercial de la traduction (texte) et/ou réalisation, même partielle, pourrait être soumis à redevance. Dans tous les cas de figures, vous devez également obtenir l'accord du(des) détenteur initial des droits. Celui de MC Hobby s'arrêtant au travail de traduction proprement dit.