Opa galera, blz,?
No poste anterior vimos como receber do Arduíno dados enviados pela porta Serial, hoje vamos ver como se faz para mandar dados para o Arduíno, fazer com que ele receba e interprete esta informação e faça uma ação, neste caso,
retornar dados também via porta serial. Vamos ver também a implementação do Switch Case, um recurso fantástico na programação.
Abaixo segue um vídeo detalhando passo a passo o processo, segue também o código fonte e o link do poste anteiro que serviu de base para este.
#define pinoSensor A0 //Pino do LM35 na entrada Analógica int sensorLM35; //Valor da tensão enviada pelo sensor LM35 float grausCelsius; //Recebe a temperatura em Graus Celsius float grausFahrenheit; //Recebe a temperatura em Graus Fahrenheit float tempKelvin; //Recebe a temperatura em Kelvin char valorRecebido; //Recebe a informação enviada pelo computador //------------------------------------ void setup() { Serial.begin(9600); //Inicia a comunicação via porta serial } //------------------------------------ void loop() { /*Variavel sensorLM35 recebe o valor lido no pino de entrada analógica A0 */ sensorLM35 = analogRead(pinoSensor); /*Convertendo mV em °C */ grausCelsius = sensorLM35*0.48828125; /*Formula para converter °C em ºF */ grausFahrenheit = (32+(grausCelsius/5)*9); /*Formula para converter °C em K */ tempKelvin = grausCelsius + 273; /*Variavel recebendo o valor enviado do computador */ valorRecebido = Serial.read(); /*Switch Case é uma forma de proporcionar varias opções e com isso simplificar * a programação, ao invez de fazer varias condições de validação com if. * Então recebemos a variavel e comparamos com cada opção, CASO for valido então * executamos o bloco de comandos, apos terminarmos o bloco saimos do Switch Case. */ switch (valorRecebido) { case 'C': /*Caso o valor enviado for a letra C então */ Serial.print("Temperatura: "); Serial.print(grausCelsius); Serial.write(176); Serial.println("C"); break; /* Saio do switch e não verifico o restante*/ case 'F': /*Caso o valor enviado for a letra F então */ Serial.print("Temperatura: "); Serial.print(grausFahrenheit); Serial.write(176); Serial.println("F"); break; case 'K': /*Caso o valor enviado for a letra K então */ Serial.print("Temperatura: "); Serial.print(tempKelvin); Serial.println("K"); break;/* Saio do switch e não verifico o restante*/ default: /* Este bloco vai atender ao que não foi atendido com as opções acima * mas no nosso caso não vamos fazer nada */ break; } }
O diagrama esquemático para ligação no Arduíno segue abaixo:
E o vídeo e poste:
Espero q30ue tenha gostado!
Inscreva-se no meu canal no YouTube YouTube.com/AndersonLimaVlog
Me siga nas redes sociais:
FaceBook : Facebook.com/AndersonBlog
Twitter: Twitter.com/andersonasl