Vibrationsmatare med ljusbarriär.

Har en vibrationsmatare som matar olika detaljer genom ett hål. För att upptäcka när matningen avbryts pga felaktig detalj har jag monterat en fotoresistor och en laser. Bitarna kommer då och då vilket gör att lasern bryts till och från, mitt problem är hur jag ska skriva programmet så att den stänger av mataren först efter ett längre stop, inte efter brytningen av signalen mellan bitarna.

Tacksam för hjälp.

Jag kör denna koden men får den inte att funka som jag vill.
Det ska ta tex 4 sekunder utan detalj så stannar mataren men den ska starta så fort lasern bryts igen.
Ska jag sätta “delay” någon annan stans?

int photoIn = 0; // photoresistor on Analogue Pin 0
int ledOut = 9; // LED on Digital Pin 9
int aiValue = 0; // input value
int setPoint = 200; // Trigger value
void setup()
{
pinMode(ledOut, OUTPUT); // Configure the Digital Pin Direction for the LED
}
void loop() {
aiValue = analogRead(photoIn); // Read the analogue input value

if (aiValue < setPoint)
{
digitalWrite(ledOut, HIGH); // It has got dark, turn the LED on.
}
else
{
delay(4000);
digitalWrite(ledOut, LOW); // It is light again, turn the LED off.
}
}

Ska jag sätta "delay" någon annan stans?

Nej.

Nej och nej nej nej - låt bli att använda delay.

Läs http://playground.arduino.cc/Code/AvoidDelay

Din program logik skal vara at den nolställer en Timer varhe gång den bryts og stänger mataren när timeren er 4000 större en millis.

Nämde jag att du inte skal använda delay() ?

Tack! Msquare för att du hjälpt mig i rätt riktning. Nu ska jag försöka sätta mig in i hur man skriver sketchen.

Vill minnas att du nämde något om att inte använda "delay" också. :*