From 123ad527e1199873af8c8f4c0da47675425a8a45 Mon Sep 17 00:00:00 2001 From: Benny Date: Fri, 28 Feb 2025 08:55:55 +0100 Subject: [PATCH] debugging the movement and fixing constants --- Arduino-Satellite-Dish/src/main.cpp | 103 +++++++++++++++++++++------- 1 file changed, 79 insertions(+), 24 deletions(-) diff --git a/Arduino-Satellite-Dish/src/main.cpp b/Arduino-Satellite-Dish/src/main.cpp index 7195a9e..a3f746f 100644 --- a/Arduino-Satellite-Dish/src/main.cpp +++ b/Arduino-Satellite-Dish/src/main.cpp @@ -1,60 +1,115 @@ -//Includes the Arduino Stepper Library +// Includes the Arduino Stepper Library #include #include - +// Defines the number of steps per rotation +const int stepsPerRevolution = 4096; // TODO: fix rounding errors // int stepsPerDegree = stepsPerRevolution / 360; -float stepsPerDegree = 5.688; - -// Defines the number of steps per rotation -const int stepsPerRevolution = stepsPerDegree * 360; - +// const float stepsPerDegree = stepsPerRevolution / 360.0; +const float stepsPerDegree = 11; // Creates an instance of stepper class // Pins entered in sequence IN1-IN3-IN2-IN4 for proper step sequence Stepper stepperX = Stepper(stepsPerRevolution, 8, 10, 9, 11); Stepper stepperY = Stepper(stepsPerRevolution, 4, 5, 6, 7); - -void setup() { - // Nothing to do (Stepper Library sets pins as outputs) - Serial.begin(9600); // Open serial port at 9600 baud rate +void setup() +{ + // Nothing to do (Stepper Library sets pins as outputs) + Serial.begin(9600); // Open serial port at 9600 baud rate + stepperX.setSpeed(10); + stepperY.setSpeed(10); } - -void turnDegrees(Stepper stepper, int deg){ +void turnDegrees(Stepper stepper, int deg) +{ + stepperX.setSpeed(10); + stepperY.setSpeed(10); stepper.step(deg * stepsPerDegree); } -void processCommand(String command) { +void processCommand(String command) +{ stepperX.setSpeed(10); stepperX.step(command.toInt() * stepsPerDegree); Serial.println(command); } -void search() { +void search() +{ turnDegrees(stepperX, 180); + delay(10); turnDegrees(stepperY, 45); + delay(10); turnDegrees(stepperX, -180); + delay(10); turnDegrees(stepperY, 45); - - // back to zero: + delay(10); + + // back to zero: turnDegrees(stepperY, -90); } -void loop() { +void search2() +{ + turnDegrees(stepperX, 30); + delay(100); + turnDegrees(stepperY, 15); + delay(100); + turnDegrees(stepperX, 30); + delay(100); + turnDegrees(stepperY, 15); + delay(100); + turnDegrees(stepperX, 30); + delay(100); + turnDegrees(stepperY, 15); + delay(100); + turnDegrees(stepperX, 30); + delay(100); + turnDegrees(stepperY, 15); + delay(100); + turnDegrees(stepperX, 30); + delay(100); + turnDegrees(stepperY, 15); + delay(100); + turnDegrees(stepperX, 30); + delay(100); + turnDegrees(stepperY, 15); + delay(100); - // if (Serial.available() > 0) { // Check if data is available - // String command = Serial.readStringUntil('\n'); // Read input until newline - // command.trim(); // Remove any extra whitespace or newline characters - // processCommand(command); // Process the received command + turnDegrees(stepperX, -360); + delay(100); + + // back to zero: + turnDegrees(stepperY, -90); +} + +void track() +{ + // compare sensors + // move towards strongest light signal +} + +void loop() +{ + + // if (Serial.available() > 0) { // Check if data is available + // String command = Serial.readStringUntil('\n'); // Read input until newline + // command.trim(); // Remove any extra whitespace or newline characters + // processCommand(command); // Process the received command // // Serial.println(command); - // } + // } - search(); + turnDegrees(stepperY, 180); + + + // search(); + // turnDegrees(stepperX, 180); + + delay(100); // // Rotate CCW quickly at 10 RPM // stepperX.setSpeed(10);