Do Sensor command only once

Hello,

I have a problem, which I have written already in the german forum, but nobody could really help me. I want to write a script in which an engine turns in the one direction , if it's bright, and turn in the other one, if it's dark, but only 0,5s after the change. (Means 0,5 turning, waiting until it becomes dark, turning again 0,5s, waiting until it's bright, again turning, waiting until it's dark,...)
The problem is, I don't know how to put that into effect and therefore, it would be nice, if somebody could help me.

There is only one wish, I have and I think I really have to say this: If you you name an order how to do tat, please give an example in which way it is used in a script or explain it, so that a beginner can understand it :slight_smile:

Thank you for answers and best regards

C'mon, I really need your help. Someone told me of a boolean. Can anyone explain, how to use that

int Motor1 = 2;
int Motor2 = 7;
int Pumpe = 10);
int Helligkeit;

void setup()
{
  pinMode(Motor1, OUTPUT);
  pinMode(Motor2, OUTPUT);
  Serial.begin(9600);
}

void loop()
{
  Helligkeit=analogRead(0);      
  Serial.println(analogRead(0));  
  
  if(Helligkeit<20)             
  {                               
  digitalWrite(Motor1, HIGH);   
  digitalWrite(Motor2, LOW);
  delay(500);
  }
  else;                           
  {                              
  digitalWrite(Motor1, LOW);  
  digitalWrite(Motor2, HIGH);
  delay(500);

This should work:

int Motor1 = 2;
int Motor2 = 7;
int Pumpe = 10;
int Helligkeit;

void setup()
{
  pinMode(Motor1, OUTPUT);
  pinMode(Motor2, OUTPUT);
  Serial.begin(9600);
}

void loop()
{
  Helligkeit=analogRead(0);      
  Serial.println(analogRead(0));  
  
  if(Helligkeit<20)    
  {                               
    digitalWrite(Motor1, HIGH);   
    digitalWrite(Motor2, LOW);
    delay(500);
    digitalWrite(Motor1, LOW);  
    digitalWrite(Motor2, LOW);
    while(Helligkeit<20)
     {
      Helligkeit=analogRead(0);      
      Serial.println(analogRead(0));
     }
  }
  if(Helligkeit>20)                       
  {                              
    digitalWrite(Motor1, LOW);  
    digitalWrite(Motor2, HIGH);
    delay(500);
    digitalWrite(Motor1, LOW);  
    digitalWrite(Motor2, LOW);
    while(Helligkeit>20)
    {
      Helligkeit=analogRead(0);      
      Serial.println(analogRead(0));
    } 
}

Thank you, finally someone who has a real suggestion :smiley: