/*
Arduino | coding-help
Coding weirdness
November 19, 2025
Spaceman
DSD
OP
Original Poster — Yesterday at 6:43 PM
*/
#include <Stepper.h>
#include <EEPROM.h>
int stepsPerRevolution = 200;
int rpm = 10;
int orig;
int dir = 0;
Stepper myStepper (stepsPerRevolution, 8, 9, 10, 11);
void setup() {
// initialize serial communication at 9600 bits per second:
Serial.begin(9600);
myStepper.setSpeed(60);
//myStepper.step(-stepsPerRevolution);
}
void loop() {
int stepValue = 0;
// reading pot value
int sensorValue = analogRead(A0);
if (sensorValue < 512) {
stepValue = -(512 - sensorValue);
dir = -1;
} else {
stepValue = sensorValue - 512;
dir = 1;
}
Serial.print("StepValue: ");
Serial.println(stepValue);
myStepper.step(dir * (abs(stepValue)));
//int mappedValue = map(sensorValue, 0, 1023, 0, 2048);
//Serial.print('\n');
//Serial.print("pot ");
//Serial.println(sensorValue);
delay(1000);
/*
//multiplyin ghte pot value to the stepps of the motor witch is 2048
//int deg = sensorValue * 2.66;
delay(1000);
//getting the motor position
orig = EEPROM.read(0) + EEPROM.read(1);
// write out values
//Serial.print("deg ");
//Serial.println(mappedVal);
//Serial.print("orig");
//Serial.println(orig);
Serial.print('\n');
if (mappedValue <= 1024) {
myStepper.step(mappedValue);
} else {
myStepper.step(-mappedValue);
}
//1024 or less then minusing the value of the motor position then save
if (deg <= 1024) {
int right = deg - orig;
myStepper.step(mappedVal);
EEPROM.write(1, right);
}
//1023 or more subtracting 1024 because its higher than 1024 to get a pure step movement number then minusing the value of the motor position then save
if (deg >= 1023) {
int degup = deg - 1024;
int left = degup - orig;
myStepper.step(mappedVal);
EEPROM.write(0, left);
}
*/
}