Différences entre versions de « ADF-LED-BACKPACK-I2C-Adresse »

De MCHobby - Wiki
Sauter à la navigation Sauter à la recherche
Ligne 3 : Ligne 3 :
 
{{traduction}}
 
{{traduction}}
  
The HT16K33 driver chip on these LED backpacks has a default I2C address of '''0x70'''. Since each device on an I2C bus must have a unique address, its important to avoid collisions or you'll get a lot of strange responses from your electronic devices!
+
{{bloc-etroit
 +
  | text = Le circuit intégré HT16K33 (contrôleur) sur ce backpack à l'adresse I2C par défaut '''0x70'''. Puisque chaque composant d'un bus I2C doit disposer d'une adresse unique, il est important d'éviter les collisions d'adressage sinon vous risquez d'obtenir d'étrange réponses en retour (de vos composants)!
  
Luckily, the HT16K33 has 2 or 3 address adjust pins, so that the address can be changed! The mini 20mm 8x8 matrix backpack has 2 address adjust pins. The 30mm 8x8, bi-color 8x8 and 4 x 7-segment backpacks have 3 address adjust pins.
+
Par chance, le HT16K33 dispose de 2 ou 3 broches permettant d'ajuster l'adresse, ce qui permet de modifier l'adresse du backpack sur le bus I2C! Le backpack de la matrice 8x8 mini (20mm) dispose de deux broches/pins modifiant l'adresse I2C. Les backpacks de la matrice 8x8 30mm, de la matrice  8x8 bi-colore et de l'afficheur 4 x 7-segments disposent de 3 broches/pins permettant d'ajuster l'adresse I2C.
  
That means that you can set the backpacks to these addresses:
+
Cela signifie que vous pouvez utiliser les adresses suivantes pour les backpacks: }}
  
* Mini 8x8 20mm: 0x70, 0x71, 0x72, 0x73
+
* Matrice 8x8 Mini 20mm: 0x70, 0x71, 0x72, 0x73
* Small 8x8 30mm: 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77
+
* Matrice 8x8 Petite 30mm: 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77
* 4 x 7-segments: 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77
+
* Afficheur 4 x 7-segments: 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77
* Bi-color 8x8 30mm: 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77
+
* Matrice 8x8 Bi-color 30mm: 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77
  
You can mix-and-match matrices, as long as each one has a unique address!
+
Vous pouvez mélanger autant de matrices et afficheurs, aussi longtemps que chacun d'entre eux dispose de sa propre adresse unique!
  
 
== Modifier les addresses ==
 
== Modifier les addresses ==
You can change the address of a backpack very easily. Look on the back to find the two or three A0, A1 or A2 solder jumpers. Each one of these is used to hardcode in the address. If a jumper is shorted with solder, that sets the address. '''A0''' sets the lowest bit with a value of '''1''', '''A1''' sets the middle bit with a value of '''2''' and '''A2''' sets the high bit with a value of '''4'''.  
+
Vous pouvez modifier l'adresse d'un backpack vraiment très facilement.  
  
The final address is '''0x70 + A2 + A1 + A0'''.  
+
Si vous regardez derrière la carte, vous trouverez deux ou trois "cavaliers" sous forme de pastilles à ponter avec un point de soudure (''Solder Jumper'' en anglais). Ces deux ou trois cavaliers portent les mentions A0, A1 ou A2.
 +
 
 +
Chacun de ces cavaliers utilisé pour définir matériellement (''hardcode'') l'adresse du module. Si le cavalier active l'adresse s'il est court-circuité/ponté avec un point de soudure. '''A0''' active le bit de poids le plus faible qui à la valeur '''1''', '''A1''' le bit d'adresse du milieu qui correspond à la valeur '''2''' et '''A2''' le bit de poids fort qui correspond à la valeur '''4'''.
 +
 
 +
Au final, l'adresse est: '''0x70 + A2 + A1 + A0'''.  
  
 
Donc, par exemple:
 
Donc, par exemple:
* if '''A2''' is shorted and '''A0''' is shorted, the address is '''0x70 + 4 + 1 = 0x75'''.  
+
* Si '''A2''' est ponté et '''A0''' est ponté, l'adresse est '''0x70 + 4 + 1 = 0x75'''.  
* If only '''A1''' is shorted, the address is '''0x70 + 2 = 0x72'''
+
* Si seulement '''A1''' est le ponté, l'adresse est '''0x70 + 2 = 0x72'''
  
{{ambox | text = '''A2''' does not appear on the mini 20mm 8x8 matrix, so you cannot set the address higher than '''0x73''' }}
+
{{ambox | text = '''A2''' n'apparait pas sur les matrices 8x8 mini (20mm), vous ne pouvez donc pas fixer d'adresse au dessus de '''0x73''' }}
  
 
{{Ambox
 
{{Ambox
Ligne 31 : Ligne 36 :
 
| image      = [[File:StopHand.png|40px|alt=Stop]]
 
| image      = [[File:StopHand.png|40px|alt=Stop]]
 
| textstyle  = color: red; font-weight: bold; font-style: italic;
 
| textstyle  = color: red; font-weight: bold; font-style: italic;
| text      = Sur le backpack de la matrice 8x8 30mm, les libellés A1 et A2 on malheureusement été inversés!
+
| text      = Sur le backpack de la matrice 8x8 30mm, les libellés A1 et A2 sont malheureusement été inversés!
 
}}
 
}}
  
Ligne 39 : Ligne 44 :
  
 
== Changer l'adresse dans votre code ==
 
== Changer l'adresse dans votre code ==
 +
 +
{{ traduction}}
  
 
Once you've adjusted the address on the backpack, you'll also want to adjust the address in the code!
 
Once you've adjusted the address on the backpack, you'll also want to adjust the address in the code!

Version du 7 février 2013 à 08:03

Le circuit intégré HT16K33 (contrôleur) sur ce backpack à l'adresse I2C par défaut 0x70. Puisque chaque composant d'un bus I2C doit disposer d'une adresse unique, il est important d'éviter les collisions d'adressage sinon vous risquez d'obtenir d'étrange réponses en retour (de vos composants)!

Par chance, le HT16K33 dispose de 2 ou 3 broches permettant d'ajuster l'adresse, ce qui permet de modifier l'adresse du backpack sur le bus I2C! Le backpack de la matrice 8x8 mini (20mm) dispose de deux broches/pins modifiant l'adresse I2C. Les backpacks de la matrice 8x8 30mm, de la matrice 8x8 bi-colore et de l'afficheur 4 x 7-segments disposent de 3 broches/pins permettant d'ajuster l'adresse I2C.

Cela signifie que vous pouvez utiliser les adresses suivantes pour les backpacks:

  • Matrice 8x8 Mini 20mm: 0x70, 0x71, 0x72, 0x73
  • Matrice 8x8 Petite 30mm: 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77
  • Afficheur 4 x 7-segments: 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77
  • Matrice 8x8 Bi-color 30mm: 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77

Vous pouvez mélanger autant de matrices et afficheurs, aussi longtemps que chacun d'entre eux dispose de sa propre adresse unique!

Modifier les addresses

Vous pouvez modifier l'adresse d'un backpack vraiment très facilement.

Si vous regardez derrière la carte, vous trouverez deux ou trois "cavaliers" sous forme de pastilles à ponter avec un point de soudure (Solder Jumper en anglais). Ces deux ou trois cavaliers portent les mentions A0, A1 ou A2.

Chacun de ces cavaliers utilisé pour définir matériellement (hardcode) l'adresse du module. Si le cavalier active l'adresse s'il est court-circuité/ponté avec un point de soudure. A0 active le bit de poids le plus faible qui à la valeur 1, A1 le bit d'adresse du milieu qui correspond à la valeur 2 et A2 le bit de poids fort qui correspond à la valeur 4.

Au final, l'adresse est: 0x70 + A2 + A1 + A0.

Donc, par exemple:

  • Si A2 est ponté et A0 est ponté, l'adresse est 0x70 + 4 + 1 = 0x75.
  • Si seulement A1 est le ponté, l'adresse est 0x70 + 2 = 0x72

ADF-LED-BACKPACK-ARD-01.jpg

ADF-LED-BACKPACK-ARD-02.jpg

Changer l'adresse dans votre code

Once you've adjusted the address on the backpack, you'll also want to adjust the address in the code! For the Arduino library we wrote, its simple. For example, lets say you want to have two seven-segment matrices. One is set to address 0x70 and the other is set to 0x71. Find this code in the example

Adafruit_7segment matrix = Adafruit_7segment();
     
    void setup() {
    Serial.begin(9600);
    Serial.println("7 Segment Backpack Test");
     
    matrix.begin(0x70);
    }

And change it to this:

Adafruit_7segment matrix1 = Adafruit_7segment();
Adafruit_7segment matrix2 = Adafruit_7segment();
 
void setup() {
Serial.begin(9600);
Serial.println("Double 7 Segment Backpack Test");
 
matrix1.begin(0x70);
matrix2.begin(0x71);
}

That is, instantiate two matrix objects. Then one is called with begin(0x70) and the other is called with begin(0x71). Each one can be used individually. If you need more matrices, just instantiate more objects at the top and begin() each one with the unique i2c address.


Source: Control small led matrice with ease créé par LadyAda pour AdaFruit Industries. Crédit AdaFruit Industries

Traduit avec l'autorisation d'AdaFruit Industries - Translated with the permission from Adafruit Industries - www.adafruit.com

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.