PIR SENSOR WITH ARDUINO ACTIVATE STEPPER MOTOR

15,484

48

16

Posted

Introduction: PIR SENSOR WITH ARDUINO ACTIVATE STEPPER MOTOR

ACTIVATE STEPPER MOTOR USING MOTION SENSOR

Step 1: PIR WITH ARDUINO ACTIVATED STEPPER MOTOR

Hi this instactable to rotate stepper motor foreword and backward when pir read some motion.

Step 2: PART REQUIRE

1-ARDUINO UNO

2-PIR(HUMAN MOTION SENSOR)

3-L293D (MOTOR DRIVER)

4-UNI-POLAR STEPPER MOTOR(28BYJ-46)

5-SOME WIRES

Step 3: STEPPER AND PIR

Step 4: CODE

/*

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

}

}

}

Step 5: CIRCUIT

Share

    Recommendations

    • Microcontroller Contest

      Microcontroller Contest
    • Science of Cooking

      Science of Cooking
    • Pocket-Sized Contest

      Pocket-Sized Contest
    user

    We have a be nice policy.
    Please be positive and constructive.

    Tips

    Questions

    11 Comments

    CAN i get a right code?

    Hello Friend!
    The code line 4 must be some mistake because it is showing the following: #include expects "FILENAME" or <FILENAME>
    Any tips? Thank you

    Hi

    Please see this line

    motor.setSpeed(300); //speed of the motor }

    there is flower bracket is diseble so enable the flower bracket code is working fine.

    I'm using it to control a pet door.

    i can get the right code

    by chance you have the code well

    if only 5V can motor move?

    the code has some error, some solution

    error in code says that 'Stepper' does not name a type

    This is cool! Any plans as to what you are going to do with it?