Arduino Taschenrechner
Warum?
In der Letzten Zeit habe ich sehr oft sehr viele Online-Rechner benutzt um zum Beispiel aus einem Durchmesser einen Umfang oder um aus Grad Celsius Grad Fahrenheit und mehr zu berechnen. Nachdem ich jedoch irgendwann den überblick über die vielen Webseiten verloren habe, entschied ich mich einen Ordner mit C-Programmen für die jeweiligen Rechner anzulegen. In diesen Programmen gibt man Z.B. einen Durchmesser eines Kreises im Seriellen Monitor an und erhält den Umfang des Kreises im Seriellen Monitor.
Wie?
Für meinen Rechner werde ich einen Arduino (in meinem Fall den Atmega-2560) benutzen, da dieser schnell läuft, es sollte jedoch jeder möglich sein. Damit er nicht die ganze Zeit ungewollt Zahlen einliest, die gar nicht von mir eingetippt worden sind, findet das Lesen der Werte, die Rechnung und das Ausgeben der Werte in einer „if(Serial.available()){“ Schleife statt. In meinem Rechner werde ich den „Serial.parseFloat()“ Befehl benutzen, da man mit diesem einen eingelesenen Wert in einem Float speichern kann. Dann kommt die an sich selbst erklärende Rechnung, in der ich einfach nur die Werte mape. Und am Ende Kommt noch das Ausgeben der Werte im Seriellen Monitor.
Die 3 eingelesenen Zahlen werden auf Grund der englischen Schreibweise mit einem Komma getrennt und Kommas werden mit einem Punkt geschrieben. Das Programm Funktioniert in dem man 3 Werte (Wert_1, Wert_2 und x) eingibt und mit einem Komma trennt. Dann muss man nur noch auf Enter drücken und sollte ein Ergebnis bekommen.
Hier ist mein Programm:
///////////////////////////////////////////////////////////// // // // Arduino Mathe Rechner für Proportionale Funktionen // // // ///////////////////////////////////////////////////////////// // Mehr zum Code unter www.Towinet.de void setup() { //Beginnen mit der Hauptschleife Serial.begin(115200); //Verbindung mit Computer aufbauen } //Beenden der Start-Schleife void loop() { //Starten der Hauptschleife, die immer ab anschalten immer an ist if(Serial.available()){ //Wenn etwas vom Computer versendet wurde,... //Einlesen der Werte float Wert_1 = Serial.parseFloat(); //einlesen von "Wert_1" //und erstellt ein Float namens "Wert_1" float Wert_2 = Serial.parseFloat(); //einlesen von "Wert_2" //und erstellt ein Float namens "Wert_2" float x = Serial.parseFloat(); //einlesen von "x" //und erstellt ein Float namens "x" //Rechnug der Aufgabe float y = map(x, 0.0, Wert_1, 0.0, Wert_2); //Die Mathematische Operation (Rechnung) //Ausgeben der Werte Serial.print(Wert_1); //Ausgeben des 1.Wertes Serial.print(" entspricht "); //Ausgeben des wortes " entspricht " Serial.println(Wert_2); //Ausgeben des 2.Wertes Serial.print(x); //Ausgeben von x Serial.print(" entspricht dann "); //Ausgeben des wortes " entspricht dann " Serial.print(y); //Ausgeben von y } //Beenden der "Wenn etwas vom Computer versendet wurde" Schleife }
Schritt 1:
Werte eintippen
Schritt 2:
Enter Drücken
Schritt 3:
Ergebnisse betrachten