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 1 | D0 /RELAY1 |
OUTPUT 2 | D1 /RELAY2 |
OUTPUT 3 | D2 /RELAY3 |
OUTPUT 4 | D3 /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);
}
}
Aplicação 06: User Input A0 and Relays do Opta .
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