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
Tags:
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...
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por