Postat: 7 november 2005, 17:37:02
edit:
Påminnelsen att ADC'n ger 10bitars värden fick mig att tänka om.
Efter lite ändringar så fungerar det!
Så här gjorde jag:
Jag hade tidigare dimensionerat 'pot' som byte.
Ändrade till word istället, och justerade formeln till att dela med 1024. (Det blir 1024 eftersom jag kör 'pot' plus 1.)
Då gick den mellan 0 - 64, fortsatte jag vrida på potentiometern så började den om från 0 och gick till 32 (tror jag det var.. strax över 30 iaf.)
Den här formeln gav bara 0% hela tiden:
resultat = (((pot + 1) / 1024) * 100)
Däremot: resultat = (((pot + 1) * 100 ) / 1024) gav procenttal som jag kan förändra med potentiometern, men max-talet jag får ut på displayen är 64.
Men, när jag dimensionerade 'resultat' till float så fungerar båda formlerna. Jag kör nu med
resultat = (((pot + 1) / 1024) * 100) och får ut värden mellan 0-100% på displayen!
edit igen: eh, var lite för optimistisk, den ger 0-99%. Formeln är rätt så jag tror att det har med spänningsreferensen att göra. Det går i såfall att fixa med Vref+ på PIC-kretsen.
Nästa test: Göra egna tecken så värdet även visas i en skala. Bara för att det går.
Påminnelsen att ADC'n ger 10bitars värden fick mig att tänka om.
Efter lite ändringar så fungerar det!
Så här gjorde jag:
Jag hade tidigare dimensionerat 'pot' som byte.
Ändrade till word istället, och justerade formeln till att dela med 1024. (Det blir 1024 eftersom jag kör 'pot' plus 1.)
Då gick den mellan 0 - 64, fortsatte jag vrida på potentiometern så började den om från 0 och gick till 32 (tror jag det var.. strax över 30 iaf.)
Den här formeln gav bara 0% hela tiden:
resultat = (((pot + 1) / 1024) * 100)
Däremot: resultat = (((pot + 1) * 100 ) / 1024) gav procenttal som jag kan förändra med potentiometern, men max-talet jag får ut på displayen är 64.
Men, när jag dimensionerade 'resultat' till float så fungerar båda formlerna. Jag kör nu med
resultat = (((pot + 1) / 1024) * 100) och får ut värden mellan 0-100% på displayen!
edit igen: eh, var lite för optimistisk, den ger 0-99%. Formeln är rätt så jag tror att det har med spänningsreferensen att göra. Det går i såfall att fixa med Vref+ på PIC-kretsen.
Nästa test: Göra egna tecken så värdet även visas i en skala. Bara för att det går.
