Menu

003 - Arduino - SET e RESET

Um bom observador notou que no programa anterior tenhamos que manter o botão pressionado para que o LED permanecesse aceso. 

Nas aplicações industriais, devemos ter um botão para ligar e um botão para desligar o sistema e o Arduino também pode ser usado para tal, porém, assim como nos comandos elétricos precisamos de um selo (contato auxiliar) no Arduino também precisamos só que de uma variável auxiliar.

O hardware:  

O código:

Programa 003 - Utilizando variáveis auxiliares. 

//---------------------------------------------------------------
//Arduino - Aula online 
//Projeto 003 - SET e RESET
//Autor: Clodoaldo Silva
//Revisão:26/07/2020
//---------------------------------------------------------------
//---------------------------------------------------------------
//Definições de hardware
//Entradas ( Nome do pino e número do pino)
#define Liga 6
#define Desliga 5

//Saídas ( Nome do pino e número do pino)
#define LED_vermelho 11
#define LED_verde 8
//---------------------------------------------------------------
//---------------------------------------------------------------
//Variáveis auxiliares
bool X=0; //Variável auxiliar     
//---------------------------------------------------------------
//---------------------------------------------------------------
  void setup()
{
//Nome do pino e modo de trabalho(entrada ou saída)
 
  pinMode(Liga, INPUT);
  pinMode(Desliga, INPUT);
  pinMode(LED_vermelho, OUTPUT);
  
}
//---------------------------------------------------------------
//---------------------------------------------------------------
void loop()
{
  
  if(digitalRead(Liga)== HIGH) // se liga fou igual a 1 
    {
    X=1; // coloca a variável X em 1
    }   
    if(X==1) // Se a variável X for 1
        {
        digitalWrite(LED_vermelho, HIGH); //Liga o LED
        }
    if(digitalRead(Desliga)== HIGH) // Se desliga for 1
    {
    X=0; // coloca a variável X em 0
      }   
      if(X == 0) // se a variável x for 0 
      {
       digitalWrite(LED_vermelho, LOW); apaga o LED
      }
}
//---------------------------------------------------------------

Lógico que você notou que o LED verde não ligou, isso porque ele não foi incluído do sistema. Agora, faremos um botão para ligar e um botão para desligar uma saída de estacionamento. 

O código:

Programa 003 - Saída de estacionamento com Liga / Desliga. 
//-----------------------------------------------------------
//Arduino - Aula online
//Projeto: SET e RESET
//Autor: Clodoaldo Silva
//Revisão:26/07/2020
//-----------------------------------------------------------
//-----------------------------------------------------------
//Definições de hardware
//Entradas ( Nome do pino e número do pino)
#define Liga 6
#define Desliga 5

//Saídas ( Nome do pino e número do pino)
#define LED_vermelho 11
#define LED_verde 8
//-----------------------------------------------------------
//-----------------------------------------------------------
//Variáveis auxiliares
int X = 0; //Variável auxiliar
//-----------------------------------------------------------
//-----------------------------------------------------------
void setup()
{
  //Nome do pino e modo de trabalho(entrada ou saída)

  pinMode(Liga, INPUT);
  pinMode(Desliga, INPUT);
  pinMode(LED_vermelho, OUTPUT);
  pinMode(LED_verde, OUTPUT);
}
//-----------------------------------------------------------
//-----------------------------------------------------------
void loop()
{
  if (digitalRead(Liga) == HIGH) //se liga for 1
  {
    X = 1; //coloca a variável X em 1 
  }
  if (X == 1) //se X for 1
  {
    digitalWrite(LED_vermelho, HIGH); // inicia o processo...
    digitalWrite(LED_verde, LOW);
    delay(300);
    digitalWrite(LED_vermelho, LOW);
    digitalWrite(LED_verde, HIGH);
    delay(300);
  }

  if (digitalRead(Desliga) == HIGH) // se desliga for 1 
  {
    X = 0; // coloca X em 0 
  }
  if (X == 0) // se x for 0 
  {
    digitalWrite(LED_vermelho, LOW); // desliga o sistema
    digitalWrite(LED_verde, LOW);
  }
}