Galera estou compartilhando uma experiencia que achei muito viavel..

com este CI podemos ampliar as I/Os do arduino em 16 portas cambiaveis entre entrada e saida como desejar!!!

utilizei este projeto em um robo na minha empresa.

abaixo e so um exemplo ligando um botao e um led mas podem utilizar todas as portas.

 

componentes

IC1 MCP23017 I2C I/O Expander
LED1 Red LED - 3mm
R1 1k Ω Resistor
R2 4.7k Ω Resistor
R3 4.7k Ω Resistor
S1 Pushbutton

 

 

skecht exemplo:

 

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

 

Adafruit_MCP23017 mcp;
 
void setup()


  mcp.begin(0);      // use default address 0 ( a0,a1,a2 a gnd), se address 1 (usar a0=5v , a1=0, a2=0)

  mcp.pinMode(2, INPUT);
  mcp.pullUp(2, HIGH);  // liga o resistor 100K pullup interno

  mcp.pinMode(0, OUTPUT);  // usar o pino2 para ligar o led

 

}

 

void loop() {
  int all=mcp.digitalRead(2));

if (all==1)

mcp.digitalWrite(0, HIGH);

if (all==0)

mcp.digitalWrite(0,LOW);

 

}

 

 

FONTES:

http://tronixstuff.wordpress.com/2011/08/26/tutorial-maximising-you...

http://www.adafruit.com/products/732

 

library arduino adafruit:

https://github.com/adafruit/Adafruit-MCP23017-Arduino-Library

Exibições: 2691

Responder esta

Respostas a este tópico

Show!

Eu também fiz uma lib para multiplexação de portas, no caso três portas comandando "n" dispositivos (testei com 80 portas): http://automatobr.blogspot.com.br/2012/07/como-parte-de-um-projeto-...

Eu ja tinha visto uma aplicação parecida com a sua usando o mesmo ci!! bakana tmb..

no caso da minha tambem pode ir plugando varios ci mpc23017 e ir aumentando cada vez mais o numero de i/os.

acho que da pra colocar ate 7 cis em paralelo no i2c. so verificar no datasheet as possibilidades de enderecamento do barramento i2c.

valew

O 74HC595 é legal também porque ele é muito fácil de achar e custa centavos...

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço