Gå til innhold

Lage C program for luftrykk ADC


Anbefalte innlegg

  1. Lag et C-program som leser lufttrykket, fra en lufttrykk-sensor, som er koblet til ADC inngang 3, og som skriver ut lufttrykk på PC-skjerm, i hPa.

    Det brukes en analog lufttrykk-sensor, og elektronikken er laget slik at den dekker et området fra 900 til 1100 hPa. Elektronikken er laget slik at 900 hPa gir 0,0 Volt inn på ADC, og 1100 hPa gir 5,0 Volt inn på ADC. Programmet skal gå i evig løkke. Det er greit at det brukes 8 bit ADC. Det er ønskelig at konverteringstiden er lengst mulig.

    De som ønsker det, kan sende ut desimalverdien, og bruke 10 bit ADC.

 

Kan noen rette på koden min om jeg har lagd programmet riktig iforhold til oppgaven? Takk

#include <dev/board.h>
#include <stdio.h>
#include <io.h>
#include <sys/timer.h>



int main (void){
unsigned char les;
float lufttrykk;
unsigned long baud = 14400;
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 = ADLAR;
lufttrykk =((les*1024)/205); //Det er 205 pHa per volt.

printf("\nLufttrykket er: %d pHa", lufttrykk);
NutSleep(400);

for(;;
return 0;
}  
Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...