#include "PortExpander_I2C.h"
#include "Wire.h"
PortExpander_I2C PCF8574_rele_placa_ext(0x26); // Pino A0 nível Baixo 0x26
#define RXD2 16
#define TXD2 17
int CS_RS485 = 5; //Caso utilize a interface RS485
void setup() {
Wire.begin(21, 22);
pinMode(CS_RS485, OUTPUT); // Para utilizar com a RS485
Serial.begin(115200);
//Serial1.begin(9600, SERIAL_8N1, RXD2, TXD2);
Serial2.begin(115200, SERIAL_8N1, RXD2, TXD2);
Serial.println("Serial Txd is on pin: " + String(TX));
Serial.println("Serial Rxd is on pin: " + String(RX));
entradas.init();
relecontrol.init();
PCF8574_rele_placa_ext.init(); // inicializa pcf 8574 correspondente à placa rele externa
entradas.pinMode(0, INPUT); // INT1
entradas.pinMode(1, INPUT); // INT4
entradas.pinMode(2, INPUT); // INT3
entradas.pinMode(3, INPUT); // INT2
entradas.pinMode(4, INPUT); // INT5
entradas.pinMode(5, INPUT); // INT7
entradas.pinMode(6, INPUT); // INT6
entradas.pinMode(7, INPUT); // INT8
relecontrol.pinMode(0, OUTPUT); //RELE1
relecontrol.pinMode(1, OUTPUT); //RELE2
relecontrol.pinMode(2, OUTPUT); //RELE6
relecontrol.pinMode(3, OUTPUT); //RELE5
relecontrol.pinMode(4, OUTPUT); //RELE4
relecontrol.pinMode(5, OUTPUT); //RELE3
relecontrol.pinMode(6, OUTPUT); // CS_SDCARD
relecontrol.pinMode(7, OUTPUT); // pode ser usado como entrada ou saida
PCF8574_rele_placa_ext.pinMode(0, OUTPUT);
PCF8574_rele_placa_ext.pinMode(1, OUTPUT);
PCF8574_rele_placa_ext.pinMode(2, OUTPUT);
PCF8574_rele_placa_ext.pinMode(3, OUTPUT);
PCF8574_rele_placa_ext.pinMode(4, OUTPUT);
PCF8574_rele_placa_ext.pinMode(5, OUTPUT);
PCF8574_rele_placa_ext.pinMode(6, OUTPUT);
PCF8574_rele_placa_ext.pinMode(7, OUTPUT);
}
void loop() {
for (int rele = 0; rele <= 5; rele++) {
relecontrol.digitalWrite(rele, HIGH); // turn the LED on (HIGH is the voltage level)
PCF8574_rele_placa_ext.digitalWrite(rele, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
relecontrol.digitalWrite(rele, LOW); // turn the LED off by making the voltage LOW
PCF8574_rele_placa_ext.digitalWrite(rele, LOW); // turn the LED off by making the voltage LOW
delay(1000);
Serial2.println("Teste RS485 SEM CS CLP VDC I4.0+");
}
PCF8574_rele_placa_ext.digitalWrite(6, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000);
PCF8574_rele_placa_ext.digitalWrite(6, LOW); // turn the LED on (HIGH is the voltage level)
}
Como enviar o código para o módulo de desenvolvimento AFSmart ESP32 - Módulo IoT com Wi-Fi, Bluetooth e LoRa
- Segure simultaneamente os botões PGM e Reset
- Solte Reset, solte PGM, neste momento o módulo estara no modo de boot pronto para receber a aplicação
Aplicações
✅ Automação residencial: Controle de iluminação e aparelhos elétricos.
✅ Monitoramento industrial: Acionamento remoto de máquinas.
✅ Projetos de IoT: Integração com assistentes virtuais e dashboards.
Conclusão
O AFSmart ESP32 - Módulo IoT com Wi-Fi, Bluetooth e LoRa é uma solução poderosa para automação e IoT. Com ele, você pode criar sistemas inteligentes, conectados e de fácil controle. Experimente e compartilhe suas experiências!
Precisa de mais componentes? Confira nossa Loja explore outras soluções para seus projetos de automação!
