Einfacher Taschenrechner mit Arduino UNO – Einsteigerprojekt
Komponenten und Materialien
Für dieses Projekt wird im Grunde nur ein Arduino-Board benötigt. Es funktioniert mit fast jedem Arduino-kompatiblen Board: Arduino UNO, Arduino 101, Arduino Nano R3, Arduino Yun, Arduino Mega 2560, Arduino Due, Arduino Leonardo – solange es mit der Arduino IDE funktioniert, läuft das Projekt.
Apps und Online-Dienste
- Arduino IDE
Über dieses Projekt
Eines Tages fragte mich mein Mathelehrer, während ich über Arduino sprach: „Kann man damit Mathe machen?“. Ich antwortete: „Keine Ahnung“, und das brachte mich zum Nachdenken, wie man das umsetzen könnte. Ich fand heraus, wie es geht, und möchte es teilen.
Hier ist es: Eine sehr einfache Art, Mathe mit Arduino zu machen. Ich nutzte einen Arduino UNO, aber es sollte mit jedem Board funktionieren.
Schritt-für-Schritt:
- Board mit Computer verbinden
- Untenstehenden Code hochladen
- Seriellen Monitor öffnen
- Eine gültige Rechnung eingeben (Details im Code)
Ich plane einen besseren Taschenrechner, aber vorerst ist es genau das: eine Möglichkeit für Basis-Mathe. Wenn du den „besseren“ Rechner willst, gib Bescheid. Bleib dran!
Code
TASCHENRECHNER CODE
Zahlen und Operator zusammen eingeben, z. B. „2+3“ oder „8*2“ – Ergebnis wird ausgegeben.
/* Serieller Arduino Taschenrechner
* Grundrechenarten mit Arduino – wie ein sehr simpler Taschenrechner.
* Akzeptiert zwei Zahlen und ein Signal (+, -, *, /).
* Bsp.: "2+3" (ohne Anführungszeichen, ohne Leerzeichen) → Arduino antwortet 5.
* "7-3" → Arduino antwortet 4.
* Erstellt von João Paulo Rodrigues Poltronieri
* Public Domain
*/
long number1; // Erste Zahl (long für große Zahlen)
long number2; // Zweite Zahl
char calSignal; // Rechenzeichen
long result; // Ergebnis
void setup() {
Serial.begin(9600);
Serial.println("Sende mir eine Rechnung");
Serial.println("Bsp.: 2+3");
Serial.println();
}
void loop() {
while(Serial.available() > 0) {
number1 = Serial.parseInt(); // Liest erste Zahl (z.B. "23" → 23, nicht nur "2")
calSignal = Serial.read(); // Rechenzeichen
number2 = Serial.parseInt(); // Zweite Zahl
resolve(); // Berechnung
Serial.println("Ergebnis = ");
Serial.println(result);
Serial.println();
Serial.println("Nächste Rechnung, bitte");
Serial.println();
}
}
void resolve() {
switch (calSignal) {
case '+':
result = number1 + number2;
break;
case '-':
result = number1 - number2;
break;
case '*':
result = number1 * number2;
break;
case '/':
result = number1 / number2; // Ganzzahldivision – bei Rest wird abgerundet
break;
default:
Serial.println("UNGÜLTIGE RECHNUNG");
Serial.println();
result = 0;
}
}
Schaltplan
Im Grunde wird nur das Board benötigt – eigentlich keine externe Beschaltung.
Herstellungsprozess
- DIY Arduino Word Clock – Elegante Wortuhr mit RTC & Schieberegistern
- Arduino Echtzeituhr für islamische Gebetszeiten bauen
- Arduino UNO WiFi Webserver: LED per Browser steuern
- Einfachen Hindernissensor mit Arduino bauen – IR-LED & Photodiode Tutorial
- Tragbares Persistence-of-Vision-Display mit Arduino UNO und ATtiny85 bauen
- SerialDebug: Arduino-Debugging mit erweiterten Log-Leveln verbessern
- Einfacher Arduino-Stoppuhr: Taster-gesteuerter Chronometer
- Arduino Handwasch-Timer: Einfaches DIY-Tool gegen COVID-19
- 8×8 LED-Matrix mit Arduino Uno meistern: Schritt-für-Schritt-Anleitung
- Wi-Servo: Servomotoren per WLAN über Webbrowser steuern