From 8023e0d27ed6db406248c46f1cc87becf34dc4c8 Mon Sep 17 00:00:00 2001
From: mhby1g21 <mhby1g21@soton.ac.uk>
Date: Wed, 26 Mar 2025 16:39:43 +0000
Subject: [PATCH] fixed directions

---
 wifi-integrated.ino | 46 ++++++++++++++++++++++-----------------------
 1 file changed, 22 insertions(+), 24 deletions(-)

diff --git a/wifi-integrated.ino b/wifi-integrated.ino
index 5de09a4..e1826a1 100644
--- a/wifi-integrated.ino
+++ b/wifi-integrated.ino
@@ -186,10 +186,10 @@ void loop() {
 // Move Forward - Using the exact structure from Medical_V2.ino
 void moveForward() {
   // Set direction pins first
-  digitalWrite(IN2, HIGH);
-  digitalWrite(IN1, LOW);
-  digitalWrite(IN4, HIGH);
-  digitalWrite(IN3, LOW);
+  digitalWrite(IN2, LOW);
+  digitalWrite(IN1, HIGH);
+  digitalWrite(IN4, LOW);
+  digitalWrite(IN3, HIGH);
   Direction = 1;
 
   // Then apply IMU control if available
@@ -205,10 +205,10 @@ void moveForward() {
 // Move Backwards - Using the exact structure from Medical_V2.ino
 void moveBackward() {
   // Set direction pins first
-  digitalWrite(IN2, LOW);
-  digitalWrite(IN1, HIGH);
-  digitalWrite(IN4, LOW);
-  digitalWrite(IN3, HIGH);
+  digitalWrite(IN2, HIGH);
+  digitalWrite(IN1, LOW);
+  digitalWrite(IN4, HIGH);
+  digitalWrite(IN3, LOW);
   Direction = -1;
 
   // Then apply IMU control if available
@@ -217,36 +217,34 @@ void moveBackward() {
   } else {
     // Without IMU, just use basic speed control
     analogWrite(ENA, SPEED);
-    analogWrite(ENB, SPEED);
+    analogWrite(ENB, SPEED);  
   }
 }
 
-// Turn Left - Using the exact structure from Medical_V2.ino
-void turnLeft() {
-  digitalWrite(IN2, HIGH);
+// Turn Right - Using the exact structure from Medical_V2.ino
+void turnRight() {
+  digitalWrite(IN2, LOW);  // Left motor stopped
   digitalWrite(IN1, LOW);
-  digitalWrite(IN4, LOW);
-  digitalWrite(IN3, LOW);
+  digitalWrite(IN4, LOW);  // Right motor forward (per reversed convention)
+  digitalWrite(IN3, HIGH);
   Direction = 0;
   
   // No IMU control for turning
-  analogWrite(ENA, SPEED);
-  analogWrite(ENB, 0);
+  analogWrite(ENA, 0);      // Left motor stopped
+  analogWrite(ENB, SPEED);  // Right motor active
 }
 
-// Turn Right - Using the exact structure from Medical_V2.ino
-void turnRight() {
-  digitalWrite(IN2, LOW);
-  digitalWrite(IN1, LOW);
-  digitalWrite(IN4, HIGH);
+// Turn Left - Using the exact structure from Medical_V2.ino
+void turnLeft(IN2, LOW);  // Left motor forward (per reversed convention)
+  digitalWrite(IN1, HIGH);
+  digitalWrite(IN4, LOW);  // Right motor stopped
   digitalWrite(IN3, LOW);
   Direction = 0;
   
   // No IMU control for turning
-  analogWrite(ENA, 0);
-  analogWrite(ENB, SPEED);
+  analogWrite(ENA, SPEED);  // Left motor active
+  analogWrite(ENB, 0);      // Right motor stopped
 }
-
 // Using the exact IMU_Control from Medical_V2.ino
 void IMU_Control() {
   // Update IMU data
-- 
GitLab