Moving stepper moto with Photoresistor ad L298n

I'm trying to use a photoresistor to control a stepper motor but I don't know if I coded it correctly.

#include <Stepper.h>

// Number of steps per output rotation
const int analogPin = A0;
int lightValue = analogRead(A0);
const int stepsPerRevolution = 200;

// Create Instance of Stepper library
Stepper myStepper(stepsPerRevolution, 5, 6, 7, 8);


void setup()
{
	// set the speed at 60 rpm:
	myStepper.setSpeed(60);
	// initialize the serial port:
	Serial.begin(9600);
  }

void loop() 
{
if (lightValue < 300) {
	Serial.println("clockwise");
	myStepper.step(stepsPerRevolution);
	delay(500);

} else if (lightValue>300) {
	// step one revolution in the other direction:
	Serial.println("counterclockwise");
	myStepper.step(-stepsPerRevolution);
	delay(500);
}
}```

You need read analog(A0) inside the loop to work.

#include <Stepper.h>

// Number of steps per output rotation
const int analogPin = A0;
int lightValue = analogRead(A0);
const int stepsPerRevolution = 200;

// Create Instance of Stepper library
Stepper myStepper(stepsPerRevolution, 5, 6, 7, 8);


void setup()
{
  // set the speed at 60 rpm:
  myStepper.setSpeed(60);
  // initialize the serial port:
  Serial.begin(9600);
}

void loop()
{
  lightValue = analogRead(A0);      //  <<<<<<-------------
  if (lightValue < 300) {
    Serial.println("clockwise");
    myStepper.step(stepsPerRevolution);
    delay(500);

  } else if (lightValue > 300) {
    // step one revolution in the other direction:
    Serial.println("counterclockwise");
    myStepper.step(-stepsPerRevolution);
    delay(500);
  }
}

Thanks you i will put that in when i have the chance.

After putting that line in it is only turning one direction.

Use this circuit and set the threshold to 512 (change 300 to 512)

image

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.