#include <Stepper.h>
const int MOTION_SENSOR_PIN=7;
const int LED1_PIN=3;
//const int LED2_PIN=9;
//const int LED3_PIN=10;
const int BUZZER_PIN=11;
const int STEP_PIN=9;
const int DIRECTION_PIN=10;
const int stepsPerRevolution=200;
int motionStateCurrent=LOW;
int motionStatePrevious=LOW;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
pinMode(MOTION_SENSOR_PIN, INPUT);
pinMode(LED1_PIN, OUTPUT);
//pinMode(LED2_PIN, OUTPUT);
//pinMode(LED3_PIN, OUTPUT);
pinMode(STEP_PIN, OUTPUT);
pinMode(DIRECTION_PIN, OUTPUT);
pinMode(BUZZER_PIN, OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
motionStatePrevious=motionStateCurrent;
motionStateCurrent=digitalRead(MOTION_SENSOR_PIN);
digitalWrite(DIRECTION_PIN, HIGH);
if(motionStatePrevious==LOW && motionStateCurrent == HIGH)
{
Serial.println("On");
digitalWrite(LED1_PIN, HIGH);
digitalWrite(DIRECTION_PIN, HIGH);
digitalWrite(BUZZER_PIN, HIGH);
for(int x=0; x<800; x++)
{
digitalWrite(STEP_PIN, HIGH);
delayMicroseconds(700); //Rotation Speed
digitalWrite(STEP_PIN, LOW);
delayMicroseconds(700);
}
delay(1000);
digitalWrite(DIRECTION_PIN, LOW);
for(int x=0; x<800; x++)
{
digitalWrite(STEP_PIN, HIGH);
delayMicroseconds(700); //Rotation Speed
digitalWrite(STEP_PIN, LOW);
delayMicroseconds(700);
}
}
else
if(motionStatePrevious==HIGH && motionStateCurrent==LOW)
{
Serial.println("Off");
digitalWrite(LED1_PIN, LOW);
}
}