Placa de Desenvolvimento a aplicação para IIoT
O projeto PDA IIoT
A tempos tento desenvolver um hardware para desenvolvimento e aplicações em IIoT, recentemente terminei um protótipo que chamei de PDA IIoT V1 (Placa para desenvolvimento e Aplicação) para IoT industrial.
A placa consiste em:
8 relés conectados aos seguintes GPIOs:
Relé 01 = GPIO 15
Relé 02 = GPIO 02
Relé 03 = GPIO 04
Relé 04 = GPIO 16
Relé 05 = GPIO 17
Relé 06 = GPIO 05
Relé 07 = GPIO 18
Relé 08 = GPIO 19
A ideia é usar a IDE do Auduino para fins de testes ...
Testando as saídas
//*********************************************************************************** // Projeto IIoT - Desenvolvimento com ESP32/IDE Arduino // Testes da Placa PDAIIoT V1 // Programa/hardware: 001 - Pisca LED/Relé // Autor:Clodoaldo Silva // Revisão: 01mai2019 //DEFINE ENTRADAS E SAÍDAS DA PLACA DE DESENVOLVIMENTO #define LED_01 15 //define a saída GPIO 15 #define LED_02 2 //define a saída GPIO 12 #define LED_03 4 //define a saída GPIO 4 #define LED_04 16 //define a saída GPIO 16 #define LED_05 17 //define a saída GPIO 17 #define LED_06 5 //define a saída GPIO 5 #define LED_07 18 //define a saída GPIO 18 #define LED_08 19 //define a saída GPIO 19 void setup() //Responsável pela configuração inicial do hardware. { //Coloca os pinos como entrada ou saída. pinMode(LED_01, OUTPUT); // Pino será saída pinMode(LED_02, OUTPUT); // Pino será saída pinMode(LED_03, OUTPUT); // Pino será saída pinMode(LED_04, OUTPUT); // Pino será saída pinMode(LED_05, OUTPUT); // Pino será saída pinMode(LED_06, OUTPUT); // Pino será saída pinMode(LED_07, OUTPUT); // Pino será saída pinMode(LED_08, OUTPUT); // Pino será saída } void loop() //Função principal, responsável por rodar o programa repetidamente. { { digitalWrite(LED_01, HIGH); // O pino GPIO15 (LED_01) em nível alto delay(500); digitalWrite(LED_01, LOW); // O pino GPIO15 (LED_01) em nível alto delay(500); digitalWrite(LED_02, HIGH); // O pino GPIO15 (LED_01) em nível alto delay(500); digitalWrite(LED_02, LOW); // O pino GPIO15 (LED_01) em nível alto delay(500); digitalWrite(LED_03, HIGH); // O pino GPIO15 (LED_01) em nível alto delay(500); digitalWrite(LED_03, LOW); // O pino GPIO15 (LED_01) em nível alto delay(500); digitalWrite(LED_04, HIGH); // O pino GPIO15 (LED_01) em nível alto delay(500); digitalWrite(LED_04, LOW); // O pino GPIO15 (LED_01) em nível alto delay(500); digitalWrite(LED_05, HIGH); // O pino GPIO15 (LED_01) em nível alto delay(500); digitalWrite(LED_05, LOW); // O pino GPIO15 (LED_01) em nível alto delay(500); digitalWrite(LED_06, HIGH); // O pino GPIO15 (LED_01) em nível alto delay(500); digitalWrite(LED_06, LOW); // O pino GPIO15 (LED_01) em nível alto delay(500); digitalWrite(LED_07, HIGH); // O pino GPIO15 (LED_01) em nível alto delay(500); digitalWrite(LED_07, LOW); // O pino GPIO15 (LED_01) em nível alto delay(500); digitalWrite(LED_08, HIGH); // O pino GPIO15 (LED_01) em nível alto delay(500); digitalWrite(LED_08, LOW); // O pino GPIO15 (LED_01) em nível alto delay(500); } }
Observações observadas...
- Se o GPIO 12 estiver desconectado o ESP32 DEVKIT V1 funciona normalmente..
- Como liguei o GPIO 12 a uma entrada as saídas só após pressionar o mesmo, funciona como um start.