Hi,
den Code von McGrizzly habe ich zwar nicht zum laufen gebracht, aber der Denkanstoss war gut und so habe ich die Funktion etwas komprimieren können.
PHP-Code:
/*
*
* Copyright (c) 2015 Marco Steinhauser. All rights reserved
*
* Anzeige
* Dieses Test Programm ist für die Anzeige DRAG Race
*
*
* getestet auf Arduino Uno R3
*
*
* Version 1.1
* Erstellt Vers. 1.0 am 24 März 2015
* V. 1.0 Eine 8 stellige Zahl wird in einzelnen Zahlen aufgeteilt
* Zur kontrolle der Funktion wird das Ergebnis auf den
* Seriellen Monitor ausgegeben.
*
* Erstellt Vers. 1.1 bis 1.2 am 25 März 2015
* V. 1.1 Die Funktion der Auswertung wurde mit einer FOR Schleife
* und einem Array Variable realisiert.
* V. 1.2 Die Funktion "error" wurde implementiert. Hier erfolgt
* eine Kontrolle ob die Zahlen in der Array Variable den
* Zahlen aus der Vorgabe entsprechen.
*/
long zahl=34598237; //Beim Durchlauf mit +1 hier 9999999 eintragen.
long errorzahl=0;
long divisor=10000000;
long teilzahl=0;
int i=0;
byte einzelzahl[8];
void setup()
{
Serial.begin(9600);
}
void loop()
{
errorzahl=0;
//zahl = zahl++; //Zahl bei jedem Durchlauf um 1 erhöhen
Serial.println("");
Serial.print("Zahl Vorgabe="); Serial.println(zahl);
delay(2000);
bestimmeZahl();
Serial.print("einzelzahl=");
Serial.print (einzelzahl[0]);
Serial.print (einzelzahl[1]);
Serial.print (einzelzahl[2]);
Serial.print (einzelzahl[3]);
Serial.print (einzelzahl[4]);
Serial.print (einzelzahl[5]);
Serial.print (einzelzahl[6]);
Serial.println (einzelzahl[7]);
error();
if (errorzahl == zahl){
Serial.println("Alles Super!!!!");
}
else {
Serial.println("Fehler!!!!");
}
Serial.print("Error Zahl="); Serial.println(errorzahl);
delay (2000);
}
void bestimmeZahl () // Funktion zum Auswerten einer 8 stelligen Zahl
{
for (int i=0; i<8; i++){
teilzahl=(zahl/divisor);
divisor=(divisor/10);
if (teilzahl >=10) {
teilzahl=(teilzahl%10);
}
einzelzahl[i] = (teilzahl);
}
divisor=10000000;
}
void error()
{
for (int i=0; i<8; i++){
errorzahl = errorzahl*10+einzelzahl[i];
}
}
Habe mal noch eine Funktion eingebunden, die kontrolliert ob die Zahl die in die Array Variable gespeichert wurde, auch der vorgegebenen Zahl entspricht.
Das wird wohl später verwendet, damit die Anzeige keinen Mist anzeigt oder damit eine neue Zahl angefordert werden kann. So oder so ähnlich
Gruß Marco
Lesezeichen