terça-feira, junho 30, 2015

EQUAÇÃO DO 2º GRAU EM ARDUINO


Neste post se apresenta a biblioteca matemática do Arduino a partir de um sketch para se calcular as raízes de uma equação do 2º grau, tendo sido digitado dois valores com apenas um algarismo. Utiliza a fórmula de Bhaskara examinando primeiro o discriminante quanto ao sinal, pois, se negativo, a equação não terá solução no conjunto dos Reais.

/*
***********************************************
PROJETO ROBÓTICA NA ESCOLA 2015 
RESOLVENDO EQUAÇÕES DO 2 GRAU
         EE DR PEDRO VELHO – RN/BR        
***********************************************
*/
#include "math.h"               // usando a biblioteca math
int b; // declarando variáveis inteiras
int c;    
int x1;       
int x2;
int x3;
int a;
void setup() //Chamando a função setup
{
  Serial.begin(9600); // Definição da transmissão na porta serial
}
void loop() // Chamando a função loop
{
  Serial.println("Calculo de raizes da equacao do 2 grau:");
  Serial.println("Digite a (diferente de zero):");
  delay(6000); //Pausa de 6 segundos
  a = Serial.read(); // leitura de dados do monitor serial
  a = a - 48; // transformando ASCII para decimal
  Serial.println("Digite b:");
  delay(6000);
  b = Serial.read(); 
  b = b - 48;
  Serial.println("Digite c:");
  delay(6000);
  c = Serial.read();
  c = c - 48; 
 // Apresentando os coeficientes
  Serial.print("a = ");
  Serial.println(a);
  Serial.print("b = ");
  Serial.println(b);
  Serial.print("c = ");
  Serial.println(c);
 //Calculando e apresentando as raízes 
  x3 = ( b*b - 4*a*c );
  if (x3<0)// sem solução para raiz negativa
  {
    Serial.println("raiz negativa");
    Serial.println("sem solucao");
    delay(3000);
  }
  else
  { 
  x1 = (-b+sqrt (x3))/2*a;
  Serial.print("x1 = ");
  Serial.println(x1);
  x2 = (-b-sqrt(x3))/2*a;
  Serial.print("x2 = ");
  Serial.println(x2);
  delay(3000);//Pausa de 3 segundos
  }
}

//FIM DO SKETCH

4 comentários:

  1. Olá Jonas, onde baixar a biblioteca math?

    ResponderExcluir
    Respostas
    1. A biblioteca já está inserida na programação C. A linha com a inclusão é opcional.

      Excluir
  2. Respostas
    1. Apenas coeficientes e raízes são apresentados. Para mostrar os cálculos basta alterar a programação.

      Excluir