Dispositivos e Sensores

Aprenda o conceito e o modo de funcionamento dos componentes que utiliza nos seus projetos.

PCF8574

O módulo ou o chip PCF8574 permite adicionar 8 entradas ou saídas digitais ao Arduino ou outro microcontrolador com comunicação I2C. Através desta comunicação podemos adicionar vários módulos ou chips até um limite máximo de 64 portas I/O, tendo em conta módulos ou chips do mesmo modelo. Isto quer dizer que se trabalharmos com diferentes modelos de PCF8574 podemos acrescentar mais portas.

No mercado podemos encontrar dois modelos de PCF8574:

  • PCF8574A: com endereços hexadecimais compreendidos entre 38 e 3F;
  • PCF8574: com endereços hexadecimais compreendidos entre 20 e 27.

 

PCF8574 Datasheet

Os pinos A0, A1 e A2 servem para definir o endereço do nosso módulo PCF8574. Vejamos as seguintes tabelas de configuração, para os modelos PCF8574 PCF8574A, lembrando de que 1 é 5V e 0 é o GND:

Os pinos P0, P1, P2, P3, P4, P5, P6 e P7 vão ser as nossas "portas extras" que cada PCF8574 vai possibilitar. São portas bidirecionais que podem ser usadas como entrada ou saída. De ter em conta que podemos ter um máximo de 8 extenders, do mesmo tipo, ligados entre si através do protocolo I2C.

Os pinos VSS e VDD irão servir para ligar o GND e os 5V respetivamente.

Os pinos SDA (I2C Serial Data Input/Output) e SCL (I2C Serial Clock Input) são para a interface I2C, ligam às portas A4 e A5 respetivamente. De ter em atenção que ambos devem ser ligados ao VDD através de um pull-up resistor.

Por último temos o pino INT (Interrupt Output), este a ser usado também deve ser ligado ao VDD através de um pull-up resistor.

 

Resistores pull-up são resistores usados em circuitos lógicos eletrônicos para garantir que entradas de sistemas lógicos se ajustem em níveis lógicos esperados no caso de dispositivos externos serem desconectados. Eles também podem ser usados na interface entre dois diferentes tipos de dispositivos lógicos, possivelmente operando em tensões diferentes.

A ideia de um resistor pull-up é que ele fracamente "puxe" (pull) a tensão do condutor que ele está conectado para nível lógico alto. Contudo, o valor do resistor é intencionalmente alto o suficiente para que, se qualquer outra coisa que puxe fortemente a tensão do condutor para 0V, a tensão irá para 0V. Um exemplo de algo que fortemente puxaria a tensão para 0V seria o transístor em uma saída de coletor aberto.

 

Fonte: Wikipédia: https://pt.wikipedia.org/wiki/Resistor_pull-up

 

Para utilizarmos este módulo, juntamente com o Arduino, é necessário utilizar a biblioteca PCF8574. Para incluir a mesma na IDE do seu Arduino vá ao Menu Rascunho > Incluir Biblioteca > Gerir Bibliotecas... e procure por PCF8574 e instale a biblioteca PCF8574 library.

 

A partir deste momento poderá usar este módulo ou chip nos seus projetos, podendo aumentar significativamente o número de componentes a utilizar nos seus projetos.