Voici un beau projet à la fois électronique et informatique. Pour une fois l’objectif n’est pas de détecter notre position sur le terrain mais de détecter un adversaire, par approximation de sa distance et de sa direction.
Constitution de la carte
Introduction
Nous utilisons pour le système d’évitement du robot adverse, un mécanisme constitué d’une balise de localisation mobile positionnée sur l’adversaire et d’un capteur placé sur notre robot. Leur utilisation dans le règlement est optionnelle. Ils deviennent nécessaires pour notre système d’évitement.
Les contraintes sur les balises sont indiquées dans la section 5 du règlement. Nous les résumons dans la liste suivante :
dessous des balises recouverts de Velcro
la balise de localisation mobiles entre dans un cube d’arête 8 cm et est positionnée à une hauteur de 43 cm sur le robot adverse
le capteur est situé à une hauteur de 35 cm sur notre robot
A. Balise de localisation du robot adverse (émetteur)
Deux NE555 montés en monostable pour l’émission à une fréquence fixe. Un NE555 monostable commandé par un microcontrôleur pour l’émission d’une trame encodée.
Voici le schéma :
Voici le typon :
Voici le fichier pour le logiciel Eagle de CAD pour circuits électroniques.
B. Capteur positionné sur notre robot (récepteur)
Microcontrôleur Propeller de Parallax.
16 capteurs IR à 36KHz + 16 capteurs IR à 33KHz
Voici également le typon :
Protocole d’utilisation
Esclave I2C à l’adresse 0xA0. Mode lecture immédiate. Mode de commande.
Photos des balises
L’émetteur. Posé sur le robot adverse, il tient dans un cube de 8x8x8 cm de côté.
Le récepteur. Sur le mat de notre robot.
Code source
Voici le code "spin" du Propeller de Parallax. Il s’agit d’un langage proche de l’assembleur mais spécifique à ce microcontrôleur à 8 coeurs. En particulier on peut déclarer 8 programmes indépendants (les PUB).
Mais nous avons également fait une version pour ATmega, suite à quelques incidents avec le Propeller (paix à ses circuits) :