Features des Codes 1. Touchscreen-Bedienung 5x5 Tastenfeld auf 3,5" TFT mit MCUFriend (Zahlen, Operatoren, Funktionen, Klammern, Löschen usw.) Große Tastenflächen und klare Labels für einfaches Tippen Jede Taste reagiert direkt auf Berührung 2. Serieller Modus (USB/Serial Monitor) Rechnen per Serial Monitor (z.B. Arduino IDE → Werkzeuge → Serieller Monitor) Komplette Rechnungen eingeben (12+34/2, sqrt(16)+2, 1/0) Auch Operatoren-Fortsetzung: Wenn ein Ergebnis im Display steht, reicht z.B. /2, um mit diesem Wert weiterzurechnen (Anzeige: 20, Serial: /2 → Anzeige: 10) 3. Autokorrektur von Eingaben Automatische Korrektur typischer Syntaxfehler und unvollständiger Eingaben: Komma wird zu Punkt (1,5 → 1.5) Doppelte Operatoren werden entfernt (1++2 → 1+2) Operatoren direkt nach ( werden entfernt ((+)5 → (5)) Leere Klammern entfernt (() → entfernt) Zahlen direkt vor einer Klammer (2(3+4)) → Multiplikationszeichen eingefügt (2*(3+4)) Klammer gefolgt von Zahl ((2)3 → (2)*3) Fehlende schließende Klammern werden ergänzt Ausdruck ohne Zahl (++--((()))) wird zu "0" Leere Eingabe wird zu "0" End-Operatoren werden entfernt (2+3+ → 2+3) Doppelte Plus/Minus am Anfang werden reduziert (--4 → 4) Ergebnis: Sehr viel weniger „ERR“ – Eingaben werden wie bei modernen Rechnern interpretiert 4. Mathematik-Parser Eigener Parser für Ausdrücke mit Klammern, Punkt-vor-Strich, mehrere Operatoren Operatoren: +, -, *, /, % Klammern beliebig verschachtelt Funktionen: sqrt(…) (Wurzel) sq(…) (Quadrat) inv(…) (Kehrwert, 1/x) Direkte Quadrat-/Wurzel-Taste am Touchscreen (x^2, sqrt, 1/x) 5. Komfortables Fehlerhandling Division durch Null, zu große/kleine Ergebnisse, Stacküberlauf → Anzeige „ERR“ Nach „ERR“ kann weitergerechnet werden (Touch oder Serial, keine Blockade mehr) **„C“ löscht alles und setzt auf „0“ zurück Watchdog-Timer (2s): Sollte dennoch ein Fehler im Code (Endlosschleife, Stacküberlauf) passieren, startet das System automatisch neu 6. Ergebnisformatierung Ganze Zahlen werden als Integer angezeigt (ohne .0) Kommazahlen werden ohne unnötige Nullen ausgegeben Sehr große Zahlen (Überlauf) führen zu „ERR“ 7. Synchronisierte Anzeige Egal ob über Touch oder Serial gerechnet wird: Das Ergebnis ist immer sofort auf dem Display und im Serial Monitor sichtbar 8. Zusätzliche Komfortfunktionen Löschen einzelner Zeichen („<-“) Vorzeichen umschalten („+/-“) Prozent-Umrechnung Automatisches Weiterrechnen nach Touch oder Serial 9. Speichersicher, stabil und absturzfest Alle Array-Kopien und -Längen werden korrekt geprüft (Buffer Overflow-Schutz) Eingabegrößen (Touch und Serial) sind begrenzt (INPUT_MAX) Alle Stackoperationen geprüft: Tiefe Klammerausdrücke führen zu „ERR“, nicht zum Absturz 10. Benutzerfreundlichkeit Fehlerkorrektur statt Fehlermeldung Keine Angst mehr vor Syntaxfehlern Funktioniert wie ein smarter Taschenrechner am Smartphone Funktioniert mit Touchscreen(3.5 TFT Lcd Shield, kalibrieren nicht vergessen) oder Seriel (115200 baud)
Andreas T. schrieb: > Features Schön, aber: Es ist kein Taschenrechner so lange man float verwendet. Taschenrechner rechnen dezimal mit guard-Ziffern (meist 3 mehr als angezeigt) und nutzen andere Algorithmen für transzendente Funktionen, meist Cordic. Damit (1/3)*3 wieder 1 wird, arcsin(sin(0.5)) wieder 0.5.
Michael B. schrieb: > Es ist kein Taschenrechner so lange man float verwendet. Es ist ein Taschenrechner, wenn er in eine Tasche passt. Wenn DIR etwas nicht passt, dann ergänze es doch, anstatt darauf zu pochen, daß in einem Kopp zwangsläufig auch ein Inhalt steckt.
Gequetscht? Bitte was? Kleiner Realitätscheck: Der klassische TI-30 lief mit 2K ROM (9 Bit Breite) und 576 Bits RAM http://www.datamath.org/Chips/TMC0980.htm Funktionen ähnlich dem was du geschrieben hast, nur mit richtigem internen Taschenrechner-Zahlenformat und ohne Parser. Der HP28C, ein Meilenstein bei den technisch-wissenschaftlichen Taschenrechnern, hatte 64KB ROM http://mycalcdb.free.fr/main.php?l=0&id=831 In diesen 64KB ROM war ein Taschenrechner auf Speed: Unter anderem programmierbar und mit symbolischem und numerischem Solver, einem Satz von eingebauten Funktionen die in einem 400+ Seiten Handbuch dokumentiert waren, diverse Zahlensysteme, Matrixfunktionen, Differenzieren, Integrieren, Rechnen mit komplexen Zahlen, Plotfunktionen, Statistikfunktionen, und, und, und. Ach ja, und eine Katalog von 120 Einheiten inklusive Symbolen die man in Rechnungen verwenden konnte und Umrechnungsfunktionen. SI Prefixe, einschließlich allem was man in der E-Technik braucht, wurden dabei auch verstanden. Das war gequetscht. Aber wirklich gequetscht. Ach ja, und das war im Jahr 1987.
Andreas T. schrieb: > Funktioniert mit Touchscreen(3.5 TFT Lcd Shield, Ach das! Da es ja nur ein 3.5" TFT Shield gibt ist ja alles klar. Manche Leute würden es dennoch genauer wissen wollen.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.