MCP23017 16-Bit I/O Expander I2C Interface Module

DKK30.00 inkl. moms

MCP23017 16-Bit I/O Expander I2C Interface Module.

Udsolgt - Skriv mail for mere info.

Fortæl andre om dette produkt.

Email
Varenummer (SKU): 4902 Kategori: Tags: , , , , , ,

Beskrivelse

MCP23017 16-Bit I/O Expander I2C Interface Module. Få flere ind/udgange til dit board, helt op til 128.

Kan tilsluttes sammen med:

Tekniske detaljer:

Power Supply: 1.8V ~ 5.5V
Supply Current: 1mA
Operational Current Max out of Vss: 150mA
Operational Current Max into Vdd: 25mA
Output current per pin: 25mA
Standby Current: 1uA
I2C address: 0x20 ~ 0x27

Max udgang: Der kan max programmeres 8 addresser (0x20 ~ 0x27), med i alt 16 ind/udgange. Det vil sige at du max kan tilføje 128 ind/udgange på dit board.

Installere Arduino IDE Software

Før du kan starte din programmering skal Arduino’s IDE software hentes. Dette program bruges til at programmere din arduino.
Download fra dette link: Download

Installere Adafruit-MCP23017

  • Download library (Download)
  • Udpak filer
  • Flyt/kopir mappen “Adafruit-MCP23017” til  “libraries” som findes i “Arduino IDE” mappen (C:\Program Files (x86)\Arduino\libraries)
  • Åben Arduino IDE software og klik på “Sketch/Include library”
  • Klik nu på “Add Zip. library” og find Zip filen du lige har downloaded.
  • Åben “Manage” for at opdatere library.
  • Luk, og åben Arduino IDE programmet. (Genstart programmet)
  • Nu er Adafruit-MCP23017 Library installeret

Programmering

Inden programmeringen kan udføres skal den rigtige “COM” port findes. Klik “Værktøj/Port” – og vælg COM port.

Eksempel

Her viser vi et hurtig eksempel på hvordan du kan styre ind/udgangene, dette eksempel gør at de 2 LED blinker og LED 3 stopper med at lyse når der trykkes på knappen.

Du skal bruge

Forbind sådan:

Forbind Pin A7 (MCP23017) til LED 1
Forbind Pin A4 (MCP23017) til LED 2
Forbind Pin VCC (MCP23017) til 5V (Arduino VCC)
Forbind pin SDA (MCP23017) til Analog 4 (Arduino – i2c data SDA)
Forbind pin SCL (MCP23017) til Analog 5 (Arduino – i2c data SCL)
Forbind Pin B3 (MCP23017) til LED 3
Forbind Pin B0 (MCP23017) til Switch (GND)

Har du flere MCP23017 monteret, skal “SDA og SCL”bare sløjfes videre. (Max 8 stk.)

Kode

#include <Wire.h>
#include <Adafruit_MCP23017.h>

#define MCP_LED1 7      //A side (Pin 28 - GPA7)
#define MCP_INPUTPIN 8  //B side (Pin 1 - GPB0)
#define MCP_LEDTOG2 4   //A side (Pin 25 - GPA4)
#define MCP_LEDTOG1 11  //B side (Pin 4 - GPB3)


Adafruit_MCP23017 mcp; // chip 1
#define addr1 000 // 0x20 - A1 low, A2 low, A3 low- Se billede for info low = GND High = 5V

//Ved flere chip
//Adafruit_MCP23017 mcp2; // chip 2 
//#define addr2 001 // 0x21 - A1 low, A2 low, A3 high - Se billede for info
  
void setup() {  
  mcp.begin(addr1);      // Default device address 0

  mcp.pinMode(MCP_LEDTOG1, OUTPUT);  // Toggle LED 1
  mcp.pinMode(MCP_LEDTOG2, OUTPUT);  // Toggle LED 2
  
  mcp.pinMode(MCP_LED1, OUTPUT);     // LED output
  mcp.digitalWrite(MCP_LED1, HIGH);

  mcp.pinMode(MCP_INPUTPIN,INPUT);   // Button i/p to GND
  mcp.pullUp(MCP_INPUTPIN,HIGH);     // Puled high to ~100k
}

// Alternate LEDTOG1 and LEDTOG2.
// Transfer pin input to LED1.
void loop() {

  delay(300);

  mcp.digitalWrite(MCP_LEDTOG1, HIGH);
  mcp.digitalWrite(MCP_LEDTOG2, LOW);

  delay(300);

  mcp.digitalWrite(MCP_LEDTOG1, LOW);
  mcp.digitalWrite(MCP_LEDTOG2, HIGH);
  
  // Transfer input pin state to LED1
  if (mcp.digitalRead(MCP_INPUTPIN)) {
     mcp.digitalWrite(MCP_LED1,HIGH);
  } else {
     mcp.digitalWrite(MCP_LED1,LOW);
  }
  
}

Kode – 2 MCP23017 tilsluttet

#include <Wire.h>
#include <Adafruit_MCP23017.h>

#define MCP_LED1 7 //A side (Pin 28 - GPA7)
#define MCP_INPUTPIN 8 //B side (Pin 1 - GPB0)
#define MCP_LEDTOG2 4 //A side (Pin 25 - GPA4)
#define MCP_LEDTOG1 11 //B side (Pin 4 - GPB3)

#define MCP2_LEDTOG1 9 //B side (Pin 2 - GPB1)

Adafruit_MCP23017 mcp; // chip 1
#define addr1 000 // 0x20 - A1 low, A2 low, A3 low- Se billede for info low = GND High = 5V

Adafruit_MCP23017 mcp2; // chip 2
#define addr2 001 // 0x21 - A1 low, A2 low, A3 high - Se billede for info

void setup() {
mcp.begin(addr1); // Default device address 0
mcp.begin(addr2); //

mcp.pinMode(MCP_LEDTOG1, OUTPUT); // Toggle LED 1
mcp.pinMode(MCP_LEDTOG2, OUTPUT); // Toggle LED 2

mcp2.pinMode(MCP2_LEDTOG3, OUTPUT); // Toggle LED 3

mcp.pinMode(MCP_LED1, OUTPUT); // LED output
mcp.digitalWrite(MCP_LED1, HIGH);

mcp.pinMode(MCP_INPUTPIN,INPUT); // Button i/p to GND
mcp.pullUp(MCP_INPUTPIN,HIGH); // Puled high to ~100k
}

// Alternate LEDTOG1 and LEDTOG2.
// Transfer pin input to LED1.
void loop() {

delay(300);

mcp.digitalWrite(MCP_LEDTOG1, HIGH);
mcp.digitalWrite(MCP_LEDTOG2, LOW);

mcp2.digitalWrite(MCP2_LEDTOG3, LOW);

delay(300);

mcp.digitalWrite(MCP_LEDTOG1, LOW);
mcp.digitalWrite(MCP_LEDTOG2, HIGH);

mcp2.digitalWrite(MCP2_LEDTOG3, HIGH);

// Transfer input pin state to LED1
if (mcp.digitalRead(MCP_INPUTPIN)) {
mcp.digitalWrite(MCP_LED1,HIGH);
} else {
mcp.digitalWrite(MCP_LED1,LOW);
}

}

Download

Kontakt os

Du er altid velkommen til at kontakte os på info@ardustore.dk, eller sende os en besked via messenger (Klik her) og vi vil hjælpe dig.

Anmeldelser

Der er endnu ikke nogle anmeldelser.

Vær den første til at anmelde “MCP23017 16-Bit I/O Expander I2C Interface Module”

Din e-mailadresse vil ikke blive publiceret.

Du kunne også være interesseret i...