O PCF8575 é um expansor de E/S de 16 bits que se comunica com um microcontrolador através da interface i2C. Ele permite expandir o número de pinos de entrada/saída em seu Arduino, tornando -o perfeito para projetos que exigem muitos sensores, botões ou LEDs. Este tutorial o guiará através da conexão e do uso do PCF8575 com o Arduino.
O que você precisará
- Módulo de expansão de E/S PCF8575
- Board Arduino (por exemplo, Uno, Mega, Nano)
- Sensores, botões ou LEDs para testar
- Fios de pão e jumper
- Um computador com o Arduino IDE instalado
Etapa 1: Compreendendo o módulo PCF8575
O PCF8575 fornece 16 pinos GPIO adicionais que podem ser configurados como entradas ou saídas. Ele se comunica através do protocolo I2C e possui um endereço I2C ajustável para conectar vários módulos ao mesmo barramento.
Pinout
Alfinete | Função |
---|---|
VCC | Fonte de alimentação (3,3V/5V) |
Gnd | Chão |
SDA | I2C Linha de dados |
SCL | I2C Linha do relógio |
P0-P15 | Pinos de E/S de uso geral |
Configuração do endereço I2C
- O endereço I2C é determinado pelos pinos A0, A1 e A2:
- Todos os pinos para GND:
0x20
(endereço padrão) - Todos os pinos do VCC:
0x27
- Todos os pinos para GND:
Etapa 2: Fiação do PCF8575 para Arduino
Veja como conectar o PCF8575 a um Arduino:
Pino pcf8575 | Pino Arduino |
---|---|
VCC | 5V |
Gnd | Gnd |
SDA | A4 (SDA) |
SCL | A5 (SCL) |
Conecte seus periféricos (por exemplo, LEDs ou botões) aos pinos P0-P15.
Observação: Para outras placas do Arduino, certifique -se de usar os pinos I2C corretos.
Etapa 3: Instale a biblioteca necessária
Para simplificar o trabalho com o PCF8575, instale a biblioteca "PCF8575".
Etapas para instalar:
- Abra o Arduino IDE.
- Vá para Esboço > Inclua biblioteca > Gerenciar bibliotecas.
- Pesquise por "PCF8575" e clique Instalar.
Etapa 4: Faça o upload do código
Exemplo: Controle de LEDs
Este código demonstra como ligar e desligar os LEDs usando o PCF8575:
#include <Wire.h>
#include <PCF8575.h>
PCF8575 pcf8575(0x20); // Initialize with the default I2C address
void setup() {
Serial.begin(9600);
// Set all pins as outputs
for (int i = 0; i < 16; i++) {
pcf8575.pinMode(i, OUTPUT);
}
Serial.println("PCF8575 initialized.");
}
void loop() {
// Turn all LEDs on
for (int i = 0; i < 16; i++) {
pcf8575.digitalWrite(i, HIGH);
}
delay(1000);
// Turn all LEDs off
for (int i = 0; i < 16; i++) {
pcf8575.digitalWrite(i, LOW);
}
delay(1000);
}
Exemplo: Botões de leitura
Este código demonstra como ler a entrada dos botões conectados ao PCF8575:
#include <Wire.h>
#include <PCF8575.h>
PCF8575 pcf8575(0x20); // Initialize with the default I2C address
void setup() {
Serial.begin(9600);
// Set all pins as inputs
for (int i = 0; i < 16; i++) {
pcf8575.pinMode(i, INPUT);
}
Serial.println("PCF8575 initialized.");
}
void loop() {
for (int i = 0; i < 16; i++) {
int state = pcf8575.digitalRead(i);
Serial.print("Pin ");
Serial.print(i);
Serial.print(": ");
Serial.println(state);
}
delay(500);
}
Etapa 5: teste a configuração
- Conecte o Arduino ao seu computador via USB.
- Abra o Arduino IDE e selecione o correto Quadro e Porta sob o Ferramentas menu.
- Faça o upload do código para o Arduino clicando Carregar.
- Para o exemplo de LED, observe os LEDs ligando e desligando. Para o exemplo do botão, o botão Monitor declara no monitor serial.
Aplicações do PCF8575
- Expandindo pinos GPIO para projetos Arduino
- Construindo matrizes LED complexas
- Lendo vários sensores ou matrizes de botões
- Controlando relés e atuadores
Solução de problemas
- Nenhuma resposta do módulo: Verifique as conexões i2C e a configuração de endereços.
- Leituras inconsistentes: Garanta uma fonte de alimentação estável e resistores de pull-up adequados para as linhas I2C.
- Comportamento incorreto do pino: Os modos de pino de check duas vezes (entrada/saída) no código.
Conclusão
Você interfigurou com sucesso o expansor de E/S do PCF8575 com o Arduino, permitindo controlar ou ler a partir de 16 pinos GPIO adicionais. Experimente diferentes periféricos e expanda seus projetos com este módulo versátil!