Pololu qtr8a not giving proper values for 7 & 8 no. sensors


Hi, I’m using pololu QTR8A sensor, now the problem is the sensors from 0 to 6 give proper values, but the 7th and 8th no sensor does not. i did not break the board into two parts. Is there any different way two connect this last two sensors ? Another thing is, when the the 2nd and 3rd sensor is on a black line then suddenly they give some low reflect values ( like 1000). I have just purchased this module, so please help me wih this, i am using this code .(below)

[code]#include <QTRSensors.h>
#define NUM_SENSORS 8 // number of sensors used
#define NUM_SAMPLES_PER_SENSOR 4 // average 4 analog samples per sensor reading
#define EMITTER_PIN 2 // emitter is controlled by digital pin 2

// sensors 0 through 5 are connected to analog inputs 0 through 5, respectively
QTRSensorsAnalog qtra((unsigned char) {A0, A1, A2, A3, A4, A5, 10, 9},
NUM_SENSORS, NUM_SAMPLES_PER_SENSOR, EMITTER_PIN); // the first 6 sensors are connected with A0-A6 and the last two sensors are connected with pin 10 and 9 which are pwm enabled
unsigned int sensorValues[NUM_SENSORS];

void setup()
{
delay(500);
pinMode(13, OUTPUT);
digitalWrite(13, HIGH); // turn on Arduino’s LED to indicate we are in calibration mode
for (int i = 0; i < 400; i++) // make the calibration take about 10 seconds
{
qtra.calibrate(); // reads all sensors 10 times at 2.5 ms per six sensors (i.e. ~25 ms per call)
}
digitalWrite(13, LOW); // turn off Arduino’s LED to indicate we are through with calibration

// print the calibration minimum values measured when emitters were on
Serial.begin(9600);
for (int i = 0; i < NUM_SENSORS; i++)
{
Serial.print(qtra.calibratedMinimumOn[i]);
Serial.print(’ ');
}
Serial.println();

// print the calibration maximum values measured when emitters were on
for (int i = 0; i < NUM_SENSORS; i++)
{
Serial.print(qtra.calibratedMaximumOn[i]);
Serial.print(’ ');
}
Serial.println();
Serial.println();
delay(1000);
}

void loop()
{
// read calibrated sensor values and obtain a measure of the line position from 0 to 5000
// To get raw sensor values, call:
// qtra.read(sensorValues); instead of unsigned int position = qtra.readLine(sensorValues);
unsigned int position = qtra.readLine(sensorValues);

// print the sensor values as numbers from 0 to 1000, where 0 means maximum reflectance and
// 1000 means minimum reflectance, followed by the line position
for (unsigned char i = 0; i < NUM_SENSORS; i++)
{
Serial.print(sensorValues[i]);
Serial.print(’\t’);
}
//Serial.println(); // uncomment this line if you are using raw values
Serial.println(position); // comment this line out if you are using raw values

delay(250);
}[/code]
I’m using Arduino UNO.

Hello.

Thank you for providing your code, a picture, and a description of what you are doing. The Arduino Uno board only has 6 pins capable of reading analog inputs (A0-A5), so you will not be able to use all 8 sensors on the QTR-8A sensor array. The Arduino Mini and Nano have 8, and the Mega has 16, so you might consider switching to one of those if you have one. Alternatively, you could switch to the QTR-8RC reflectance sensor array, which uses digital pins.

-Brandon

Sorry I just forget the analog pins, but the new thing is, previous day i used to check all the sensors via my mobile phone’s camera, and found that sensor 2 is not working, then i used to take sensor no b [/b]& b[/b] to follow a line, but suddenly the sensor 4 got away. The power source of my pololu Qtr8a is from my Arduino UNO, LEDON is not connected. why this is happening? I’m using this sensor very gently.
I just give up hope from pololu :frowning: plz suggest me anything that I can do to make it work again .

I am not sure I understand what you are describing. It sounds like you might be saying that when you checked with your phone’s camera, you do not see the IR light being emitted by sensor 2 and sensor 4; however, as you can see in the schematic diagram of the QTR-8A reflectance sensor array shown below, if one of the emitters fail, it should cause the one in series with it to fail too.

Can you try running the QTRARawValuesExample and posting the serial monitor output here? Also, could you post pictures of the component side of your QTR-8A sensor array?

-Brandon

Yes you understood my problem, I don’t know why this happening but first the 4 no. sensor goes out of order and then the 2 no. sensor.



Thank you for posting pictures. I cannot recall seeing these sensors have a failure quite like that before. Can you post a wiring diagram or some pictures that show all of your connections? How are you powering the sensor board?

-Brandon

For easiness I just connect it with one of my arduinos with VCC and GND to check if all the emitters are working.






Plz reply sir

Was it being powered from your microcontroller board’s 5V pin when it was on your robot? Did you have it powered differently at some point?

-Brandon

No Sir, this was only powered by Arduino’s 5V . I know that its operating voltage is 3.3 to 5V only. So i never power it with any other sources.

I am not sure what might have damaged the sensors. Do you recall any impacts to the sensor board (possibly from running into an object or the front of your robot hitting the floor)? As a last resort, you might try powering it from a different 5V source that you are sure can source enough current (preferably greater than 200mA) to make sure your Arduino’s 5V pin is not the problem. If that does not work, you can contact us at support@pololu.com with your order information, and we can see what we can do to help you out.

-Brandon

okay Sir…