Measuring distance with sharp sensor

When I output values of the sharp sensor into the serial monitor the distance only reaches 13 cm even though the the range is supposed to be up to 80cm.

Any suggestions or ideas on why this may be would be greatly appreciated.

Thanks.

#include <Adafruit_NeoPixel.h>
#include <DistanceGP2Y0A21YK.h>

#define PIN 6
#define PIXEL 16

Adafruit_NeoPixel strip = Adafruit_NeoPixel(PIXEL, PIN, NEO_GRBW + NEO_KHZ800);


DistanceGP2Y0A21YK Dist;
int distance;
int R = 0;
int G = 0;
int B = 0;


void setup() {
  strip.begin();
  strip.show();
  strip.setBrightness(64);

  Serial.begin(9600);
  Dist.begin(0);
}

void loop()
{
  distance = Dist.getDistanceCentimeter();
  Serial.print("\nDistance in centimers: ");
  Serial.print(distance);
  delay(10); //make it readable

  if (distance > 9)
  {
    for (R && G && B; R < 150 && G < 150 && B < 150; R++ && G++ && B++) {
      for (int i = 0; i < strip.numPixels(); i++) {
        strip.setPixelColor(i, strip.Color(R, G, B));
        strip.show();
        delay(0);
      }
      delay(2);
    }

    // fade off
    for (R && G && B; R > -1 && G > -1 && B > -1; R-- && G-- && B--) {
      for (int j = 0; j < strip.numPixels(); j++) {
        strip.setPixelColor(j, strip.Color(R, G, B));
        strip.show();
        delay(0);
      }
      delay(1);
    }
  }
  else 
  {
    for (int j = 0; j < 256; j++) {
      for (int i = 0; i < strip.numPixels(); i++) {
        strip.setPixelColor(i, strip.Color(255, 0, 0));
        strip.show();
      }
      delay (1);

      //blink off
      for (int j = 64; j > 0; j--) {
        for (int i = 0; i < strip.numPixels(); i++) {
          strip.setPixelColor(i, strip.Color(j, 0, 0));
          strip.show();
        }
        delay (2);
      }
    }
  }
}

it seems this sensor uses analog input to read distance.

the begin() call should receive the identifier of the pin used to

instead of 0 (that's the serial RX pin on arduino)

Dist.begin(0);

should have A0.. A5
e.g.

Dist.begin(A0);

I changed the little snippet of code, however I'm still receiving the same issue. After doing a little bit of research I learned that my sensor is model GP2Y0A21YK0F, and the library I'm using seems to only be able to work for GP2Y0A21YK and GP2Y0A02YK. I've been searching for a library to work with my sensor but have had no luck so far. Any more ideas?

schema? how you connect everything together, which arduino to which sensor pins, power, ground.

Isolate the problem until you fix it - use a sketch that measure distances, without all that led blinking stuff.

Better yet, since it is an analog sensor (outputs a voltage level to represent measured distance) use only analogRead()

void setup() { Serial.begin(9600); }

void loop() {
    Serial.println(analogRead(A0)); 
    delay(500);
}

Replace "A0" above with whichever analog input pin you actually connect to sensor's output .. A1, A2, up to A5

EDIT have you looked at datasheets for GP2Y0A21YK0F and GP2Y0A21YK? They look the same to me.