#include <Arduino.h>
#include <Servo.h>
int ServoPin = 9;
int LEDR1 = 4;
int LEDR2 = 8;
int LEDGr = 5;
bool slagboom_open = false; // Checken of de slagboom open of dicht is
Servo SlagBoom;
void omhoog() // Als er op de drukknop word gedrukt om de slagboom omhoog te zetten
{
SlagBoom.write(90);
slagboom_open = false; // erna de slagboom op dicht zetten
}
void omlaag() // Als er op de drukknop word gedrukt om de slagboom omhoog te zetten
{
SlagBoom.write(0);
slagboom_open = true; // erna de slagboom op open zetten
}
void setup()
{
Serial.begin(9600);
pinMode(LEDR1, OUTPUT); // Led als output
pinMode(LEDR2, OUTPUT); // Led als output
pinMode(LEDGr, OUTPUT); // Led als output
SlagBoom.attach(ServoPin);
SlagBoom.write(90); //De servo op 90graden zetten in het begin
attachInterrupt(1, omhoog, FALLING); // Drukknoppen op de interrupt zetten
attachInterrupt(0, omlaag, FALLING);
}
void loop()
{
if (slagboom_open) //Als slagboom naar boven is
{
delay(1000);
digitalWrite(LEDGr, (digitalRead(LEDGr))^1); //Groene led om de seconde laten knipperen
digitalWrite(LEDR1, LOW); //Rode leds uitzetten
digitalWrite(LEDR2, LOW);
}
if (!slagboom_open) //Als slagboom naar beneden is
{
delay(1000);
digitalWrite(LEDGr, LOW); //Groene led uitzetten
digitalWrite(LEDR1, (digitalRead(LEDR1))^1); //Rode leds om de seconde laten knipperen
digitalWrite(LEDR2, (digitalRead(LEDR2))^1);
}
}