Différences entre versions de « MCP23017-Brancher-Sortie »

De MCHobby - Wiki
Sauter à la navigation Sauter à la recherche
 
(7 versions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
 
{{MCP23017-NAV}}
 
{{MCP23017-NAV}}
  
{{traduction}}
+
== But de l'exemple ==
 +
Cet exemple présente le montage pour commander une broche du MCP23017 comme sortie.
 +
 
 +
Le but du montage est de faire clignoter une LED sur la sortie #0 (GPA0) du MCP27013.
 +
 
 +
Afin de rendre le fonctionnement du programme plus évident (ou vous assurer que le programme fonctionne bien sur votre Arduino), nous avons également fait clignoté la LED de votre Arduino (celle raccordée sur la sortie 13).
 +
 +
== Montage ==
 +
 
 +
[[Fichier:MCP23017-sortie.jpg]]
 +
 
 +
Voici les quelques étapes de raccordement.
 +
 
 +
[[Fichier:MCP23017-layout.jpg]]
 +
 
 +
=== Brancher le bus I2C ===
 +
* Connectez la broche #12 sur Arduino broche Analogique A5 (Horloge I2C, SCL)
 +
* Connectez la broche #13 sur Arduino broche Analogique A4 (Données I2C, SDA)
 +
 
 +
=== Fixer l'adresse du MCP2307 ===
 +
Fixer l'adresse à la valeur par défaut cette adresse est 0x00.
 +
 
 +
Si ces connexions ne sont pas effectuées, votre MCP Risque d'avoir une adresse flottante... et ne répondra probablement pas à votre programme.
 +
 
 +
* Connectez la broche #15, 16 et 17 sur GND (Sélection de l'adresse)
 +
 
 +
=== Alimentation ===
 +
Il faut bien entendu fournr
 +
* Connectez la broche #9 sur 5V (Alimentation)
 +
* Connectez la broche #10 sur GND (Masse commune)
 +
 
 +
=== Signal Reset ===
 +
Le signal Reset permet de réinitialiser le MCP.
 +
 
 +
Le "reset" intervient lorsque le potentiel de la broche est à 0v (GND).
 +
 
 +
* Connectez la broche #18 sur 5V pour désactiver la ligne Reset
 +
 
 +
{{ambox-stop|text=Il important donc brancher la broche "reset" sur +5V... sinon le potentiel risque d'être flottant entre "reset" et "pas reset" et votre MCP qui fonctionnait il y a 5 minutes peut ensuite ne plus répondre aux différentes commandes. De quoi devenir chèvre.}}  
 +
 
 +
=== Brancher la sortie ===
 +
Nous allons utiliser la sortie sortie #0 (GPA0) du MCP23017 qui se trouve sur la Broche 21 du MCP.
 +
 
 +
Nous allons y raccorder une résistance de 330 Ohms puis une LED que nous raccorderons à la masse.
 +
 
 +
* Brancher la LED et sa résistance sur la broche 21 du MCP23017.
  
 
== Code ==
 
== Code ==
Voici le code issu du programme toggle.pde de la librairie [https://github.com/adafruit/Adafruit-MCP23017-Arduino-Library/blob/master/examples/toggle/toggle.pde Adafruit-MCP23017-Arduino-Library].  
+
Voici le code issu du programme toggle.pde de la librairie [https://github.com/adafruit/Adafruit-MCP23017-Arduino-Library/blob/master/examples/toggle/toggle.pde Adafruit-MCP23017-Arduino-Library].
 +
 
 +
Nous avons introduit quelques modifications et traduit les commentaires en Français
  
 
  <nowiki>
 
  <nowiki>
Ligne 12 : Ligne 59 :
 
   Code écrit par LadyAda pour AdaFruit Industries [www.adafruit.com], Domaine Publique
 
   Code écrit par LadyAda pour AdaFruit Industries [www.adafruit.com], Domaine Publique
 
    
 
    
   TRADUCTION FRANCAISE par Meurisse D. pour MCHobby.be [www.mchobby.be], CC-BY-SA pour tâche de traduction
+
   TRADUCTION FRANCAISE par Meurisse D. pour MCHobby.be [www.mchobby.be], CC-BY-SA pour tâche de traduction.
 +
  COMPLEMENT DU CODE  par Meurisse D. pour MCHobby.be [www.mchobby.be], Domaine publique... comme AdaFruit
 
   TUTORIEL complémentaire EN FRANCAIS par MCHobby.be sur (voir wiki pour licence tutoriel)
 
   TUTORIEL complémentaire EN FRANCAIS par MCHobby.be sur (voir wiki pour licence tutoriel)
 
       http://mchobby.be/wiki/index.php?title=MCP23017
 
       http://mchobby.be/wiki/index.php?title=MCP23017
  
 
   Acheter un MCP23017
 
   Acheter un MCP23017
       http://mchobby.be/PrestaShop/product.php?id_product=218
+
       http://shop.mchobby.be/product.php?id_product=218
 
*/
 
*/
 
    
 
    
Ligne 35 : Ligne 83 :
 
// ou autre choses (lui même raccordé vers la masse/GND)
 
// ou autre choses (lui même raccordé vers la masse/GND)
  
 +
// Ajout MCHobby:
 +
// - Connectez la broche #18 du MCP23017 sur 5V (désactiver la ligne Reset)
 +
// - Activer la broche 13 pour faire clignoter la LED sur la carte Arduino au même rythme
 +
//  (sert de témoin d'exécution et permet de détecter les erreurs de montage.
 +
// - Utiliser un délai de pause de 1 seconde au lieu de 100ms
 +
//
 
Adafruit_MCP23017 mcp;
 
Adafruit_MCP23017 mcp;
 
    
 
    
 
void setup() {
 
void setup() {
 
   mcp.begin(); // Utilise l'adresse par défaut qui est 0
 
   mcp.begin(); // Utilise l'adresse par défaut qui est 0
 +
 +
  // Définir la sortie 13 comme sortie
 +
  pinMode( 13, OUTPUT );
  
 
   // Définir la sortie #0 (GPA 0, broche 21) comme sortie
 
   // Définir la sortie #0 (GPA 0, broche 21) comme sortie
Ligne 48 : Ligne 105 :
  
 
void loop() {
 
void loop() {
   delay(100); // Attendre 100ms
+
   delay(1000); // Attendre 1000ms
  
   mcp.digitalWrite(0, HIGH); // Activer sortie
+
  digitalWrite( 13, HIGH);  // Activer LED témoin sur Arduino
 +
   mcp.digitalWrite(0, HIGH); // Activer sortie du MCP
  
   delay(100); // Attendre 0.1s (100ms)
+
   delay(1000); // Attendre 1s (1000ms)
  
 +
  digitalWrite( 13, LOW);  // Désactiver LED témoin sur Arduino
 
   mcp.digitalWrite(0, LOW); // Désactiver la sortie)
 
   mcp.digitalWrite(0, LOW); // Désactiver la sortie)
 
}</nowiki>
 
}</nowiki>
  
 
{{MCP23017-TRAILER}}
 
{{MCP23017-TRAILER}}

Version actuelle datée du 16 janvier 2014 à 20:50

But de l'exemple

Cet exemple présente le montage pour commander une broche du MCP23017 comme sortie.

Le but du montage est de faire clignoter une LED sur la sortie #0 (GPA0) du MCP27013.

Afin de rendre le fonctionnement du programme plus évident (ou vous assurer que le programme fonctionne bien sur votre Arduino), nous avons également fait clignoté la LED de votre Arduino (celle raccordée sur la sortie 13).

Montage

MCP23017-sortie.jpg

Voici les quelques étapes de raccordement.

MCP23017-layout.jpg

Brancher le bus I2C

  • Connectez la broche #12 sur Arduino broche Analogique A5 (Horloge I2C, SCL)
  • Connectez la broche #13 sur Arduino broche Analogique A4 (Données I2C, SDA)

Fixer l'adresse du MCP2307

Fixer l'adresse à la valeur par défaut cette adresse est 0x00.

Si ces connexions ne sont pas effectuées, votre MCP Risque d'avoir une adresse flottante... et ne répondra probablement pas à votre programme.

  • Connectez la broche #15, 16 et 17 sur GND (Sélection de l'adresse)

Alimentation

Il faut bien entendu fournr

  • Connectez la broche #9 sur 5V (Alimentation)
  • Connectez la broche #10 sur GND (Masse commune)

Signal Reset

Le signal Reset permet de réinitialiser le MCP.

Le "reset" intervient lorsque le potentiel de la broche est à 0v (GND).

  • Connectez la broche #18 sur 5V pour désactiver la ligne Reset

Brancher la sortie

Nous allons utiliser la sortie sortie #0 (GPA0) du MCP23017 qui se trouve sur la Broche 21 du MCP.

Nous allons y raccorder une résistance de 330 Ohms puis une LED que nous raccorderons à la masse.

  • Brancher la LED et sa résistance sur la broche 21 du MCP23017.

Code

Voici le code issu du programme toggle.pde de la librairie Adafruit-MCP23017-Arduino-Library.

Nous avons introduit quelques modifications et traduit les commentaires en Français

/* Exemple toggle.pde
   Utilise la librairie Adafruit-MCP23017 pour changer une sortie du MCP23017. 
   
   Code écrit par LadyAda pour AdaFruit Industries [www.adafruit.com], Domaine Publique
   
   TRADUCTION FRANCAISE par Meurisse D. pour MCHobby.be [www.mchobby.be], CC-BY-SA pour tâche de traduction.
   COMPLEMENT DU CODE   par Meurisse D. pour MCHobby.be [www.mchobby.be], Domaine publique... comme AdaFruit
   TUTORIEL complémentaire EN FRANCAIS par MCHobby.be sur (voir wiki pour licence tutoriel)
      http://mchobby.be/wiki/index.php?title=MCP23017

   Acheter un MCP23017
      http://shop.mchobby.be/product.php?id_product=218
*/
   
#include <Wire.h>
#include "Adafruit_MCP23017.h"

// Test de base d'ecriture d'état pour un "MCP23017 I/O expander"
// Domaine publique (code d'origine)!

// Connectez la broche #12 du MCP23017 sur Arduino broche Analogique A5 (Horloge I2C, SCL)
// Connectez la broche #13 du MCP23017 sur Arduino broche Analogique A4 (Données I2C, SDA)
// Connectez la broche #15, 16 et 17 du MCP23017 sur DNG (Sélection de l'adresse)
// Connectez la broche #9 du MCP23017 sur 5V (Alimentation)
// Connectez la broche #10 du MCP23017 sur GND (Masse commune)

// Sortie #0 (GPA0) est sur la Broche 21 du MCP, vous pouvez y connecter une LED 
// ou autre choses (lui même raccordé vers la masse/GND)

// Ajout MCHobby:
// - Connectez la broche #18 du MCP23017 sur 5V (désactiver la ligne Reset)
// - Activer la broche 13 pour faire clignoter la LED sur la carte Arduino au même rythme
//   (sert de témoin d'exécution et permet de détecter les erreurs de montage.
// - Utiliser un délai de pause de 1 seconde au lieu de 100ms
//
Adafruit_MCP23017 mcp;
  
void setup() {
  mcp.begin(); // Utilise l'adresse par défaut qui est 0

  // Définir la sortie 13 comme sortie
  pinMode( 13, OUTPUT );

  // Définir la sortie #0 (GPA 0, broche 21) comme sortie
  mcp.pinMode(0, OUTPUT); 
}


// Activer/désactiver la sortie #0 du MCP toutes les 100 millisecondes

void loop() {
  delay(1000); // Attendre 1000ms

  digitalWrite( 13, HIGH);   // Activer LED témoin sur Arduino
  mcp.digitalWrite(0, HIGH); // Activer sortie du MCP

  delay(1000); // Attendre 1s (1000ms)

  digitalWrite( 13, LOW);  // Désactiver LED témoin sur Arduino
  mcp.digitalWrite(0, LOW); // Désactiver la sortie)
}

Source: Librairie MCP23017 d'AdaFruit Industries

Tutoriel réalisé par Meurisse D pour MCHobby basé sur la librairie MCP23017 de LadyAda (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.