cenenzo Skrevet 15. mai 2014 Del Skrevet 15. mai 2014 #include <dev/board.h> #include <stdio.h> #include <sys/timer.h> int main(void) { unsigned long baud = 9600; unsigned char les; float temp; char fortegn; NutRegisterDevice(&DEV_UART, 0, 0); freopen(DEV_UART_NAME, "w", stdout); freopen(DEV_UART_NAME, "r", stdin); _ioctl(_fileno(stdout), UART_SETSPEED, &baud); ADMUX = (1 << REFS0) | (1 << ADLAR) | (1 << MUX0); while(1) { ADCSRA = (1 << ADEN) | (1 << ADSC) | (1 << ADIF) | (1 << ADPS2); while (!(ADCSRA & 0x10)) ; les = ADCH; temp =(((les * 80.0)/255 ) - 30.0); if (temp < 0.0) fortegn= ' '; else fortegn= '+'; printf("\nAvlest verdi = %d som er temp %c%2.1f grader", les, fortegn, temp ); NutSleep(800); } return 0; } Dette er en temperatur måler program. jeg lurer på hvilken formel det er som er brukt her, og hva indikerer disse tallene? temp =(((les * 80.0)/255 ) - 30.0); Lenke til kommentar
Giddion Skrevet 15. mai 2014 Del Skrevet 15. mai 2014 Formelen er for lineær skalering med offset Lenke til kommentar
cenenzo Skrevet 15. mai 2014 Forfatter Del Skrevet 15. mai 2014 Formelen er for lineær skalering med offset hvordan ser den ut? Jeg lurer på tallet 80 og 30 er? hvor kommer det fra? Lenke til kommentar
Dan-Levi Skrevet 15. mai 2014 Del Skrevet 15. mai 2014 http://create-and-make.com/linear-scaling-with-offset/ Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå