hi all, a little help needed.
kph / 1.609 = mph so i have seen on the internet but i don't know how i would do this in arduino. do i have to use a float?
thanks.
hi all, a little help needed.
kph / 1.609 = mph so i have seen on the internet but i don't know how i would do this in arduino. do i have to use a float?
thanks.
As you ask, the answer is "Yes".
However, to work with long, you could easily multiply by 10000L, add 5 for perfect rounding, and then divide by 16090
to get mph from a km/h value.
int mph = (int)((kph * 10000L + 5)/ 16090);
BTW: rounding assumes you work with positive values.
thank you michael_x, i will give that a try and yes it's positive numbers.
thanks.
Just work with metres instead of kilometres (ie everything 1000x larger) and format accordingly for display.
Rob
the value am reading is kph via a cars obd and i can't change that.
michael_x,
int temp;
temp = ((kph * 10000L + 5)/ 16090);
that worked fine but this also worked fine but only returned a value with no decimal. i don't want the decimal anyway.
int temp;
temp = str[0] / 1.609;
this is what i have done now and it looks to work fine.
case VS:
temp = (str[0] * 10000L) / 16090L;
sprintf(PID_result, ("%d MPH"), temp);
break;
thanks for the help.