segunda-feira, 8 de setembro de 2025

EX06 - Arduino Finder Opta - User Digital Inputs and Relays

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. 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 as saídas relés a partir do terminal de entrada I1 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 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/RELAY1
OUTPUT 2D1/RELAY2
OUTPUT 3D2/RELAY3
OUTPUT 4D3/RELAY4
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 Button I1 and Relay Example
  Name: opta_user_Button_Relay_example.ino
  Purpose: Configures Opta's user-programmable button to control the user LEDs.
  This example includes debouncing for the user button.
 
  @author Prof. Sinésio Raimundo Gomes
  @version 2.0 23/09/25
*/
 
// Current and previous state of the button A0.
int buttonState     = 0;
int lastButtonState = 0;
const int TERMINALS[] = {A0};
 
// Counter to keep track of the Relay sequence.
int counter = 0;
 
// Variables to implement button debouncing.
unsigned long lastDebounceTime  = 0;
unsigned long debounceDelay     = 50; // In ms
 
// Array to store Relay pins.
int Relay[] = {D0, D1, D2, D3};
int NUM_Relay = 4;
 
void setup() {
  // Initialize Opta user Relay.
  for(int i = 0; i < NUM_Relay; i++) {
    pinMode(Relay[i], OUTPUT);
  }
  pinMode(A0, INPUT);
}
 
void loop() {
  int reading = digitalRead(A0);
 
  // Check if button state has changed.
  if (reading != lastButtonState) {
    lastDebounceTime = millis();
  }
 
  // Debouncing routine.
  if ((millis() - lastDebounceTime) > debounceDelay) {
    if (reading != buttonState) {
      buttonState = reading;
 
      // Only increment the counter if the new button state is HIGH.
      if (buttonState == HIGH) {
        if(counter < NUM_Relay){
          counter++;
        }
        else{
          counter = 0;
        }
      }
    }
  }
 
  // Save the current state as the last state, for next time through the loop.
  lastButtonState = reading;
 
  // Control Relay states.
  changeLights();
}
 
/**
  Control the status LEDs based on a counter value.
  Turns off all Relay first, then turns on the Relay
  corresponding to the current counter value.
 
  @param None.
*/
void changeLights() {
  // Turn off all user Relay.
  for(int i = 0; i < NUM_Relay; i++) {
    digitalWrite(Relay[i], LOW);
  }
 
  // Turn on the selected user Relay.
  if(counter > 0) {
    digitalWrite(Relay[counter - 1], HIGH);
  }
}


Nome: Opta's_Input_and_Output_Relays.ino .
Objetivo: Este esboço demonstra o uso de entrada A0 e dos Relés de saída dos dispositivos Opta.

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

Nenhum comentário:

Postar um comentário