Pololu-Senseur-QTR-Installer

De MCHobby - Wiki
Sauter à la navigation Sauter à la recherche

Installer la bibliothèque

Si vous utiliser la version 1.6.2 ou plus récente du logiciel Arduino,vous pourrez utiliser le gestionnaire de bibliothèque pour installer la bibliothèque:

Pololu-Senseur-QTR-Installer-00.png

Dans Arduino IDE, ouvrez le menu "Croquis" et sélectionnez "Inclure une bibliothèque... | Gérer les bibliothèques...".

  1. Cherchez après "QTRSensors".
  2. Cliquez sur l'entrée "QTRSensors" affiché dans la liste.
  3. Cliquez sur le bouton "Installer".

Pololu-Senseur-QTR-Installer-01.png

Installer à la main

Si vous ne disposez pas du gestionnaire de bibliothèque, vous pouvez l'installer manuellement.

Download-icon.pngTéléchargez QTRSensors.zip
  1. Télécharger la dernière version de l'archive depuis GitHub (voir aussi le lien ci-dessus) et la décompresser.
  2. Renommer le répertoire "qtr-sensors-arduino-xxxx" vers "QTRSensors".
  3. Ensuite, placer le répertoire "QTRSensors" dans le répertoire des bibliothèque (libraries) du répertoire contenant vos croquis arduino.
    Pour localiser facilement ce répertoire en sélectionnant le point de menu "Fichier | Préférences" dans Arduino IDE. S'il n'y a pas encore de sous répertoire "libraries" à cette position alors il sera nécessaire de le créer avant d'y déplacer QTRSensors.
  4. Redémarrer Arduino IDE après installer la biblothèque.

Tester la bibliothèque

Un fois la bibliothèque installé, vous pouvez l'intégrer dans votre croquis en sélectionnant le point de menu "Croquis | Importer bibliothèque | QTRSensors" depuis votre Arduino IDE (ou saisissez simplement #include <QTRSensors.h> en haut de votre croquis).

Une fois fait, vous pouvez créer:

  • pour un senseur QTR-xA : un objet QTRSensorsAnalog destiné au senseur analogique (mesure de tension).
  • pour un senseur QTR-xRC : un objet QTRSensorsRC destiné au senseur digital (mesure de temps).
// Créer un objet pour 3 senseurs QTR-xA sur les 
// entrées analogique 0, 2 et 6
QTRSensorsAnalog qtra((unsigned char[]) {0, 2, 6}, 3);
 
// Créer un objet pour senseurs QTR-xRC sur les
// entrées digitales 0 et 9 ainsi que sur les
// entrée analogiques 1 et 3 (qui sont utilisées
// en tant qu'entrée digitale 15 et 17)
QTRSensorsRC qtrrc((unsigned char[]) {0, 9, 15, 17}, 4);

Cette bibliothèque prend en charge -en interne- les différences entre les senseurs QTR-xA et QTR-xRC. Grâce à la bibliothèque vous disposez d'une interface commune pour les deux types de senseur. Comme vous pouvez le constater dans le code d'exemple ci-dessus, la seule différence se trouve au niveau du constructeur.

Le premier argument du constructeur QTRSensorsAnalog est un tableur de broche analogique (0 – 7) alors que le premier argument du constructeur QTRSensorsRC est un tableau de broche digital (0 – 19).

Note: les broches analogiques 0 – 5 peuvent être utilisée comme les broches digitales de 14 à 19. Voyez la page utilisation et notes pour plus de détails.

La seule différence que vous pourriez noter, c'est le temsp nécessaire pour lire les valeurs du senseur. Les senseur QTR-xRC sont tous lus en parallèle mais nécessite le temps de traitement d'une impulsion qui peut prendre jusqu'à 3ms (vous pouvez spécifier à la bibliothèque le temps max -timeout- de cette impulsion avant avant de retourner un résultat comme "noir"). Les senseur QTR-xA utilise le convertisseur analogique-vers-digital (ADC) et doit donc lire les entrée séquentiellement. De surcroît, le résultat analogique est produit par un calcul de moyenne sur plusieurs échantillons pour chacun des senseurs (il est possible de préciser le nombre d'échantillons). L'utilisation d'une moyenne permet d'atténuer l'effet du bruit.

La bibliothèque contient différents croquis pour vous aider à démarrer. Pour voir les croquis d'exemples, ouvrez Arduino IDE et naviguez dans le menu:

Fichier > Exemples > QTRSensors

Comme première étape, nous recommandons d'utiliser l'exemple QTRxRawValuesExemple:

  • soit QTRARawValuesExample pour les senseurs QTR-xA.
  • soit QTRRCRawValuesExample pour les senseurs QTR-xRC.

Ces exemples affiche simplement le résultat brute de la lecture des senseurs vers le moniteur série (à 9600 baud).
Une fois testé, vous pouvez alors passer à des exemples plus avancés.

L'exemple avancé QTRAExample (ou QTRRCExample) incorpore la calibration ainsi qu'une estimation de la position de la ligne.


Basé sur "Arduino Library for the Pololu QTR Reflectance Sensors" de Pololu (www.pololu.com/docs/0J19/1) - Traduit en Français par shop.mchobby.be CC-BY-SA pour la traduction
Toute copie doit contenir ce crédit, lien vers cette page et la section "crédit de traduction". Traduit avec l'autorisation expresse de Pololu (www.pololu.com)

Based on "Arduino Library for the Pololu QTR Reflectance Sensors" from Pololu (www.pololu.com/docs/0J19/1) - Translated to French by shop.mchobby.be CC-BY-SA for the translation
Copies must includes this credit, link to this page and the section "crédit de traduction" (translation credit). Translated with the Pololu's authorization (www.pololu.com)