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:
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); } }
Comentários
Postar um comentário
Sugestões para otimizar aulas