Ik ontwikkel een programma om de statische marge van een vliegtuig te berekenen door middel van berekeningen van massa, moment en arm. In wezen omgaan met grote aantallen.
Ik heb moeite om mijn code zo in te stellen dat de rekenkunde correct wordt toegepast op grotere getallen. Wat ik tot nu toe heb gedaan, werkt alleen als de invoer 0-9 is. De rekenkunde slaagt er niet in om cijfers verder te berekenen.
Ik begrijp dat ik de cijfers in aparte variabelen onderverdeel, zodat ze van het ASCII-formaat naar de gewenste waarde worden omgezet. Het probleem zit in het weer bij elkaar brengen van die cijfers.
Ik weet dat dit waarschijnlijk heel eenvoudig is, maar ik neem Arduino weer op na een lange pauze en ik ben erg roestig.
Hier is mijn code tot nu toe:
long batterymoment,num1,num2,answer;
int batterymass = 720;
int batteryposition;
boolean mySwitch = false;
void setup() {
Serial.begin(9600);
num1=0;
num2=0;
Serial.println("Enter battery position");
}
void loop() {
while (Serial.available()){
batteryposition = Serial.read();
if(batteryposition>47 && batteryposition<58){
if(!mySwitch){
num1=(num1*10)+(batteryposition-48);
}else{
num2=(num2*10)+(batteryposition-48);
}
}
answer=num1+num2;
batterymoment=answer*batterymass;
Serial.print("Battery moment is: ");
Serial.println(batterymoment);
num1=0;
num1=0;
mySwitch=false;
}
}
Bedankt.