Projetos

Solucionador de Equações Quadráticas com Arduino

Eletrogate 19 de dezembro de 20238 min

O que são as Equações Quadráticas?

As equações quadráticas desempenham um papel fundamental na álgebra e na resolução de problemas matemáticos. Essas equações quadráticas podem ser representadas pela forma geral:

ax² + bx + c = 0

Onde “a”, “b” e “c” são coeficientes numéricos e “x” é a variável desconhecida. A solução para a equação quadrática pode ser encontrada utilizando a fórmula de Bhaskara, que é capaz de determinar os valores de “x” que satisfazem a equação. Esta fórmula é expressa como:

x = (-b ± √(b² – 4ac)) / 2a

 Suas raízes podem ser reais ou complexas, dependendo do discriminante (b² – 4ac).


Aplicação das Equações Quadráticas

Além de sua importância teórica, as equações quadráticas têm uma ampla gama de aplicações na vida cotidiana, desde a física e engenharia até a economia e ciências sociais. Elas são frequentemente utilizadas para modelar situações em que há uma relação quadrática entre duas variáveis, como a trajetória de um projétil ou o custo associado à produção de determinado bem. Assim, compreender e resolver equações quadráticas é uma habilidade essencial para estudantes e profissionais em diversas áreas do conhecimento.


Como Solucionar Equações Quadráticas

Para resolver uma equação quadrática, você pode usar a fórmula de Bhaskara. A forma padrão de uma equação quadrática é:

ax² + bx + c = 0

A fórmula de Bhaskara para encontrar as raízes x é dada por:

x = (-b ± √(b² – 4ac)) / 2a

Passos para resolver uma equação quadrática usando a fórmula de Bhaskara:

1: Identifique os coeficientes a, b e c na equação quadrática ax² + bx + c = 0.

2: Substitua os valores de a, b e c na fórmula de Bhaskara.

Calcule o discriminante Δ, dado por b² – 4ac. O discriminante determina o número e tipo de raízes da equação quadrática:

  • Se Δ > 0, a equação tem duas raízes reais e diferentes.
  • Se Δ = 0, a equação tem duas raízes reais e iguais.
  • Se Δ < 0, a equação tem duas raízes complexas conjugadas.
  • Se Δ ≥ 0, substitua os valores de b, Δ, a na fórmula de Bhaskara para encontrar os valores de x.

Lembre-se de que a expressão b² – 4ac é representada por Δ.

 Exemplo:

Fonte: https://descomplica.com.br


Classificação de Equações Quadráticas

As equações quadráticas são classificadas com base nas características dos coeficientes que as compõem. A forma geral de uma equação quadrática é dada por ax² + bx + c = 0, onde: a, b, e c são coeficientes constantes e x é a variável. As principais classificações são:

1: Pelo Coeficiente a:

  • Se a é diferente de zero, a equação é considerada uma equação quadrática padrão.
  • Se a = 0, a equação não é quadrática, mas linear bx + c = 0.

2: Pelo Discriminante b² – 4ac:

O discriminante determina a natureza das raízes da equação quadrática:

  • Se b² – 4ac > 0, ou Δ > 0, a equação tem duas raízes reais distintas.
  • Se b² – 4ac = 0, ou Δ = 0, a equação tem duas raízes reais iguais (uma única raiz real).
  •  Se b² – 4ac < 0, Δ < 0, a equação tem duas raízes complexas.

Essas classificações são úteis para compreender as propriedades e o comportamento das equações quadráticas. A análise dessas características ajuda na interpretação geométrica das soluções, na resolução de problemas práticos e na visualização gráfica das parábolas associadas às equações.


Afinal, o que são Números Reais e Complexos? 

Na matemática, certos conjuntos de números podem ser classificados de acordo com suas propriedades e características. A seguir temos duas classificações:

Números Reais:

  • Incluem todos os números racionais e irracionais.
  • Representam valores na linha numérica.
  • Exemplos: -3, 0, 1.5, π, √2.

Números Complexos:

  • Incluem uma parte real e uma parte imaginária (a + bi). 
  • A parte imaginária é multiplicada por i ( = -1). 
  • Representados no plano complexo. 
  • Exemplos: 3 + 4i, -2 – 7i, 1 + i

Essas classificações fornecem uma estrutura organizada para os diferentes conjuntos de números, facilitando seu entendimento e utilização em diversos contextos matemáticos e científicos. Em muitos contextos, os números reais são um subconjunto dos números complexos, onde a parte imaginária é zero. Em equações quadráticas, por exemplo, as raízes podem ser números reais ou complexos, dependendo do discriminante da equação.


Solucionador e Classificador de Equações quadráticas com Arduino:

A seguir, faremos um projeto utilizando um Arduino, esse projeto consiste em um solucionador e classificador de equações quadráticas, que ativa um LED para cada tipo de raiz. Para isso, usaremos a biblioteca “QuadEqReadSolve.h”, que pode ser encontrada aqui, e alguns switches cases.

Biblioteca a ser usada: QuadEqReadSolve.zip


Materiais Necessários para o Projeto Solucionador de Equações Quadráticas com Arduino

Montagem:

O circuito a ser desenvolvido é, basicamente, LEDs ligados a portas da Arduino.

Led para duas raízes reais: pino D4

Led para uma raiz real e outra complexa: pino D3

Led para raízes Complexas (nenhuma raiz real): pino D2


Código

#include "QuadEqReadSolve.h"  // Inclui a biblioteca para resolver equações quadráticas

QuadEqReadSolve solver;  // Instancia o objeto para resolver equações quadráticas

const int twoRealLED = 4;      // Pino do LED para indicar raízes reais
const int oneRealLED = 3;  // Pino do LED para indicar 1 raiz real
const int complexLED = 2;   // Pino do LED para indicar raízes complexas

void setup() {
    Serial.begin(9600);  // Inicializa a comunicação serial com taxa de 9600 bps

    pinMode(twoRealLED, OUTPUT);      // Configura o pino do LED para saída
    pinMode(oneRealLED, OUTPUT);  // Configura o pino do LED para saída
    pinMode(complexLED, OUTPUT);   // Configura o pino do LED para saída
}

void loop() {
    solver.readAndSolveQuadratic();  // Lê e resolve uma equação quadrática

    // Verifica o tipo de raízes e acende o LED correspondente
    int rootType = solver.getRootType();  // Obtém o tipo de raízes
    switch (rootType) {
        case 0:
            digitalWrite(twoRealLED, HIGH);   // Acende o LED de raízes reais
            digitalWrite(oneRealLED, LOW);  // Desliga o LED de 1 raiz real
            digitalWrite(complexLED, LOW);   // Desliga o LED de raízes complexa
            break;
        case 1:
            digitalWrite(twoRealLED, LOW);    // Desliga o LED de raízes reais
            digitalWrite(oneRealLED, HIGH);  // Acende o LED de 1 raiz real
            digitalWrite(complexLED, LOW);    // Desliga o LED de raízes complexa
            break;
        case 2:
            digitalWrite(twoRealLED, LOW);    // Desliga o LED de raízes reais
            digitalWrite(oneRealLED, LOW);  // Desliga o LED de 1 raiz real
            digitalWrite(complexLED, HIGH);   // Acende o LED de raízes complexa
            break;
        default:
            digitalWrite(twoRealLED, LOW);    // Desliga o LED de raízes reais
            digitalWrite(oneRealLED, LOW);  // Desliga o LED de 1 raiz real
            digitalWrite(complexLED, LOW);   // Desliga o LED de raízes complexa
            break;
    }
    delay(5000);  // Aguarda 5 segundos antes de ler a próxima equação
}

Entendendo o código: 

  • A biblioteca “QuadEqReadSolve.h” é incluída no início do código para permitir a resolução de equações quadráticas. 
  • Um objeto chamado solver é criado a partir dessa biblioteca para lidar com a leitura e resolução das equações quadráticas. 
  • São definidas constantes para representar os pinos dos LEDs que indicarão o tipo de raízes encontradas (reais, racionais ou inteiras). 
  • No método setup(), a comunicação serial é iniciada e os pinos dos LEDs são configurados como saída. 
  • No método loop(), a função readAndSolveQuadratic() é chamada para ler e resolver uma equação quadrática. 
  • A função getRootType() é utilizada para obter o tipo de raízes da equação resolvida. 
  • Um bloco switch é usado para determinar o tipo de raízes e acender o LED correspondente, enquanto desliga os outros LEDs. 
  • O programa aguarda 5 segundos antes de ler a próxima equação, utilizando a função delay(5000). 

Funcionamento

Podemos colocar todos os coeficientes (a, b e c) juntos, separados por vírgula, espaço ou underline(_) .

Um ponto importante que vale ressaltar é que essa biblioteca tem suporte apenas para equações do tipo ax²+bx+c=0, não tendo suporte para equações diretamente biquadradas (ax4 + bx2 + c) ou que algum dos coeficientes sejam incógnitas (ex: 1x²-3x+(y-4)=0).


Sobre o Autor


Daniel Vasconcelos

Tenho 14 anos, meu primeiro contato com eletrônica foi aos 5 anos, e com o Arduino aos 12. Desde então venho explorando mais desse mundo incrível.


Eletrogate

19 de dezembro de 2023

A Eletrogate é uma loja virtual de componentes eletrônicos do Brasil e possui diversos produtos relacionados à Arduino, Automação, Robótica e Eletrônica em geral.

Tenha a Metodologia Eletrogate dentro da sua Escola! Conheça nosso Programa de Robótica nas Escolas!

Eletrogate Robô

Cadastre-se e fique por
dentro de novidades!