Fig. 1 - Controlando Cargas Através do Serial Monitor com Arduino ou ESP |
Olá a Todos!
No post de hoje, faremos um controle de Cargas, através do Serial Monitor da IDE Arduino, utilizando a função digitalReadString(), que receberá a String que você digitar no Serial Monitor, para acionar uma carga que utilizaremos um LED para exemplificar.
Mas nada impede que você possa utilizar um módulo Relé para acionar qualquer carga, como; Motor, Lâmpadas, Equipamento de som ou qualquer outra coisa que você necessite.
Você pode se interessar também!
- Como Construir um Semáforo Simples com Arduíno e LEDs em Poucos Passos!
- Display LCD 16x2 com Módulo I2C com Arduino: Como Ligar? Facilidade e Velocidade na Comunicação!
- Controle de potência de carga 110/220Vac. Controlado por: ESPs Arduínos ou PICs + PCI
- Como fazer um Módulo Relé para dispositivos digitais como; ESP8266, Arduino, PIC Etc.
- O que é Protocolo MQTT e como Funciona? Principais Aplicações
- Arduino e suas Especificações
- Tipos de Arduino, quais são as diferenças!!!
- O que é Arduino?
Quando temos um Arduino ou mesmo um ESP conectado ao PC, com o Serial Monitor, podemos enviar uma String com o comando, que em nosso exemplo será Ligar LED e Desligar LED, como isso o Arduino receberá essa String de comando e acionará o LED.
Hardware necessário
- Placa Arduino
- LED - Resistor de Diodo Emissor de Luz 220 Ohm - (vermelho, vermelho, marrom, dourado)
- Fios de ligação
- Protoboard (opcional)
O circuito
O circuito é bastante simples. Conectamos um LED em série com um resistor de 220 ohms para limitar a corrente no LED e conectamos a porta 9 do Arduino UNO conforme mostrado na Figura 2 abaixo.
Fig. 2 - Controlando Cargas Através do Serial Monitor com Arduino ou ESP |
Foi utilizada uma protoboard para facilitar as conexões, mas você também pode conectar os fios diretamente ao Arduino.
O código
A função Serial.readString() é a responsável por lê os caracteres do buffer serial e os move para uma determinada string.
No nosso exemplo, faremos algo muito simples, ligar e desligar um LED usando o comando digitado no Serial Monitor.
Após construir o circuito, conecte sua placa Arduino ao seu computador, execute o software Arduino (IDE), copie o código abaixo e cole-o em seu IDE Arduino.
Esse algoritmo foi retirado como exemplo de uma das aulas do Curso Básico de Arduino do nosso parceiro Electronic Circuits.
Para ficar claro para os mais iniciantes em programação de Arduino, expliquemos o código linha a linha:
- Na linha 3, declaramos ledPin associado ao pino digital 9, onde conectamos o LED.
- Na linha 4, declaramos a String DataIn que receberá os Comandos do Serial Monitor.
- Na linha 6, entramos na função void setup(). Esta função é lida apenas uma vez quando o Arduino ou o ESP é iniciado.
- Na linha 7, começamos a comunicação serial declarando a função Serial.begin(). A 115200 bits de dados por segundo, esta é a velocidade em que seu computador se comunicará com o Arduino Serial.
- Na linha 8, definimos a porta 9 como a saída, usando a função pinMode();
1 2 3 4 5 6 7 8 9 10 | // Controlando Cargas Através do Serial Monitor int ledPin = 9; // LED connected to digital pin 9 String DataIn; // String that will receive the commands void setup() { Serial.begin(115200); //Begin the Serial Monitor with bounce rate in 115200 pinMode(ledPin, OUTPUT); // Set the digital pin as output: } //------------------------------------- www.elcircuits.com -------------------------------------------- |
- Na linha 11, entramos na função void loop() que faz exatamente o que seu nome sugere, loops consecutivamente.
- Na linha 12, entramos em uma condicional if, para verificar se o Serial Monitor está disponível, se sim chamamos a próxima função.
- Na linha 13, chamamos a função Serial.readString() para ler os caracteres do Serial Monitor e enviá-los ao String DataIn.
- Na linha 15, inserimos uma condicional if, neste caso para comparar se os caracteres são os mesmos que os escritos no Monitor Serial, em nosso exemplo "acender led", se sim ...
- Na linha 16, entramos na função digitalWrite(), o comando ativa o ledPin para o nível HIGH, ou seja, passa de 0V a 5V, que liga o LED.
- Na linha 17, inserimos uma condicional if, que compara se os caracteres são os mesmos que os escritos no Monitor Serial, em nosso exemplo "desligar led", se sim ...
- Na linha 18, entramos na função digitalWrite(), o comando desativa o ledPin para o nível LOW, ou seja, passa de 5V a 0V, que desliga o LED.
1 ... 11 12 13 14 15 16 17 18 19 20 21 | // Controlando Cargas Através do Serial Monitor void loop() { // The loop function runs over and over again forever if (Serial.available()) { // Check if there is any data on the serial monitor DataIn = Serial.readString(); // String DataIn receives the data typed in the Serial Monitor } if (DataIn == "ligar led") { // Check if the received String is equal to "ligar led" digitalWrite(ledPin, HIGH); // If yes, the function digitalWrite turn Led ON } if (DataIn == "desligar led") { // Check if the received String is equal to "desligar led" digitalWrite(ledPin, LOW); // If yes, the function digitalWrite turn Led OFF } } //------------------------------------- www.elcircuits.com -------------------------------------------- |
O código completo é mostrado no esboço abaixo!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | // Controlando Cargas Através do Serial Monitor int ledPin = 9; // LED connected to digital pin 9 String DataIn; // String that will receive the commands void setup() { Serial.begin(115200); //Begin the Serial Monitor with bounce rate in 115200 pinMode(ledPin, OUTPUT); } void loop() { // The loop function runs over and over again forever if (Serial.available()) { // Check if there is any data on the serial monitor DataIn = Serial.readString(); // String DataIn receives the data typed in the Serial Monitor } if (DataIn == "turn led on") { // Check if the received String is equal to "turn led on" digitalWrite(ledPin, HIGH); // If yes, the function digitalWrite turn Led ON } if (DataIn == "desligar led") { // Check if the received String is equal to "turn led off" digitalWrite(ledPin, LOW); // If yes, the function digitalWrite turn Led OFF } } //------------------------------------- www.elcircuits.com -------------------------------------------- |
E por hoje é só, espero que tenham gostado!
Agradecemos por visitar o nosso blog e esperamos tê-lo(a) novamente por aqui em breve. Não deixe de conferir nossos outros conteúdos sobre tecnologia e assuntos variados. Shalom!
Agradecemos por visitar o nosso blog e esperamos tê-lo(a) novamente por aqui em breve. Não deixe de conferir nossos outros conteúdos sobre tecnologia e assuntos variados.
Shalom!
Nenhum comentário:
Postar um comentário