Arduino/Zumo locked into reverse and turn

#include <Wire.h>
#include <ZumoShield.h>
#include <NewPing.h>
#include <QTRSensors.h>

#define LED 13
#define QTR_THRESHOLD 1500

#define REVERSE_SPEED 225
#define TURN_SPEED 200
#define ATTACK_SPEED 300
#define FORWARD_SPEED 200
#define REVERSE_DURATION 250
#define TURN_DURATION 250

ZumoMotors motors;
Pushbutton button(ZUMO_BUTTON);

#define NUM_SENSORS 6
unsigned int sensor_values[NUM_SENSORS];

#define TRIGGER_PIN 4
#define ECHO_PIN 5
#define MAX_DISTANCE 200

NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);

ZumoReflectanceSensorArray sensors(QTR_NO_EMITTER_PIN);


void waitForButtonAndCountDown()
{
  digitalWrite(LED, HIGH);
  button.waitForButton();
  digitalWrite(LED, LOW);
  delay(3000);
  
}

void setup()
{

  pinMode(LED, HIGH);
  pinMode(TRIGGER_PIN, OUTPUT);  
	pinMode(ECHO_PIN, INPUT);


  waitForButtonAndCountDown();
}

void loop()
{
  if (button.isPressed())
  {
    motors.setSpeeds(0, 0);
    button.waitForRelease();
    waitForButtonAndCountDown();
  }
  

  //delay();
  int distance = sonar.ping_cm();

  
  sensors.read(sensor_values);

  if (sensor_values[0] < QTR_THRESHOLD)
  {
    motors.setSpeeds(-REVERSE_SPEED, -REVERSE_SPEED);
    delay(REVERSE_DURATION);
    motors.setSpeeds(TURN_SPEED, -TURN_SPEED);
    delay(TURN_DURATION);
    motors.setSpeeds(FORWARD_SPEED, FORWARD_SPEED);
  }
  else if (sensor_values[5] < QTR_THRESHOLD)
  {
    motors.setSpeeds(-REVERSE_SPEED, -REVERSE_SPEED);
    delay(REVERSE_DURATION);
    motors.setSpeeds(-TURN_SPEED, TURN_SPEED);
    delay(TURN_DURATION);
    motors.setSpeeds(FORWARD_SPEED, FORWARD_SPEED);
  }
  else if (distance >= 1 && distance <= 15)
    {
      motors.setSpeeds(ATTACK_SPEED, ATTACK_SPEED);
    }
  else
  {
    motors.setSpeeds(FORWARD_SPEED, FORWARD_SPEED);
  }
}

This is my code above, changed to D-Pin 4 and 5 for my HC-SR04 sensor but this seems to be the part still causing me issues. when i disconnect the sensor, the motors work fine but i cant seem to figure out if its the conditions ive set thats causing me issues.

this is for my mini zumo robot, im using a zumo shield and an arduino uno.

If you look in your library code, you will see that your sensors use pins 4 and 5
from ZumoReflectanceSensorArray.h

...
void init(unsigned char emitterPin = ZUMO_SENSOR_ARRAY_DEFAULT_EMITTER_PIN)
  {
     unsigned char sensorPins[] = { 4, A3, 11, A0, A2, 5 };
...
3 Likes