Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

Construa uma Calculadora Básica com Arduino UNO – Projeto Fácil

Componentes e materiais

ComponenteQuantidade
Arduino UNO1
Arduino 1011
Arduino Nano R31
Arduino Yun1
Arduino Mega 25601
Arduino Due1
Arduino Leonardo1

Nota: Apenas a placa é necessária, sem componentes adicionais. Funciona com qualquer placa compatível com Arduino IDE.

Aplicativos e serviços online

Sobre o projeto

Um dia, meu professor de matemática me perguntou enquanto eu falava sobre Arduino: "Você pode fazer matemática com ele?". Respondi "Não sei", e isso me fez pensar em como fazer isso acontecer. Então, meio que descobri como fazer e quero compartilhar agora.

Então aqui está! Uma maneira muito simples de fazer matemática com Arduino. Para meu projeto, usei Arduino UNO, mas acredito que funciona com qualquer um deles.

O passo a passo é muito simples:

Planejo fazer uma calculadora melhor, mas por enquanto é apenas isso: uma maneira de fazer matemática básica. Se você quer a calculadora "melhor", por favor me avise.

Fique ligado para ver uma calculadora "melhor"! Espero vê-los em breve!

Código

CÓDIGO PARA CALCULADORA

Você insere os números e o sinal juntos, como "2+3", ou 8*2, e ele dá o resultado.

/* Calculadora serial Arduino
   Neste projeto, você pode fazer aritmética básica com a ajuda do Arduino, quase como uma calculadora muito rústica.
   Aceita dois números e um sinal, e faz a operação, que pode ser +, -, * ou /.
   Ex: envie "2+3" (sem aspas e sem espaço separando a info), e Arduino responde 5.
   Digite "7-3" e Arduino responde com 4.
   Criado por João Paulo Rodrigues Poltronieri
   Este código é de domínio público
*/

// Primeiro, crie variáveis para armazenar a informação enviada ao Arduino
long number1; // primeiro número do cálculo, enviado pelo Monitor Serial
// Note que é uma variável long, então podemos usar números grandes
long number2; // segundo número enviado pelo SM
char calSignal; // cria variável char para armazenar o sinal do cálculo
long result; // resultado do cálculo

void setup() {
  Serial.begin(9600); // inicia comunicação serial
  Serial.println("Envie-me um cálculo");
  Serial.println("Ex: 2+3");
  Serial.println(); // imprime isso para testar comunicação serial e pula uma linha
}

void loop() {
  while(Serial.available() > 0) { // enquanto houver dados sendo enviados ao Arduino
    number1 = Serial.parseInt(); // number1 será o primeiro número
    // Note o uso de "Serial.parseInt", então, se você usar 23, armazena em number1 o número 23
    // se usássemos Serial.read(), só armazenaria 2
    
    calSignal = Serial.read(); // calSignal será a primeira info após o primeiro número
    number2 = Serial.parseInt(); // armazena o segundo número em number2
    resolucao(); // Função personalizada para resolver os cálculos
    
    Serial.println("Resultado = ");
    Serial.println(result); // Imprime o resultado do cálculo
    Serial.println(); // pula uma linha
    Serial.println("Outra conta, por favor"); // imprime
    Serial.println(); // pula uma linha
  }
}

void resolucao() {
  // Função personalizada que resolve os cálculos
  switch (calSignal) {
    // Aqui usamos "switch...case" para economizar espaço no sketch.
    // Basicamente, é uma função que verifica vários statements "if".
    // Aqui, verifica qual o valor guardado por calSignal. Basicamente, verifica o "sinal" do cálculo
    
    case '+' : // se calSignal é '+'
      result = number1 + number2; // soma os números e faz result guardar o valor do cálculo
      break; // break para sair do "case"
      
    case '-' : // se calSignal é '-'
      result = number1 - number2; // subtrai os números e faz result guardar o valor do cálculo
      break;
      
    case '*' : // se calSignal é '*'
      result = number1 * number2; // multiplica os números e faz result guardar o valor do cálculo
      break;
      
    case '/' : // se calSignal é '/'
      result = number1 / number2; // divide os números e faz result guardar o valor do cálculo
      // PS: caso a divisão não seja exata, o resultado será o inteiro mais próximo
      break;
      
    default : // Se não for nenhum destes...
      Serial.println("CONTA INVÁLIDA"); // Cria um "erro"
      Serial.println();
      result = 0;
  }
}

Esquemáticos

Basicamente, apenas a placa é necessária.

Processo de manufatura

  1. Relógio de Palavras DIY com Arduino – Construa um Display Elegante de Tempo Real
  2. Relógio em Tempo Real com Arduino para Horários de Oração Islâmica
  3. Servidor Web Arduino Uno WiFi: Controle LED via Navegador
  4. Construa um Sensor de Obstáculos Simples com Arduino – Tutorial Fácil com LED IR e Fotodiodo
  5. Display Portátil de Persistência da Visão com Arduino UNO e ATtiny85
  6. SerialDebug: Depuração Avançada para Arduino com Log Serial por Níveis
  7. Cronômetro Arduino Simples: Botão Ativa Cronômetro com EEPROM e Interrupções
  8. Timer de Lavagem de Mãos com Arduino: Ferramenta DIY Simples para Combater a COVID‑19
  9. Controlando Matriz de LED 8×8 com Arduino Uno: Guia Passo a Passo
  10. Wi-Servo: Controle Servomotores via Wi-Fi pelo Navegador