#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!