Expandido IO no Attiny85

attiny85
attiny85

Expandindo IO no Attiny85 com PCF8574

à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.

Pinout

O controlador tem apenas 8 pinos e nessa  imagem você vê a pinagem:

Attiny85
Attiny85

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.

Código para atuar com o PCF8574





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, 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 newsletter, alí em cima à direita e receba novos posts por email.

Siga-nos no Do bit Ao Byte no Facebook.

Prefere twitter? @DobitAoByte.

Inscreva-se no nosso canal Do bit Ao Byte Brasil no YouTube.

Nossos grupos:

Arduino BR – https://www.facebook.com/groups/microcontroladorarduinobr/
Raspberry Pi BR – https://www.facebook.com/groups/raspberrybr/
Orange Pi BR – https://www.facebook.com/groups/OrangePiBR/
Odroid BR – https://www.facebook.com/groups/odroidBR/
Sistemas Embarcados BR – https://www.facebook.com/groups/SistemasEmbarcadosBR/
MIPS BR – https://www.facebook.com/groups/MIPSBR/
Do Bit ao Byte – https://www.facebook.com/groups/dobitaobyte/

Próximo post a caminho!

Agregador de Links - Loucuras da Net

Comments

comments

Djames Suhanko

Djames Suhanko é Perito Forense Digital. Já atuou com deployer em sistemas de missão critica em diversos países pelo mundão. Programador Shell, Python, C, C++ e Qt, tendo contato com embarcados ( ora profissionalmente, ora por lazer ) desde 2009.