Hi, thanks for the respond!
It's still not working for me, is there anything i'm missing out?
#include<Servo.h>
Servo servo;
Servo servo2;
int const trigPin = 6; //navngir pin 6 til trigPin
int const echoPin = 5;
int const btrigPin = 10;
int const bechoPin = 11;
int interval=20000;
unsigned long previousMillis=0;
bool interval_is_running = false;
void setup() { //Denne koden køyres kun eingong
Serial.begin(9600); //Bits per sekund
pinMode(trigPin, OUTPUT); //Gjør trigPin om til Output
pinMode(echoPin, INPUT); //Gjør echoPin om til Input
pinMode(btrigPin, OUTPUT);
pinMode(bechoPin, INPUT);
servo.attach(3);
servo2.attach(9);
}
void loop() { //Denne koden køyres heile tida
digitalWrite(trigPin,LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH); //Gjøpr trigpin om til HIGH eller 1
delayMicroseconds(2);
digitalWrite(trigPin, LOW); //Gjør trigPin om til LOW eller
long timedelay = pulseIn(echoPin, HIGH);
int distance = 0.0343 * (timedelay/2);
if (distance <=50 && distance >=1) { //Visst noko er mellom 0cm og 50cm så kjører det denne if koden
servo.write(80); //Justerer servoen til 50 grader
servo2.write(140);
delay(3000); //venter 3 sekund
} else {
servo.write(180); //Gjør servoen om til 160 grader som gjør til at lokket lukker seg.
servo2.write(40);//Gjør servoen om til 40 grader som gjer at lokket lukker seg.
}
delay(60);
delayMicroseconds(2);
digitalWrite(btrigPin,LOW);
delayMicroseconds(2);
digitalWrite(btrigPin, HIGH); //Gjøpr trigpin om til HIGH eller 1
delayMicroseconds(2);
digitalWrite(btrigPin, LOW); //Gjør trigPin om til LOW eller 0
long td = pulseIn(bechoPin,HIGH);
int bdistance = 0.0343 * (td/2);
unsigned long currentMillis = millis();
if (bdistance >=15 && bdistance <=1){
if (! interval_is_running)
previousMillis = currentMillis;
interval_is_running = true;
}
if ((currentMillis - previousMillis) >= interval) {
Serial.println("FullFULLFULL");
previousMillis = currentMillis;
}
delay(1000);
Serial.println(currentMillis);
Serial.println(previousMillis);
Serial.println(bdistance);