Capteur de reflectivité Pololu qtr 8rc/ Mega dfr 2560

Bonjour, J’ai un probleme avec le capteur.
Il fonctionne bien sur la Uno ( a l’exeption d’un capteur qui doit etre grillé d’origine) Mais ne fonctionne pas sur la Mega2560 de DF robot.
Meme code, meme branchement, Et ca me fait pareil avec un autre capteur.
Merci de m’aider.

Bonjour,
Roboshop m’a donc echangé le capteur.
Mais il ne marche pas sur la Mega 2560 dfr quand meme.
Alors aprés on me certifie que c’est compatible… Moi ca m’etonerrai !

Cdlt, Fabien

Mais, comme je l’ai deja dit, il fonctionne sur la Arduino UNO.

Ensuite les branchement : le + au +, le gnd au -, chaque capteur est brancher sur une broche de la carte, 3 à 10 et le led_on sur la broche 2.

Les branchements sont les memes que pour la UNO.
Voici le code :

#include <PololuQTRSensors.h>

#define NUM_SENSORS 8 // Nombre de capteurs
#define TIMEOUT 2500 // Temps avant d’ignoré la mesure et passé à la suivante
#define EMITTER_PIN 2 // Broche sur laquelle est câble l’émetteur du capteur

// Broche sur lesquels sont câblé les récepteurs IR
PololuQTRSensorsRC qtrrc((unsigned char]) {3, 4, 5, 6, 7, 8, 9, 10}, NUM_SENSORS, TIMEOUT, EMITTER_PIN);

// Tableau d’entier dans lequel sera stocké le résultat des mesures de chaque capteur
unsigned int sensorValues[NUM_SENSORS];

// Variable d’itération pour les boucles
unsigned int i;

void setup()
{
delay(500); // Temps d’attente pour laisser les capteurs se stabiliser

for (i = 0; i < 400; i++) // Calibration de chaque capteurs (~10sec)
qtrrc.calibrate();

// Initialise le port série
Serial.begin(9600);

// Affiche les données de calibration minimum
for (i = 0; i < NUM_SENSORS; i++)
{
Serial.print(qtrrc.calibratedMinimumOn*);
Serial.print(’ ');
}
Serial.println();

// Affiche les données de calibration maximum
for (i = 0; i < NUM_SENSORS; i++)
{
Serial.print(qtrrc.calibratedMaximumOn*);
Serial.print(’ ');
}
Serial.println();

// Attente avant de démarrer la prise de mesure
Serial.println();
delay(1000);
}

void loop()
{
// Lit tout les capteurs en une fois
unsigned int position = qtrrc.readLine(sensorValues);

// Autre version ne retournant pas de valeurs (plus simple)
//qtrrc.read(sensorValues);

// Affiche les valeurs mesurées par chaque capteurs
for (i = 0; i < NUM_SENSORS; i++)
{
Serial.print(sensorValues* * 10 / 1001); // Calcul pour un affichage plus propre et lisible de la mesure
Serial.print(’ ');
}
Serial.print(" ");
Serial.println(position);

// Evite de “flooder” le port série
delay(10);
}

Ensuite je fait comme un membre du forum Arduino m’a expliquer, pendant la lecture de ‘Void setup’, je positionne le capteur a , a peu pré 7mm d’un papier blanc pour que les capteur s’initialise. Theoriquement aprés cela le capteur fonctionne, chose qui marche uniquement avec la UNO.***

Version numerique

C’est un problème très étrange. Nous allons vous contacter directement pour échanger votre MEGA2560

En quoi le capteur ne fonctionne pas? comment êtez-vous entrain de l’utiliser? veuillez fournir des diagrammes ou photos de votre montage pour ne nous puissions analyser votre situation. Utilisez vous al version analogique ou numérique?

Il s’agit de toute évidence d’un problème du code et non d’un problème électrique. Le capteur est électriquement compatible avec le Arduino MEGA mais il semble que la librairie que vous utilisez ne le soit pas.

Il faudra consulter le code de la librairie et aussi consulter avec son créateur pour comprendre comment elle fonctionne et coriger le problème.