// Automatisk katteforer
#include <Stepper.h> //inkluderer stepper-biblioteket
const int stepsPerRevolution = 200; // 200 steg per omgang
// Initialiser Stepper-biblioteket på pinnene 8 til 11:
Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11);
unsigned int deltaTid, forrigeDeltaTid;
int intervall = 3600000; //intervall på ein time
int trigPin = 4;
int echoPin = 2;
void setup() {
// set the speed at 60 rpm:
myStepper.setSpeed(60);
// initialize the serial port:
Serial.begin(9600); //set i gong serial monitor
// Ultrasonisk sensor pin konfigurasjon
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
}
long duration, distance;
void loop() {
Serial.println(distance);
deltaTid = millis();
if (deltaTid - forrigeDeltaTid >= intervall && distance <=20){ //dersom det har gått ein time og sensoren oppdager bevegelse innan 20 cm vil den gje ein dose
forrigeDeltaTid = deltaTid;
Serial.println("clockwise"); //motoren skal gå med klokka
myStepper.step(stepsPerRevolution/4); //går ein kvart omgang
delay(500);
}
// Les av avstand frå ultrasonisk sensor
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = duration * 0.034 / 2;
}