Sensorbefehl nur einmal ausführen


hallo zusammen,

ich hab da ein problem: ich hab ein programm geschrieben, bei welchem je nach ldr-wert ein motor oder eine led angesteuert wird. das problem genau ist, dass der motor logischerweise immer bei helligkeit dreht. er soll allerdings nur die ersten 0,5s lang drehen, ich weiß allerdings nicht, wie man programmiert.
könnte mir daher jemand erklären, ich folgenden skript ändern muss, damit dies der fall ist?

code: [select]

void setup()
{
 serial.begin(9600);
 pinmode(motor1, output);
 pinmode(motor2, output);
 pinmode(led, output);
 }

void loop()
{
helligkeit = analogread(0);
if(helligkeit<30)                  //sobald der wert kleiner als 30 ist, wird ein motor eingeschaltet
{                            
  digitalwrite(motor2, high);
  digitalwrite(motor1, low);
  digitalwrite(led, low);
  }
  else                             //wenn nicht, ist der motor aus und eine led leuchtet
  {                  
    digitalwrite(motor2, low);
    digitalwrite(motor1,low);
    digitalwrite(led, high);
    }
    }

ganz einfach: du packst eine variable dazu, als "flag".
die hat den startwert 0 und in dem moment, wo der motor angeht, setzt du sie auf 1.
ausserdem fragst du sie immer ab und _nur_ wenn sie 0 ist, wird der motor einbgeschalten.

fertig.


Arduino Forum > International > Deutsch (Moderator: uwefed) > Sensorbefehl nur einmal ausführen


arduino

Comments

Popular posts from this blog

opencv3, tbb and rasp pi 2 - Raspberry Pi Forums

small ethernet problem - Raspberry Pi Forums

Multithumb configuration params not working? - Joomla! Forum - community, help and support