Ich verstehe das echt nicht.
Meine Interrupt-Routine sieht so aus:
Code:
ISR(ADC_vect)
{
conv=1;
}
Conv ist global deklariert:
Code:
volatile uint8_t count=0, conv=0;
und meine Helligkeitsmessung sieht jetzt so aus:
Code:
//---------------------------------Helligkeitsmessung---------------------------------
void helligkeitsmessung(void)
{
uint16_t LDR;

ADCSRA |= (1<<ADSC);
//while (ADCSRA & (1<<ADSC))
  //{
  //;
  //}
if (conv >= 1)
  {
  LDR = ADC;
  conv=0;
  }
  
if (LDR<=150)
  {
  PORTD |= (1<<Scheinwerfer);
  PORTD |= (1<<Rueckleuchten);
  }
if (LDR>=190)
  {
  PORTD &= ~(1<<Scheinwerfer);
  PORTD &= ~(1<<Rueckleuchten);
  }
}
das licht bleibt jetzt dauerhaft an
viel euch das alles beim ersten Roboter auch alles so schwer?

MfG Jan