Capteurs et blindage
Les capteurs par le Qbot se connectent essentiellement tous de la même façon. Il y a généralement trois broches sur le capteur :
- L'alimentation 5V : la branche positive du circuit d'alimentation du capteur. Le capteur a besoin d'une alimentation électrique pour s'allumer et fonctionner. Typiquement identifiée V, V+, VCC sur le capteur.
- La mise à la terre (ground) : la branche négative du circuit d'alimentation du capteur. Typiquement identifiée GND ou G.
- Le signal : c'est la branche qui envoie l'information que l'on cherche à obtenir du capteur. Sa fonction dépend donc de la fonction du capteur en soi. Parfois identifié avec un terme générique tel que S ou Out, mais généralement on le reconnait par élimination des deux autres broches.
Sur une plaquette Arduino (sans le blindage), on branche l'alimentation 5V sur le port 5V, la mise à la terre sur un des trois ports GND et le signal sur une des 14 branches numériques (D0 à D13, bien qu'il soit préférable de ne pas utiliser D0 et D1) ou une des six branches analogiques (A0 à A5) selon l'utilisation.
Il y a suffisamment de ports pour les signaux des capteurs du Qbot, mais il manque beaucoup de ports pour l'alimentation de tous les capteurs. Voilà pourquoi nous utilisons le blindage Sensor Shield v5. Les blindages (shields) sont des extensions pour la plaquette Arduino et il en existe une quantité phénoménale. Le blindage Sensor Shield v5 duplique les ports 5V et GND afin que chaque port numérique et analogique ait ses deux ports d'alimentation attitrés. Ainsi, il y a suffisamment de ports d'alimentation 5V et de mise à la terre pour tous les capteurs!
Sur le blindage, la rangée G correspond à la mise à la terre, la rangée V correspond à l'alimentation 5V et la rangée S correspond à la connexion avec le port numérique ou analogique portant le numéro de la colonne.
Sorties AO et DO
Sur certains capteurs (les capteurs infrarouges et l'optocoupleur, selon les fabricants), il y a en fait deux broches de signal :
- AO : Analog Out. La sortie AO envoie un signal correspondant à une certaine valeur d'intensité, typiquement entre 0 et 255.
- DO : Digital Out. La sortie DO envoie un 0 ou un 1 si l'intensité du signal dépasse ou non un certain seuil. Ce seuil est typiquement calibré par une vis se trouvant sur le capteur.
Dans le cas du Qbot, utilisez la sortie DO.
Capteurs utilisés sur le Qbot
Quatre capteurs différents sont utilisés sur le Qbot. Les modèles proposés sur la liste d'achats ne sont que des suggestions. En effet, ces types de capteurs sont disponibles en plusieurs modèles et implémentations, mais qui reviennent tous essentiellement au même.
La plupart des capteurs ont une DEL intégrée qui s'allume et s'éteint selon le signal de sortie du capteur, c'est-à-dire que la DEL s'allume lorsque le capteur envoie un 1 et qu'elle s'éteint lorsqu'elle envoie un 0 (ou vice-versa selon le modèle). Cela est très pratique pour valider le fonctionnement du capteur et le calibrer dans le cas du capteur infrarouge.
Interrupteurs de fin de course
Ces interrupteurs servent à indiquer que le Qbot est en contact avec un objet. L'interrupteur envoie un signal numérique de 0 lorsqu'il est enclenché.
Détecteur de distance à ultrasons HC-SR04
Ce capteur fonctionne sur le même principe que l'écholocalisation des chauves-souris. Le détecteur envoie une onde ultrasonique (Trig), qui sera réfléchie, puis captée par le détecteur (Echo). Connaissant le délai entre les deux événements, on peut trouver la distance parcourue. Vous n'avez pas à faire ce calcul : bitbloq le fait automatiquement et donne directement la distance en centimètre.
Les branches Trig et Echo vont toutes les deux dans un port Signal du blindage. Attention, vous devez bien donner les numéros de colonnes correspondantes dans bitbloq, sinon vous briserez le capteur!
Optocoupleur
Un rayon infrarouge traverse la fente de l'optocoupleur. Un capteur se trouve sur un des deux côtés de la fente. L'optocoupleur sait donc si le rayon infrarouge traverse la fente ou s'il est bloqué par un objet. Une DEL indique que le rayon infrarouge est bloqué.
Ces capteurs sont typiquement utilisés avec des roues dentées pour former un encodeur, un système permettant de compter les rotations d'une roue et, donc, la distance parcourue et la vitesse.
Capteur infrarouge TCRT5000
Ces capteurs utilisent une photodiode infrarouge pour envoyer un rayon infrarouge qui sera réfléchi sur une surface, puis capté. Plus la surface est foncée, plus il absorbera le rayon infrarouge, donc plus le signal de retour sera faible. Au contraire, une surface pâle réfléchira une grande partie du rayon et le signal de retour sera grand.
Le capteur infrarouge distingue donc bien deux surfaces de teintes différentes, par exemple du ruban électrique noir sur un pupitre. Il faut ajuster la vis de calibration afin que la sortie DO soit 0 sur une des surfaces et 1 sur l'autre. Cette calibration doit être faite à la véritable distance d'utilisation entre le capteur et la surface. Ces capteurs ont une portée assez faible, quelques centimètres tout au plus.