/
/
Calculadora de Áreas com Arduino: Aprenda a construir

Calculadora de Áreas com Arduino: Aprenda a construir

Sumário

Baixe agora a apostila Arduino Iniciante e comece seus projetos

Compartilhe seu conhecimento e receba em dinheiro ou produtos.

Introdução

No post de hoje, vamos aplicar conceitos de matemática para criar uma calculadora de áreas de polígonos regulares! O projeto é bem simples e requer apenas um Arduino, um display e alguns botões. Mas antes de começarmos, vamos definir alguns conceitos importantes. Vamos lá!

Polígonos regulares

O que são polígonos regulares?

Polígonos regulares são figuras geométricas fechadas com todos os lados e ângulos iguais. Um exemplo de polígono regular é o triângulo equilátero.
Um triângulo equilátero é um polígono regular
Fonte: Infoescola

Como calcular a área

Para calcular áreas, existem várias maneiras. No entanto, a melhor abordagem para o nosso projeto é utilizar a seguinte fórmula: Área = semiperímetro X apótema Onde o semiperímetro é a metade do perímetro. Logo, a fórmula é a seguinte:

Perímetro e Apótema

O que é o perímetro?

O perímetro é a soma de todos os lados de um polígono. Por exemplo, o perímetro de um quadrado com lados de 2 cm é 8 cm.

O que é apótema?

O apótema de um polígono regular é o segmento de reta que vai do centro até um de seus lados, formando um ângulo reto com ele.
Fonte: Mundoeducacao

Como calcular o Apótema

Para calcular o apótema de qualquer polígono regular, usamos a seguinte fórmula: Legenda: L --> Tamanho do lado N --> Quantidade de lados tg --> Tangente

Montagem

A montagem do projeto deve ser feita da seguinte forma:

Código

O código para o projeto é o seguinte:

#include <Adafruit_SSD1306.h> //inclui a biblioteca para o controle do display
#define OLED_RESET -1 
#define SCREEN_ADDRESS 0x3C 
Adafruit_SSD1306 display(128, 64, &Wire, OLED_RESET);  // define o tamanho do display

#define PI 3.1415926535897932384626433832795  //define um valor com várias casas decimais de pi

// inclui os botões e variáveis para o controle
int botao = 5;
int botao2 = 4;
int botao3 = 3;
int botao4 = 2;
int countUp = 0;
int lados = 0;
int countlado = 0;
float area = 0;
int p = 0;
float apot = 0;


void setup() {
  display.begin(SSD1306_SWITCHCAPVCC, 0x3C); //inicia o display
  display.clearDisplay(); //limpa o display
  // inclui os botões
  pinMode(botao, INPUT_PULLUP);
  pinMode(botao2, INPUT_PULLUP);
  pinMode(botao3, INPUT_PULLUP);
  pinMode(botao4, INPUT_PULLUP);
}

void loop() {
  //bloco responsável por passar o menu 
  if (digitalRead(botao2) == LOW){
    delay(500);
    countUp++;}
  if (digitalRead(botao4) == LOW){
    delay(500);
    countUp--;}
  
  if(countUp == 0){
    tela1();
  }
   else if(countUp == 1){
    tela2();
  }
   else if(countUp == 2){
    tela3();
  }
   else if(countUp == 3){
    calcularea();
  }
 
 //bloco responsável por não permitir valores impossíveis na calculadora
  if(countUp == 4){
   countUp = 0;}
  if(lados < 3){
   lados = 3;}

}
void tela1(){  //função responsável por chamar a tela 1
  display.clearDisplay();
  display.setTextSize(2); 
  display.setTextColor(1); 
  display.setCursor(17,25); 
  display.print("C.D.A V1");
  display.display();
}

void tela2(){ //função responsável por chamar a tela 2
  if (digitalRead(botao) == LOW){
    delay(500);
    lados++;}
  if (digitalRead(botao3) == LOW){
    delay(500);
    lados--;}
  display.clearDisplay();
  display.fillRect(0, 0, 128, 15, WHITE); 
  display.setTextSize(1);
  display.setTextColor(BLACK,WHITE); 
  display.setCursor(2,4); 
  display.print("Quantidade de lados:");
  display.setTextSize(2); 
  display.setTextColor(1); 
  display.setCursor(5,30); 
  display.print("Lados: ");
  display.setTextSize(2); 
  display.setTextColor(1); 
  display.setCursor(80,30); 
  display.print(lados);
  display.display();
}

void tela3(){  //função responsável por chamar a tela 3

   if (digitalRead(botao) == LOW){
    delay(500);
    countlado++;}
   if(digitalRead(botao3) == LOW){
    delay(500);
    countlado--;}
   if(countlado < 0){
    countlado = 0;}

  display.clearDisplay();
  display.fillRect(0, 0, 128, 15, WHITE); 
  display.setTextSize(1);
  display.setTextColor(BLACK,WHITE); 
  display.setCursor(22,4); 
  display.print("Valor do lado:");
  display.setTextSize(3); 
  display.setTextColor(1); 
  display.setCursor(30,30); 
  display.print(countlado);
  display.setTextSize(3); 
  display.setTextColor(1); 
  display.setCursor(80,30); 
  display.print("Cm");
  display.display();
}

void calcularea(){  //função responsável por chamar a tela 4(tela que mostra o resultado da área)
  area = (p/2) * apot;
  p = countlado * lados;
  apot = countlado/(2*tan(PI/lados));

  display.clearDisplay();
  display.fillRect(0, 0, 128, 15, WHITE); 
  display.setTextSize(1);
  display.setTextColor(BLACK,WHITE); 
  display.setCursor(50,4); 
  display.print("Area:");
  display.setTextSize(2); 
  display.setTextColor(1); 
  display.setCursor(0,35); 
  display.print(area);
  display.setTextSize(2); 
  display.setTextColor(1); 
  display.setCursor(90,35); 
  display.print("Cm");
  display.setTextSize(1); 
  display.setTextColor(1); 
  display.setCursor(115,30); 
  display.print("2");
  display.display();
}
 

Demonstração

Vídeo demonstrando o cálculo da área de um triângulo equilátero:

Vídeo demonstrando o cálculo da área de um quadrado: Vídeo demonstrando o funcionamento de cada botão:

Conclusão

Obrigado por ler até o fim! E aí, gostou do projeto? Sinta-se à vontade para deixar suas sugestões ou ideias nos comentários. Se você fizer este projeto, poste nas redes sociais e marque a @Eletrogate! Lembre-se: alimente sempre o maker que existe em você!  

Sobre o Autor


Arthur Almeida

Estudante do Ensino médio, aficionado por criar novos projetos eletrônicos e automações, principalmente com o Arduino. No meu tempo livre eu gosto de pesquisar sobre novas tecnologias e tento criar projetos com elas.

Você já pensou em como a matemática pode ser divertida? Neste post, vamos mostrar como criar uma calculadora de áreas de polígonos regulares usando Arduino! Venha descobrir como transformar conceitos matemáticos em um projeto incrível que você pode construir em casa!

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 *