sábado, 8 de novembro de 2025

EX08 - Arduino Finder Opta - User Digital Inputs, Led's and Relays

Vamos programar o Opta com quatro entradas digitais para controlar as quatro led,s e uma saída digital, que irá ligar um contator (K1), em um motor de indução trifásico, com proteção térmica (RT) e acionamentos de emergência (B0), desliga (S0) e liga (S1) .

Entradas Digitais: A faixa de tensão de entrada para cada terminal de entrada digital é a seguinte:
  • Faixa de tensão de entrada : 0 a +24 VDC
As entradas digitais Opta também suportam sensores de nível lógico de 0 a +10 VCC.
Os terminais de entrada podem ser usados ​​por meio das funções integradas da linguagem de programação do Arduino. Os terminais de entrada digital/analógicos são mapeados conforme descrito na tabela a seguir:

Terminal OptaMapeamento de pinos de entrada do Arduino
I1A0/B0_EM Botoeira de Emergência
I2A1/     RT1    Relé Térmico    
I3A2/  S0_VM Botoeira Vermelha   
I4A3/    S1_VD Botoeira Verde    

Para usar os terminais de entrada como entradas digitais:
  • Adicione a instrução na função  pinMode(pinName, INPUT) do seu esboço setup() .

O esboço abaixo mostra como atuar os Led's e a saída relé a partir do terminais de entrada I1, I2, I3 e I4 do Opta. Ele obtém leituras de cada terminal definido e as interpreta como estados digitais HIGH ou LOW, e atuas os quatro relés normalmente abertos (NA) de 10 A capazes de atuar em cargas com uma tensão nominal de 250 VCA e até uma tensão de comutação máxima de 400 VCA.



Os LEDs programáveis ​​pelo usuário são mapeados conforme descrito na tabela a seguir:
LED do usuário Opta™Mapeamento de pinos do Arduino
STATUS 1LED_D0/ H0 BUZZER  
STATUS 2LED_D1/ H1 AMARELO 
STATUS 3LED_D2/ H2 VERMELHO 
STATUS 4LED_D3/ H3  VERDE  
Os led's são acionados conforme combinação das botoeiras interligadas nas entradas, com prioridades de sinalização. Esse efeito é obtido definindo uma matriz de identificadores de LED de usuário e usando combinações lógicas para ligar ou desligar cada LED de usuário.

Os relés de saída podem ser usados ​​por meio das funções integradas da linguagem de programação Arduino. Para usar um relé de saída como saída digital:

  • Adicione a instrução na função pinMode (relayOutput, OUTPUT)do seu esboço .setup()
  • Para alterar o status do relé de saída ( LOW ou HIGH):
  • Adicione seus esboços digitalWrite (relayOutput, LOW) ou digitalWrite (relayOutput, HIGH) instruções.
As saídas de relé programáveis ​​pelo usuário são mapeadas conforme descrito na tabela a seguir:
Saída de relé Opta™Mapeamento de pinos do Arduino
OUTPUT 1D0/K1 - Motor Sentido horário
OUTPUT 2D1/RELAY2 - Não usado
OUTPUT 3D2/RELAY3 - Não usado
OUTPUT 4D3/RELAY4 - Não usado
O esboço abaixo testa os relés de saída e os LEDs de status de um dispositivo Opta™. O esboço inicializa as saídas de relé e os LEDs de usuário como saídas; em seguida, o esboço liga e desliga cada relé de saída e seu LED de status correspondente em sequência, ca cada acionamento da entrada I1.

/**
  Opta's User Inputs, Leds and Relay Example
  Name: opta_user_Input_and_Relay_example.ino
  Purpose: Configures Opta's input,s to control the user Led,s and Relay's.
  Partida de Motor de indução com dispositivos Opta
  @author Prof. Sinésio Raimundo Gomes
  @version 2.0 07/09/25
*/
 
// Definição dos pinos de entrada
#define B0 A0 // Nome do pino I1
#define RT A1 // Nome do pino I2
#define S0 A2 // Nome do pino I3
#define S1 A3 // Nome do pino I4

// Definição dos pinos de saída e LEDs em uso
#define K1 D0 // Nome do Relé 0
#define Led_Vd LED_D3 // Nome do Led 3
#define Led_Vm LED_D2 // Nome do Led 2
#define Led_Am LED_D1 // Nome do Led 1
#define Buzzer LED_D0 // Nome do Led 0

// Declaração do tipo e estado inicial das variáveis
bool estado_B0 = 0; // Reset do pino 2
bool estado_RT = 0; // Reset do pino 3
bool estado_S0 = 0; // Reset do pino 4
bool estado_S1 = 0; // Reset do pino 5

// Define a porta das chaves como entradas e dos led,s como saida
void setup()
{
  pinMode(B0, INPUT); // Pinos como entradas
  pinMode(RT, INPUT);
  pinMode(S0, INPUT);
  pinMode(S1, INPUT);
 
  pinMode(K1, OUTPUT); // Pinos como saídas
  pinMode(Led_Vd, OUTPUT);  
  pinMode(Led_Vm, OUTPUT);
  pinMode(Led_Am, OUTPUT);
  pinMode(Buzzer, OUTPUT);

  digitalWrite (K1, 0); // Reset dos pinos
  digitalWrite (Led_Vd, 0);
  digitalWrite (Led_Vm, 0);
  digitalWrite (Led_Am, 0);
  digitalWrite (Buzzer, 0);
}
void loop() // Laço principal
{
  estado_B0 = digitalRead (B0); // Lê entrada B0 - Emergência
  estado_RT = digitalRead (RT); // Lê entrada RT - Rele Térmico
  estado_S0 = digitalRead (S0); // Lê entrada S0 - Desliga
  estado_S1 = digitalRead (S1); // Lê entrada S1 - Liga
   
  if (estado_S1 == 1 && estado_S0 == 1 && estado_RT == 0 && estado_B0 == 1) {digitalWrite (K1, 1);}
  if ( estado_S0 == 0 || estado_RT == 1 || estado_B0 == 0) {digitalWrite (K1, 0);}

  if (estado_S1 == 1 && estado_S0 == 1 && estado_RT == 0 && estado_B0 == 1) {digitalWrite (Led_Vd, 1);}
  else { digitalWrite (Led_Vd, 0);
       }
  if (estado_S0 == 1 && estado_RT == 0 && estado_B0 == 1) { digitalWrite (Led_Vm, 1);
                                                           }
  else {digitalWrite (Led_Vm,0);
        }
  if (estado_RT == 1 && estado_B0 == 1) {digitalWrite (Led_Am, 1);}
  else {digitalWrite (Led_Am,0);
        digitalWrite (Led_Vm,0);
        digitalWrite (Led_Vd,0);
       }
   
  if (estado_B0 == 1) {digitalWrite (Buzzer, 0);}
  else {digitalWrite (Buzzer,1);
        digitalWrite (Led_Am,0);
        digitalWrite (Led_Vm,0);
        digitalWrite (Led_Vd,0);
    }
}


Aplicação 08: Partida de motor com dispositivo Opta.
Objetivo: Este esboço demonstra o uso de entradas A0, A1, A2, A3. Led,s e do Relé de saída dos dispositivos Opta.

© Direitos de autor. 2025: Gomes; Sinésio Raimundo. Última atualização: 03/11/2025

Nenhum comentário:

Postar um comentário