PDA

View Full Version : Km to MPH conversion - what am I doing wrong?



Christopher4187
- 8th September 2012, 18:56
KM=29
KM1=125

MPH = ((KM*256)+(KM1))*(1006/1619)/100
MPH1=((KM*256)+(KM1))*(1006/1619)//100

LCDOUT $FE, 128, DEC MPH,".",DEC MPH1

It returns a result of 0.0. I'm assuming it does this because the ones place is zero. I can do it the other way where it's 6.21...... but when the PIC does the math, the result is 45.12 MPH when it should be 46.61 MPH. As another example, if KM is 42 and KM1 is 221, the PIC calculates 61.21 MPH and it should be 63.39 MPH. Then if the speed is over 65 MPH, it rolls over due to a word sized variable.

I have two problems but I'm more concerned with the accuracy. Is there a way to get the reading accurate?

c_moore
- 8th September 2012, 19:18
Well I think there is a easier way to do what you want to do. doing a google search I have found that 1 kmh is equal to .6213 mph. what is km and km1?

Ramius
- 8th September 2012, 19:19
Hi Chris,
My guess is with such large numbers that you would probably have to do such math with PBPL on a 18Fxxxx device.

Christopher4187
- 8th September 2012, 19:33
doing a google search I have found that 1 kmh is equal to .6213 mph.Thank you for that revelation. What do you think the result of (1006/1619) is?
Well I think there is a easier way to do what you want to do.You're probably right. However, if I knew what that easier way was, I wouldn't have posted the question in the first place. I guess you're going to leave that proverbial carrot right in front of my face. Or, do you really know what that easier way is?
My guess is with such large numbers that you would probably have to do such math with PBPL on a 18Fxxxx device.I'm using an 18F4550.

mackrackit
- 8th September 2012, 19:40
Have you seen the PBP manual, section 3.1.2?

Christopher4187
- 8th September 2012, 19:54
Yes, that was one of the first things I tried. One question though. You say 3.1.2 and in my manual that's page 17 where they reference command line options. I went to page 45, which is section 5 and it shows the statement references. Is 3.1.2 relevant to this problem?

Anyhow, they show how to go from MPH to km (*/), but not the other way around. Maybe I'm just not plugging the numbers in correctly. I thought about using the DIG command but that seemed overly complex to get a simple conversion.

mackrackit
- 8th September 2012, 20:09
miles = km */ 159

Should work.

c_moore
- 8th September 2012, 20:48
Thank you for that revelation. What do you think the result of (1006/1619) is?



You don't have to be a smart ass. Why don't you just multiply you km value by 6213/1000? it seems easy to me. maybe I am missing something.

Christopher4187
- 10th September 2012, 10:18
You don't have to be a smart ass. I made my comment because of yours:
doing a google search I have found that 1 kmh is equal to .6213 mph.It's as if you said, "I spent 30 seconds on Google and found out that 1 kmh is equal to .6213. You couldn't have tried to research this problem at all."

In response to your current question, of
Why don't you just multiply you km value by 6213/1000? it seems easy to me. maybe I am missing something.Yes, you are missing something. Did you read my first post?


I can do it the other way where it's 6.21.....Then if the speed is over 65 MPH, it rolls over due to a word sized variable. Did you ever try to do 98 X 256 X 6.213 on an 18F4550?

Ioannis
- 10th September 2012, 12:24
what is the range of the km and mp you need?

If up to 105 Km is OK with you then a word size variable can do it I think.

105(km)*621=65205. Scaling by 100 gives 65.205 Miles.

Or 65205/621 gives back Km. Also if the Miles are scaled up by a factor of 100.

Ioannis

Christopher4187
- 10th September 2012, 13:18
Mackrackit's solution may work. I hope to try it today.

Ioannis
- 10th September 2012, 14:00
Didn't you need the reverse?

Ioannis

Christopher4187
- 10th September 2012, 16:32
Didn't you need the reverse?

IoannisNo.


miles = km */ 159

Should work.Like a champ! It's .13 MPH off at 100 MPH and .09 MPH off at 1 MPH. I'm guessing because of the additional numbers needed for a true KM to MPH conversion? Who cares, I don't need it to be that accurate anyway. Thanks again for the help!

HenrikOlsson
- 10th September 2012, 17:36
Hi,
You said you don't need it but you could try miles=km**40718, it should get you a little bit closer still.

/Henrik.