Ci Pcf8574 Expansor De Portas I/o 8 Bits I2c Para Arduino

01 SET
2015

Autor: Leonardo Dalla Porta

Você que já criou projetos grandes, ou se está pensando que seu Arduino terá poucas portas para comunicar com seus dispositivos, provavelmente um expansor de portas é a melhor solução para seu caso! Já pensou transformar 2 portas de comunicação do Arduino em 8 portas I\O, além disso, podemos conectar 8 expansores pela mesma porta de comunicação, portanto, podemos ter com 8 Cis, cada um expandindo 8 portas (8*8=) 64 portas digitais!

Muitas vezes a eletrônica digital se limita por algum motivo, esse motivo geralmente se ocasiona pela falta de portas, como já mencionamos o expansor de portas aumenta esse numero, para cada Ci, 8 portas digitais, dessa forma podemos controlar muitas coisas utilizando somente dois pinos do arduino, sim, somente os pinos da comunicação I2C, desta forma tudo fica mais fácil, mas deixando a conversa de lado vamos a pratica!

Você vai precisar de:

  • -Um CI expansor de portas PCF8574

  • -Um Arduino

  • -Dois resistores de 2,2k

  • -Oito Resistores de 10k

  • -Um capacitor cerâmico de 100nF (Funciona sem… (Mas coloque))

  • -Jumpers!

  • -Protoboard

Montagem!

Para este CI Expansor de Portas, precisaremos de um pouco de conhecimento com eletrônica, além de ter os materiais mencionados acima, assim você poderá montar todo o circuito, lembrando que este CI trabalha com suas portas digitais de 0v e 5v, se for ligar leds ou relés lembre de limitar a corrente utilizando resistores, os resistores mencionados na imagem abaixo podem ser modificadas desde que tenham valores bem próximos, caso contrario seu Circuito integrado poderá se queimar. Este esquema foi desenvolvido no software: CadSoft Eagle 6.4.0, podendo não ser compatível com outras versões. Download do esquema para Eagle neste link.

1

 

Pinagens do CI:

PCF8574P

 

Código

Após montar o circuito, faça o download desta biblioteca deste código instale, e faça upload no Arduino e veja se todos os leds estão acendendo sequencialmente, se sim, o circuito está ok! Mas para entendermos um pouco do código:

Primeiramente, precisamos adicionar a biblioteca:

#include <PortExpander_I2C.h>
#include <Wire.h>

Após definimos, que o nosso ci está trabalhando na porta 0x21:

PortExpander_I2C pe(0x21);

Já dentro da Setup iniciamos o Expansor de portas:

pe.init();

No void loop, configuramos qual pinos queremos acender, no nosso caso efetuamos duas operações para acender um a cada loop:

for( int i = 0; i < 7; i++ )

{

pe.digitalWrite(i, HIGH);

delay(200);

pe.digitalWrite(i, LOW);

}

for( int i = 7; i > 0; i– )

{

pe.digitalWrite(i, HIGH);

delay(200);

pe.digitalWrite(i, LOW);

}

 

Qualquer duvida deixe seu comentário abaixo, espero ter sido esclarecedor, um abraço e até a próxima!

Faça um bom uso! Att. Equipe Nadiel Comércio.

Autor: Leonardo D. Porta

Deixe um comentário

Premium WordPress Themes

*

 
Free WordPress Theme
WordPress Themes