CrcConnect: détails du module
Cette page présente le module CrcConnect, qui permet de contrôler à distance un contrôleur CrcDuino en utilisant une manette sans fil compatible.
Introduction
Le CRCconnect est un dispositif qui permet d’envoyer des commandes au CRCduino à l’aide d’une manette de jeu. Le CRCconnect sert de relais pour les données; il prend les informations par USB, puis envoie l’information au CRCduino sans fils.
Il a été conçu pour permettre une utilisation flexible. Le module CRCconnect peut être attaché par velcro directement sur le contrôleur. Il peut aussi être dans la poche du conducteur et connecté à la manette par un fil USB plus long. Plusieurs écoles ont même des manettes modifiées pour intégrer directement le module. Il peut finalement être connecté à une banque d'énergie externe pour allonger sa vie de batterie.
Manettes compatibles
La beauté du CRCconnect est qu’il permet à une équipe de contrôler son robot avec des manettes de jeu standards. De cette façon, chaque équipe peut utiliser la manette avec laquelle elle est la plus confortable.
Manettes compatibles:
PlayStation 3 wireless (Sony Official)
Havit HV-G69 wired PS3 knockoff
PlayStation 4 (Sony Official)
Logitech F130
XBox One (Microsoft Official)
Wired Xbox 360
Manettes incompatibles:
Wireless Xbox 360
La plupart des marques knockoff Wireless PlayStation 3
La manette doit être connectée au module CRCconnect à l’aide d’un fil USB-A vers:
Mini-B (pour les manettes PS3), comme celui-ci de 6".
Micro-B (pour les manettes PS4), comme celui-ci de 6".
USB-C (pour les manettes Xbox One), comme celui-ci de 6".
Les contrôleurs Logitech F130 et HAVIT ne supportent pas les mouvements analogues des gâchettes, contrairement aux contrôleurs XBox et Playstation.
Sur ces dernières, la valeur de GACHETTE_L et GACHETTE_R sera entre -128 et 127 inclusivement.
Au contraire, les manettes F130 et HAVIT auront des valeurs de -128 ou 127.
Si vous utilisez un contrôleur HAVIT, assurez-vous d’appuyer sur le bouton ANALOG de la manette afin d’allumer la petite DEL rouge entre les joysticks. En cas contraire, les joysticks ne pourront que prendre les valeurs -128, 0 ou 127.
Mode rangement
Comme tout équipement électronique, un petit courant fuit de la batterie de la CRCconnect lorsque cette dernière n’est pas utilisée, même lorsqu’elle n’est pas « allumée ». Cette fuite indésirable peut être évitée en mettant la CRCconnect en mode rangement. La CRC recommande de mettre la CRCconnect en mode rangement dès que vous ne l’utilisez pas pendant plus de deux semaines. Cela prolongera la vie de la batterie! Le mode rangement déconnecte physiquement la batterie du circuit, empêchant totalement le courant de fuite.
Le mode rangement est activé quand le « jumper » est retiré du module, ou lorsqu’il est placé entre les deux broches de gauche.
« Jumper » retiré; la CRCconnect ne sera pas fonctionnelle
« Jumper » en mode rangement; la CRCconnect ne sera pas fonctionnelle
Le mode rangement est désactivé quand le « jumper » est placé entre les deux broches de droite.
« Jumper » OK; La CRCconnect sera fonctionnelle
Couplage avec un CRCduino
Coupler un CRCduino et une CRCconnect est facile comme bonjour ! Chaque CRCconnect est identifiée avec un numéro et vient avec un module Xbee dédié avec ce même numéro.
Il s’agit simplement de connecter le module Xbee sur le CRCduino, puis d’allumer la CRCconnect et le CRCduino.
Un son caractéristique de victoire retentira du CRCduino lorsqu’une connexion sera établie. Si cette dernière est perdue, le CRCduino soupire de désespoir …
Transférer un module Xbee d’une vieille CRCconnect au nouveau module intégré
Ports et boutons
Sur un des côtés de la CRCconnect se trouvent 2 ports et un bouton. De gauche à droite, on retrouve:
Un port microUSB pour charger la batterie interne de la CRCconnect;
Un bouton « power »;
Un port USB-A pour connecter une manette externe (si le module n’est pas un module intégré).
DELs de statut
La CRCconnect possède 4 DELs qui permettent d’en apprendre plus sur l'état de la CRCconnect et du CRCduino connecté:
DEL Robot
Indique le niveau de la batterie qui alimente le CRCduino, avec une période de 10s.
Couleur | État? | Recommendation | Voltage batterie |
---|---|---|---|
Vert |
| Incroyable gestion de la batterie ! | >= 12.5V |
Orange |
| Pensez à charger la batterie ? | [12V ; 12.5V[ |
Rouge |
| Chargez la batterie MAINTENANT ! | [11V ; 12V[ |
Rouge clignotant |
| ALLO ? À ce niveau la batterie est en train de s’endommager définitivement | < 11V |
DEL CrcConnect
Indique le voltage interne de la batterie de la CRCconnect.
Couleur | État? | Recommendation | Voltage batterie |
---|---|---|---|
Vert |
| Incroyable gestion de la batterie! | >= 3.8V |
Orange |
| Pensez à charger la batterie ? | [3.7V ; 3.8V[ |
Rouge |
| Chargez la batterie MAINTENANT ! | [3.6V ; 3.7V[ |
Rouge clignotant |
| ALLO ? À ce niveau la batterie est en train de s’endommager définitivement | [3.5V ; 3.6V[ |
Éteinte |
| La CRCconnect s'éteint d’elle même pour éviter d’endommager la batterie. | < 3.5V |
DEL Communication
Indique la qualité de la connexion entre la CRCconnect et le CRCduino (et, implicitement, s’il y a une connexion à une manette de jeu).
Les causes typiques d’interférence: trop de métal autour du CRCduino, l’armature de métal du robot est connectée à la batterie (fil déconnecté ou mal isolé), etc.
Couleur | État? | Recommendation | Signification |
---|---|---|---|
Vert |
| Incroyable, fantastique, sensationnel ! | Super connexion avec le CRCduino. Manette de jeu connectée. |
Orange |
| Rapprochez-vous du robot. Réduisez les sources d’interférence. | Connexion pas super avec le CRCduino. Manette de jeu connectée. |
Rouge |
| Rapprochez-vous du robot. Réduisez les sources d’interférence. | Mauvaise connection avec le CRCduino. Manette de jeu connectée. |
Rouge clignotant |
| Rapprochez-vous du robot. Réduisez les sources d’interférence. Essayez d'éteindre puis d’allumer à nouveau le tout. Est-ce que les CRCduino et CRCconnect sont correctement connectés ? Est-ce que le module Xbee est inséré correctement dans le CRCduino ? | Connecté au CRCduino et à une manette, mais les données ne sont pas transmises correctement |
Éteinte |
| Aucune connexion avec un CRCduino ou aucune manette de jeu compatible détectée |
DEL Charge
Cette petite DEL sous la CRCconnect est allumée lorsque le module est en charge.
Gestion de la batterie
Le module CRCconnect peut être rechargé par le port Micro-USB. Même lorsqu’on l’utilise!
Pas besoin de recharger la manette elle-même. Lorsque connectée à la CRCconnect, cette dernière alimente la manette à même sa propre batterie.
«Auto-shutdown »
Pour éviter des dommages internes permanents, la CRCconnect peut s'éteindre d’elle-même dans les cas suivants:
Batterie faible
Si la batterie tombe sous un certain niveau, la CRCconnect ne s’allumera pas ou s'éteindra immédiatement.
Température élevée
Si la température interne devient trop élevée pour la batterie, les 3 DELs principales du module clignoteront orange 5 fois puis celui-ci s’éteindra immédiatement après.
Boutons et joysticks de la manette
L'état des boutons et joysticks peut être obtenu à l’aide des fonctions ReadDigitalChannel() {FR} et ReadAnalogChannel() {FR} en utilisant la bonne sélection (CrcLib: accéder aux boutons de la télécommande ).
L’image suivante montre les différentes valeurs à indiquer pour obtenir les bonnes valeurs sur des manettes typiques.
Encore incertains ? Téléversez le code suivant sur le CRCduino (aussi disponible dans les exemples), puis ouvrez une console à 2000000 baud. Vous pourrez par la suite voir les valeurs se mettre à jour en temps réel à l'écran.
#include <CrcLib.h>
void setup() {
CrcLib::Initialize();
Serial.begin(2000000);
}
void loop() {
CrcLib::Update();
Serial.println();
if (CrcLib::IsCommValid()) {
CrcLib::PrintControllerState();
} else {
Serial.print("Aucune connexion valide à une manette");
}
}