Modifications

Sauter à la navigation Sauter à la recherche
1 799 octets ajoutés ,  22 juin 2013 à 22:14
Ligne 42 : Ligne 42 :  
L'exemple de code didactique suivant montre comment activer les LEDs sur les 3 MCP23017 branché ci-dessus.
 
L'exemple de code didactique suivant montre comment activer les LEDs sur les 3 MCP23017 branché ci-dessus.
   −
  <nowiki>
+
  <nowiki>/* Exemple SeveralMCP23017.pde
 +
  Utilise la librairie Adafruit-MCP23017 pour démontrer l'utilisation de plusieurs MCP23017 sur
 +
  un seul bus I2C.
 +
 
 +
  Code écrit par Meurisse D. pour MCHobby.be [www.mchobby.be], Licence CC-BY-SA
 +
 
 +
  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://mchobby.be/PrestaShop/product.php?id_product=218
 +
*/
 +
 
 +
#include <Wire.h>
 +
#include "Adafruit_MCP23017.h"
 +
 
 +
// Test de base d'ecriture d'état pour trois "MCP23017 I/O expander" partageant un même bus I2C
 +
//
 +
// Raccordements: http://mchobby.be/wiki/index.php?title=MCP23017-Plusieurs
 +
Adafruit_MCP23017 mcp1;
 +
Adafruit_MCP23017 mcp2;
 +
Adafruit_MCP23017 mcp3;
 +
 
 +
void setup() {
 +
  mcp1.begin(5); // Utilise l'adresse 5 pour IC1
 +
  mcp2.begin(6); // Utilise l'adresse 6 pour IC2
 +
  mcp3.begin(7); // Utilise l'adresse 7 pour IC3
 +
 
 +
  // Définir la sortie #0 (GPA 0, broche 21) sur IC1 comme sortie
 +
  mcp1.pinMode(0, OUTPUT);
 +
  // Définir la sortie #1 (GPA 1, broche 22) sur IC2 comme sortie
 +
  mcp2.pinMode(1, OUTPUT);
 +
  // Définir la sortie #6 (GPA 6, broche 27) sur IC3 comme sortie
 +
  mcp3.pinMode(6, OUTPUT);
 +
}
 +
 
 +
 
 +
// Activer/désactiver la sortie #0 du MCP toutes les 100 millisecondes
 +
 
 +
void loop() {
 +
  delay(1000); // Attendre 1000ms
 +
  mcp1.digitalWrite(0, HIGH); // Activer sortie sur IC1
 +
  delay(300);
 +
  mcp2.digitalWrite(1, HIGH); // Activer sortie sur IC2
 +
  delay(300);
 +
  mcp3.digitalWrite(6, HIGH); // Activer sortie sur IC3
 +
 
 +
  delay(1000); // Attendre 1s (1000ms)
 +
  mcp1.digitalWrite(0, LOW); // Désactiver sortie sur IC1
 +
  delay(300);
 +
  mcp2.digitalWrite(1, LOW); // Désactiver sortie sur IC2
 +
  delay(300);
 +
  mcp3.digitalWrite(6, LOW); // Désactiver sortie sur IC3
 +
}
 
</nowiki>
 
</nowiki>
    
{{MCP23017-TRAILER}}
 
{{MCP23017-TRAILER}}
29 917

modifications

Menu de navigation