Arduíno – Monitor Serial e LM35 parte 2 – Bônus: SWITCH CASE

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:

Temperature-sensor-circuit-schematic Temperature-sensor-circuit

E o vídeo e poste:

Arduíno – Monitor Serial e LM35

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

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *