/
/
Solucionador de Equações Quadráticas com Arduino

Solucionador de Equações Quadráticas com Arduino

Sumário

Baixe agora a apostila Arduino Iniciante e comece seus projetos

Compartilhe seu conhecimento e receba em dinheiro ou produtos.

blog-eletrogate-solucionador-equacoes-quadraticas-capa
8 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.

A seguir, faremos um projeto utilizando o Arduino nano, esse projeto consiste em um solucionador e classificador de equações quadráticas baseado em uma biblioteca, que ativa um LED para cada tipo de raiz (resultado).

Precisa dos componentes para este projeto?

Encontre tudo na Loja Eletrogate com frete grátis para compras acima de R$ 200

Deixe um comentário

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