Etabli
← Retour aux leçons
Leçon · AVN-03 · Bus I2C et SPI · 2/4

Bus I2C et SPI : connecter les capteurs

5 étapes·40 min·0/5 fait·quiz à réussir
voix

Deux fils, et tout un monde branché dessus : voici l' en pratique. Cette leçon fait vivre le bus pour de vrai : tu câbles SDA et SCL avec leurs , tu lances le scanner qui fait l'appel des adresses — LE premier réflexe de tout roboticien face à un bus —, tu vas chercher une première mesure au cœur de la , tu ajoutes un deuxième sans tirer un seul fil de plus… et tu finis chronomètre en main, face au .

📖 Comprendre

1. L'adresse : sept bits pour un nom

Une adresse tient sur 7 : 128 combinaisons possibles, de 0 à 127. Le en réserve seize pour ses usages spéciaux — les adresses 0 à 7 et 120 à 127 — si bien qu'il reste 112 adresses utilisables, de 8 à 119. C'est la taille maximale du carnet d'adresses d'un bus : largement assez pour tous les d'un robot, sur deux fils seulement.

Les fiches techniques écrivent les adresses en , la notation en base seize des informaticiens : 0x68 se lit « 68 en hexadécimal » et vaut 6 × 16 + 8 = 104 en décimal. Ce n'est qu'une écriture — la , elle, ne voit que sept . L'adresse est fixée par le fabricant et publiée dans la ; certaines puces offrent une de sélection qui permet de la décaler d'un cran, on verra bientôt pourquoi c'est précieux.

2. Le dialogue : le maître interroge, le périphérique répond

Chaque échange suit le même rituel. Le maître ouvre par une condition de départ, puis envoie l'adresse visée accompagnée du sens de l'échange — lire ou écrire. La qui se reconnaît ACQUITTE : sur le neuvième battement d'horloge, elle tire SDA vers le bas pour dire « présent, bien reçu ». Puis les circulent, chacun suivi de son acquittement, jusqu'à la condition d'arrêt qui rend le bus au silence.

Deux règles ne souffrent aucune exception. Un : l'horloge appartient au maître — même quand c'est le périphérique qui fournit les données, c'est le maître qui bat la mesure sur . Deux : un périphérique ne parle jamais spontanément — il attend d'être appelé par son adresse. Cette discipline est ce qui permet à dix puces de cohabiter sur deux fils sans jamais se marcher sur les .

3. Le scanner : faire l'appel sur le bus

Le scanner exploite l'acquittement : il appelle chaque adresse de 8 à 119, sans rien demander d'autre, et note qui répond « présent ». Le résultat est la liste des habitants du bus — par exemple : « périphérique trouvé à l'adresse 0x68 ». Trois secondes d'exécution pour savoir si le câblage vit et qui est branché : c'est LE premier réflexe de débogage, à lancer avant toute lecture de , et le premier à écrire sur un bus neuf.

Lis ses verdicts comme un médecin. Le attendu apparaît : câblage bon, adresse confirmée, tu peux dialoguer. Il n'apparaît pas : inutile d'insister en lecture, est plus bas — fils, , . Une adresse inconnue surgit : un module embarque une dont tu ignorais l'existence, et sa te dira laquelle. Le scanner ne répare rien, mais il coupe l'enquête en deux à chaque exécution.

4. Et le SPI, pendant ce temps ?

Remets les deux bus côte à côte, chiffres en main. L' rapide bat à 400 : un bit par battement, moins le péage du — adresse, acquittements — soit environ 30 kilooctets utiles par seconde. Immense pour un thermomètre qui livre deux dix fois par seconde ; étouffant pour un écran dont chaque image pèse un kilooctet et qui veut se rafraîchir en boucle. Le , à 8 MHz et au-delà, pousse la même image vingt fois plus vite.

La règle de choix tient en une question : combien d' par seconde ? lents et modules de confort — température, lue quelques dizaines de fois par seconde, expandeur — vivent très bien sur l' et ses deux fils. Écrans, cartes et gros exigent le et acceptent son fil de sélection supplémentaire. Dans un robot réel, les deux cohabitent : l'I2C fédère les capteurs, le SPI sert les gloutons.

🧮 Exemple guidé : du 0x68 de la fiche technique à l'appel réussi

La fiche technique de ta centrale inertielle annonce « adresse I2C : 0x68 ». Vérifie que cette adresse est légale sur le bus, convertis-la en décimal, puis déroule l'appel du scanner qui la découvre.

  1. 1.Sept bits d'adresse → 128 combinaisons possibles, de 0 à 127 : le carnet d'adresses complet du bus.
  2. 2.Le protocole en réserve 16 — les adresses 0 à 7 et 120 à 127 — pour ses signaux spéciaux : restent 112 adresses libres, de 8 à 119.
  3. 3.0x68 = 6 × 16 + 8 = 104 en décimal. Entre 8 et 119 : adresse légale, la puce a le droit d'habiter là.
  4. 4.Le scanner appelle 8, 9, 10… silence… 104 : acquittement, « présent » ! … puis silence jusqu'à 119. Bilan : un périphérique, adresse 104.

Trois savoirs en un exemple : la taille du carnet d'adresses (112 places utiles), la conversion hexadécimal-décimal (0x68 = 104), et le scanner qui transforme tout cela en vérité de terrain. Quand le 104 s'affiche, ton câblage, tes pull-up et l'adresse de la fiche technique sont validés d'un coup.

🛠 Pratiquer sur l'établi

  1. 01Câbler et SCL avec leurs de rappel

    Câble le bus : vers SDA, SCL vers SCL, commune, et les deux de vers le — une par ligne. Avant tout , le contrôle du médecin : au repos, SDA et SCL doivent lire le au . Une ligne qui traîne au niveau bas, et rien de ce qui suit ne marchera.

    sur l'établi
    cerveauHC-SR04

    📖 Termes de cette étape

Objectifs

  • +Comprendre adresses et maître/périphérique
  • +Scanner un
  • +Choisir entre et
🧪 S'entraîner dans le bac à sable

Quiz de validation

À réussir pour valider la leçon

Réponds de mémoire, sans remonter la page : c'est l'effort de rappel qui grave le cours. Les trois bonnes réponses valident la leçon.

1. Combien de périphériques différents un bus I2C peut-il adresser ?

2. Pendant que le maître appelle l'adresse 104, que font les autres puces du bus ?

3. Que signifie « 0x68 » dans une fiche technique ?

🧠 Ce qu'il faut retenir

  • 1. : deux fils partagés, chaque périphérique répond à son adresse.
  • 2. : plus de fils, un de sélection par , mais bien plus rapide.
  • 3.Sans de rappel, l' reste muet — elles font partie du bus.