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.
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.
}
}