Modifications

Sauter à la navigation Sauter à la recherche
Ligne 28 : Ligne 28 :  
== Le maître et les esclaves ==  
 
== Le maître et les esclaves ==  
   −
Master/Slave
+
Pour faciliter la communication, ont met en place une relation de type Maître/Esclave(s) ("Master/Slave" en anglais).
   −
Expliquer principe du maître et des esclave
+
Le principe est simple a comprendre, le Maître donne les ordres que les esclaves exécutent (sans poser de question).
 +
 
 +
Le Maître s'adresse à l'esclave, donne un ordre que l'esclave exécute. L'esclave fournira (mais pas nécessairement) la réponse à l'ordre.
 +
 
 +
C'est pareil pour le bus I2C... il y a un Maître (généralement Arduino) qui envoi ses ordres a un des esclaves esclaves du bus (généralement les senseurs, sélectionné par son "adresse I2C").
 +
 
 +
L'esclave (le senseur) exécute l'ordre et renvoient une réponse. '''Notez qu'il y a généralement une réponse, mais cela n'est pas forcément nécessaire pour certains types d'esclaves'''.
 +
 
 +
=== L'adressage ===
 +
L'adressage sert à identifier chacun des des éléments sur un bus I2C. Lorsque vous branchez un composant, il dispose généralement d'une adresse. Cette adresse est une valeur numérique qui identifie le composant sur le bus.
 +
 
 +
Sur un bus I2C, le maître envoi un ordre du genre: "Numero 3: lecture température!" et le numéro 3 (qui est un senseur de température) répond docilement en renvoyant la température mesurée.
 +
 
 +
Il va de soit qu'il ne faut qu'un seul "numéro 3" qui répondent en même temps sur le bus. C'est pour cela que cette adresse est importante et qu'elle doit aussi être unique sur le bus.
 +
 
 +
Les composants disposent d'une adresse prédéfinie qu'il est généralement possible de la modifier sensiblement en soudant des "jumpers".
 +
L'exemple ci-dessous est issus des contrôleurs LED d'AdaFruit et présente les "jumpers" A0, A1 et A2.
 +
 
 +
[[Fichier:ADF-LED-BACKPACK-ARD-01.jpg|300px]]
 +
 
 +
Notre tutoriel sur [[ADF-LED-BACKPACK|les contrôleurs LEDs]] explique aussi [[ADF-LED-BACKPACK-I2C-Adresse|comment calculer la nouvelle adresse]]. Vous pourrez consulter ce point plus tard lorsque vous serez familiarisé avec les concepts et premier montages I2C d'Arduino
 +
 
 +
=== Précision ===
 +
En général, le maître s'adresse à un esclave particulier. C'est le cas le plus courant et le plus usité sur Arduino.
 +
 
 +
Il n'empêche qu'un maître peut s'adresser à plusieurs esclaves en une seule opération (voir le concept "Master Writer" ci-dessous). Ce cas d'utilisation est plus rare. 
 +
 
 +
=== Arduino et réseaux de senseur ===
 +
Il est possible de connecter un Arduino et plusieurs senseurs sur un réseau I2C.
 +
 
 +
Arduino sera le Maître et les senseurs seront les Esclaves. Lorsque l'on s'adresse à un réseau de senseur, il faut utiliser le concept "Master Reader" décrit ci-dessous).
 +
 
 +
=== Des Arduinos ===
 +
Ils est bien entendu possible de connecter plusieurs Arduino sur un seul bus I2C (chacun disposant d'une adresse I2C unique).
    
........ .....................
 
........ .....................
29 917

modifications

Menu de navigation