Calculadora Básica con Arduino UNO - Proyecto Fácil para Principiantes
Componentes y materiales
Este proyecto funciona con cualquier placa Arduino compatible con el IDE:
| Arduino UNO / Nano / Mega / Leonardo / Due / Yun / 101 | 1 (cualquiera) |
Solo necesitas la placa y el cable USB. Sin componentes extra.
Aplicaciones
- Arduino IDE
Sobre el proyecto
Un día mi profesor de mates me preguntó, mientras hablaba de Arduino: "¿Se pueden hacer mates con esto?". Respondí: "No sé", y me puse a pensar cómo lograrlo. Lo resolví y quiero compartirlo.
Una forma muy simple de hacer operaciones matemáticas con Arduino. Para el ejemplo usé UNO, pero funciona en cualquier placa.
Pasos
- Conecta la placa al PC por USB
- Sube el código siguiente
- Abre el Monitor Serie (9600 baudios)
- Escribe una operación válida (ej:
2+3,8*2,10-4,20/5) sin espacios y pulsa Enter
Planeo hacer una calculadora más completa. Si la queréis, decidmelo en comentarios. ¡Estad atentos!
Código - Calculadora Serie
/* Calculadora Serie Arduino
* Operaciones básicas: +, -, *, /
* Ejemplo: envía "2+3" (sin comillas ni espacios) → responde 5
* "7-3" → 4
* Creado por João Paulo Rodrigues Poltronieri
* Dominio público
*/
long number1; // Primer número (long para números grandes)
long number2; // Segundo número
char calSignal; // Operador: +, -, *, /
long result; // Resultado
void setup() {
Serial.begin(9600);
Serial.println("Enviame una operacion");
Serial.println("Ej: 2+3");
Serial.println();
}
void loop() {
while(Serial.available() > 0) {
number1 = Serial.parseInt(); // Lee primer número (parseInt maneja multi-dígito)
calSignal = Serial.read(); // Lee operador
number2 = Serial.parseInt(); // Lee segundo número
resolucion(); // Resuelve
Serial.println("Resultado = ");
Serial.println(result);
Serial.println();
Serial.println("Otra operacion, por favor");
Serial.println();
}
}
void resolucion() {
switch (calSignal) {
case '+' :
result = number1 + number2;
break;
case '-' :
result = number1 - number2;
break;
case '*' :
result = number1 * number2;
break;
case '/' :
if (number2 != 0) {
result = number1 / number2; // División entera (trunca decimales)
} else {
Serial.println("ERROR: Division por cero");
result = 0;
}
break;
default :
Serial.println("OPERACION INVALIDA");
result = 0;
}
}
case verificaban '+'. He corregido los operadores -, *, /. También añadí protección contra división por cero.
Esquemático
Básicamente: solo la placa. Sin cableado extra.
Proceso de manufactura
- Reloj de Palabras DIY con Arduino: Construye una Pantalla Elegante en Tiempo Real
- Construye un reloj en tiempo real con Arduino para horarios de oración islámica
- Servidor Web Arduino Uno WiFi: Controla un LED desde el Navegador
- Sensor de obstáculos IR casero con Arduino – Tutorial fácil con LED IR y fotodiodo
- Construir una pantalla de persistencia de visión portátil con Arduino UNO y ATtiny85
- SerialDebug: Depuración avanzada para Arduino con logging serie por niveles
- Cronómetro Arduino Sencillo: Activado por Botón con EEPROM e Interrupciones
- Temporizador de Lavado de Manos con Arduino: Herramienta DIY Simple para Combatir el COVID‑19
- Control de Matriz LED 8×8 con Arduino Uno: Guía Paso a Paso
- Wi-Servo: Controla servomotores por Wi‑Fi desde un navegador web
- Sistema de Monitorización de Temperatura con Arduino y Bluetooth para Smartphone