ACTIVATE STEPPER MOTOR USING MOTION SENSOR
Hi this instactable to rotate stepper motor foreword and backward when pir read some motion.
YOU CAN GET INFORMATION ABOUT STEPPER MOTOR AND PIR SENSOR BY REFER TO THIS PAGE:
http://learn.adafruit.com/adafruit-arduino-lesson-...
/*
Arduino with PIR motion sensor
activate camera motor projects
Writes by Engineer Mohanad Hameed */
#include //include stepper library int led = 13; // the pin that the LED is attached to
int sensor = 2; // the pin that the sensor is attached to
int state = LOW; // by default, no motion detected
int val = 0; // variable to store the sensor status (value)
int in1Pin = 12; //the pin that the phase 1 is attached to
int in2Pin = 11; //the pin that the phase 2 is attached to
int in3Pin = 10; //the pin that the phase 3 is attached to
int in4Pin = 9; //the pin that the phase 4 is attached to
int step_num =700;
Stepper motor(64, in1Pin, in2Pin, in3Pin, in4Pin);
void setup() {
pinMode(led, OUTPUT); // initialize LED as an output
pinMode(sensor, INPUT); // initialize sensor as an input
pinMode(in1Pin, OUTPUT); // initialize in1pin as an output
pinMode(in2Pin, OUTPUT); // initialize in2pin as an output
pinMode(in3Pin, OUTPUT); // initialize in3pin as an output
pinMode(in4Pin, OUTPUT); // initialize in4pin as an output
motor.setSpeed(300); //speed of the motor }
void loop(){
val = digitalRead(sensor); // read sensor value
if (val == HIGH) { // check if the sensor is HIGH
digitalWrite(led, HIGH); // turn LED ON
motor.step(step_num); //rotate the motor foreword
delay(1000); // delay 300 milliseconds
motor.step(-step_num); //rotate the motor backward
delay(300);
if (state == LOW)
{ state = HIGH; // update variable state to HIGH
}
}
else {
digitalWrite(led, LOW); // turn LED OFF
motor.step(0);
if (state == HIGH) {
state = LOW; // update variable state to LOW
}
}
}