Manual
do
Maker
.
com
às vezes tudo o que você precisa é de mais uma porta de I/O; ou duas. Ou três, ou cinco ou 24, não importa, a solução é simples. Utilizando um expansor de I/O PCF8574, um Attiny85 pode ser mais que o suficiente para projetos com acionamento de relé, permitindo a interconexão de vários deles, utilizando apenas 2 pinos do Attiny85 para o I²C. O Attiny não tem uma interface I²C especifica, mas possui uma interface USI (Universal Serial Interface) que pode ser utilizada como I²C.
Já escrevi outros artigos sobre esse expansor de I/O como você pode ver aqui e aqui. Hoje vou exemplificar de maneira rápida e simples a utilização do PCF8574 com Attiny (adquira do nosso patrocinador Fulltronic) de forma que você economizará espaço, energia e dinheiro.
O controlador tem apenas 8 pinos e nessa imagem você vê a pinagem:
Basicamente, você terá SCL (clock) no pino 7 e SDA (data) no pino 5. Na board porém, a conexão é feita no pino 0 e pino 2, send SDA e SCL, respectivamente.
Do mesmo modo, no PCF8574 você conectará SDA a SDA e SCL a SCL, além das alimentações. Não precisa de imagem de wiring pra isso, certo? Vamos ao código então.
Primeiro conceito necessário; o PCF8574 é mais simples que um dispositivo I²C tradicional, porque você não tem que ler um registrador específico, apenas deve mandar o pino (ou pinos) a controlar.Previamente, você deve saber o endereço do dispositivo que receberá comandos. Leia meus outros artigos relacionados citados mais acima e você entenderá claramente. A PCF8574 que estou utilizando está no endereço 32 (0x20 ou 0b00100000) .
Pegue a biblioteca conforme referenciado em http://playground.arduino.cc/Code/USIi2c (ou clique aqui), siga o código de exemplo. Para manipular os pinos do PCF8574, basta mandar o bit correspondente. Para um controle efetivo, sugiro que utilize esse tutorial onde demonstro como controlar os pinos com bitwise.
É bastante simples, mas fica como dica invés de tutorial. Tenho mais 12 artigos para escrever, então deixe-me iniciá-los agora.
Inscreva-se no nosso canal Manual do Maker Brasil no YouTube.
Autor do blog "Do bit Ao Byte / Manual do Maker".
Viciado em embarcados desde 2006.
LinuxUser 158.760, desde 1997.