habe den Code nun folgendermaßen abgeänfdert aber noch kein resultat???
Code:
#include <avr/io.h>
#include <util/delay.h>
int main()
{
unsigned int sample,i,value;
DDRD=0xFF; // PORTD als Ausgabeport
ADMUX=(0<<REFS1)|(1<<REFS0); // ADC Ref auf Avcc, PC0 gew?hlt
ADCSR=(1<<ADEN)|(0<<ADPS0)|(1<<ADPS1)|(1<<ADPS2); // ADC eingeschaltet, 64 Bit Prescale
while(1)
{
sample=0;
for(i=0;i<64;i++)
{
ADCSRA |= (1<<ADSC);
ADCSRA |=0b10000000; //single conversion mode ein
while(ADCSRA & (1<<ADSC)); //warten bis konvertierung abgeschlosen
sample+=ADCW; //aufsummierung der samplewerte
}
value=sample/64; //aritmethisches mittel der samplewerte
if (value<300)
PORTD=0b10000000; //schaltet LED ein
else if (value>=300 && value<600)
PORTD=0b11000000; //schaltet LED ein
else
PORTD=0b11100000; //schaltet LED ein
}
}
Lesezeichen