Brochage :

Librairie :
Cabalage:
Voici un petit exemple pour ajouter un bouton poussoir sur un des GPIO du mcp2317
Code :
#include <ESP8266WiFi.h>
#include <Wire.h>
// https://github.com/adafruit/Adafruit-MCP23017-Arduino-Library
#include "Adafruit_MCP23017.h"
// Basic pin reading and pullup test for the MCP23017 I/O expander
// public domain!
// Connect pin #12 of the expander to Analog 5 (i2c clock)
// Connect pin #13 of the expander to Analog 4 (i2c data)
// Connect pins #15, 16 and 17 of the expander to ground (address selection)
// Connect pin #9 of the expander to 5V (power)
// Connect pin #10 of the expander to ground (common ground)
// Connect pin #18 through a ~10kohm resistor to 5V (reset pin, active low)
// Input #1 is on pin 22 so connect a button or switch from there to ground
// constants won't change. They're used here to
// set pin numbers:
Adafruit_MCP23017 mcp;
const int buttonPin = 1; // the number of the pushbutton pin
const int ledPin = LED_BUILTIN; // the number of the LED pin
// variables will change:
int buttonState = 0; // variable for reading the pushbutton status
void setup() {
Serial.begin(115200);
mcp.begin(); // use default address 0
mcp.pinMode(buttonPin, INPUT);
mcp.pullUp(buttonPin, HIGH); // turn on a 100K pullup internally
// initialize the LED pin as an output:
pinMode(ledPin, OUTPUT);
}
void loop() {
// read the state of the pushbutton value:
buttonState = mcp.digitalRead(buttonPin);
// check if the pushbutton is pressed.
// if it is, the buttonState is LOW:
if (buttonState == LOW) {
// turn LED on:
digitalWrite(ledPin, LOW);
Serial.println("ON");
} else {
// turn LED off:
digitalWrite(ledPin, HIGH);
Serial.println("OFF");
}
}
