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
Olá Jonas, onde baixar a biblioteca math?
ResponderExcluirA biblioteca já está inserida na programação C. A linha com a inclusão é opcional.
Excluiraos calculos aparecem no lcd ?
ResponderExcluirApenas coeficientes e raízes são apresentados. Para mostrar os cálculos basta alterar a programação.
Excluir