Tip |
---|
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 le 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
Most knockoff brand 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".
Note |
---|
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. |
Note |
---|
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
Like almost every electronic gadget, there is a very small current that leaks from the battery of the CrcConnect when it’s not in use, even when powered off using the power button. This undesired battery drainage can be avoided by putting the CrcConnect in Storage Mode. We recommend to put the CrcConnect in Storage Mode when you know it won’t be used for 2+ weeks. This will extend the CrcConnect battery life! Storage mode physically disconnects the battery from the control board, effectively cutting any possible leakage current.
Storage mode is enabled when the jumper is removed from the board, or when it is plugged into the left and center pins.
Jumper removed; CrcConnect won’t work
Jumper in storage mode; CrcConnect won’t work
Storage mode is disabled when the jumper is plugged into the center and right pins.
Jumper OK; CrcConnect will work
Pairing with a CrcDuino board
Pairing a CrcDuino with a CrcConnect is as easy as 1-2-3! Each CrcConnect is identified with a number and comes with a dedicated Xbee Module that is identified with the same number.
Simply plug the Xbee module into the CrcDuino, then power up the CrcConnect and CrcDuino.
A characteristic victory sound will be heard from the CrcDuino when a successful connection as been established with a CrcConnect. If the connection is lost, the CrcDuino sights in despairrangement
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 😞 …
Note |
---|
A compatible remote controller must be plugged into the CrcConnect for it to communicate succesfully with a CrcDuino. |
Note |
---|
The CrcDuino must run using CrcLib Release 1.1 and up to be able to connect with the CrcConnect. |
Une manette de jeu compatible doit être connectée à la CRCconnect pour que celle-ci établisse la connexion au CRCduino. |
Note |
---|
Le CRCduino doit utiliser une version supérieur à la CrcLib 1.1 et être actif pour pouvoir se connecter à la CRCconnect. |
Transférer un module Xbee d’une vieille CRCconnect au nouveau module intégré
https://youtu.be/zLYCgJZHE0UPorts &
buttonsThe CrcConnect has 2 ports a one button on its side. From left to right:
A Micro-USB port to charge the CrcConnect internal battery;
A power button;
boutons
Sur un des côtés de la CRCconnect se trouvent 2 ports et un bouton. De gauche à droite:
Note |
---|
Do not press and hold the Power button for more than 10 seconds. This puts the CrcConnect in a limbo state that allows CRC Robotics to configure the CrConnect, and disables the communication function with the CrcDuino. |
Status LEDs
The CrcConnect has 4 LEDs that allows to learn about the state of the CrcConnect and the CrcDuino:
Robot LED
Indicates the voltage of the power supplied to the CrcDuino to which the CrcConnect is connected to, witha refresh rate of 10s. This therefore feedbacks the charge level of the 12V battery on the robot.
RobotLED Color
We good?
Recommendation
Power Supply voltage
Solid Green
N’appuyez pas plus de 10 secondes sur le bouton « power ». Cela active le mode configuration qui ne sert qu'à la CRC et qui désactive les fonctions normales de la CRCconnect. |
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 |
Solid Orange | 👋 Maybe | charge the batteryPensez à charger la batterie ? | [12V ; 12.5V[ |
Solid RedRouge |
| , you should charge the battery NOWChargez la batterie MAINTENANT ! | [11V ; 12V[ |
Blinking RedRouge clignotant | ❌ Were you even paying attention? Go on and you might affect your robot batteries ability to hold up charge | ALLO ? À ce niveau la batterie est en train de s’endommager définitivement 🤷♂️ | < 11V |
LED CrcConnect
LEDIndicates the voltage of the internal CrcConnect battery. This therefore feedbacks the charge level of the 5V battery inside of it.
CrcConnectLED Color
We goodIndique le voltage interne de la batterie de la CRCconnect.
Couleur | État? | Recommendation | Internal battery voltage | Solid GreenVoltage batterie |
---|---|---|---|---|
Vert |
| power management, keep up the good workIncroyable gestion de la batterie! | >= 3.8V | |
Solid Orange | 👋 Maybe | charge the batteryPensez à charger la batterie ? | [3.7V ; 3.8V[ | |
Solid RedRouge |
| , you should charge the battery NOWChargez la batterie MAINTENANT ! | [3.6V ; 3.7V[ | |
Blinking RedRouge clignotant | ❌ Were you even paying attention? Go on and you might affect your CrcConnect battery ability to hold up charge | ALLO ? À ce niveau la batterie est en train de s’endommager définitivement 🤷♂️ | [3.5V ; 3.6V[ | |
OFFÉteinte | ☠ The CrcConnect will automatically shutdown to prevent battery damages | La CRCconnect s'éteint d’elle même pour éviter d’endommager la batterie. | < 3.5V |
DEL Communication
LEDIndicates the connection quality between the CrcConnect and its paired CrcDuino. Is also used to indicate a successful link between a remote controller and the CrcConnect.
Typical interference causes include and are not limited to: too much metal around the CrcDuino, robot frame electrically connected to the battery negative pole (lose wire, faulty wire isolation), etc.
Communication LED Color
We good?
Recommendation
Meaning
Solid Green
Whatever you’re doing, keep up doing it!
Great connection with the CrcDuino. Wired to a remote controller.
Solid Orange
👋
Get closer to the robot. Reduce possible interference.
Meehh connection with the CrcDuino. Wired to a remote controller.
Solid Red
Get closer to the robot. Reduce possible interference.
Bad connection with the CrcDuino. Wired to a remote controller.
Blinking Red
❌
Get closer to the robot. Reduce possible interferences. Have you tried turning everything off and on again? Are the CrcDuino & CrcConnect powered up? Appropriate Xbee module correctly inserted in the CrcDuino socket? CrcDuino running a program using CrcLib Release 1.1 and up?
Connected to the CrcDuino and wired to a remote controller, but data is not correctly sent/received
OFF
☠
No connection with a CrcDuino, or no wired to a compatible remote controller
Charge LED
This LED, on the backside of the CrcConnect, is lit when it's charging, and OFF when not charging.
Power management
The CrcConnect module can be recharged throught the Micro-USB port. It can even be recharged when in use!
No need to worry about recharging the remote controller itself. The remote controller, when connected to a CrcConnect module, is powered by the CrcConnect internal battery pack.
Auto-shutdown function
Auto-shutdown functions have been programmed into the CrcConnect to avoid permanent internal damage.
Voltage shutdown
If the internal battery voltage falls beneath a certain threshold, the CrcConnect won’t power up or will shutdown immediately after being powered up.
Temperature shutdown
If the internal temperature gets so hot that it might lead to permanently damage the internal battery, the three main status LED will flash Orange 5 times and the CrcConnect will automatically shutdown right after.
Button and joystick mapping
The remote controller buttons and joysticks state can be retrieved using CrcLib::ReadDigitalChannel() and CrcLib::ReadAnalogChannel() using the appropriate nomenclature.
The following pictures show the physical mapping of the different members of the enum classes for typical remote controller arrangements.
Still not sure? Upload the following code into your CrcDuino and open up a Serial Monitor at 2000000 baud to witness the state of the different buttons of the remote controller on your computer screen.
language | cpp |
---|
Indique la qualité de la connexion entre la CRCconnect et le CRCduino connecté (et, implicitement, s’il y a une connexion à une manette de jeu).
Les causes typiques d’interférences: trop de métal autour du CRCduino, l’armature de métal du robot est connecté à 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 meehh 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 permanent, 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 peuvent être obtenus à 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 incertain ? 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.
Code Block | ||
---|---|---|
| ||
#include <CrcLib.h> void setup() { CrcLib::Initialize(); Serial.begin(2000000); } void loop() { // put your main code here, to run repeatedly: CrcLib::Update(); Serial.println(); if (CrcLib::IsCommValid()) { CrcLib::PrintControllerState(); } else { Serial.print("NoAucune remoteconnexion controllervalide successfullyà communicates with the CrcDuinoune manette"); } } |
Related articles
Filter by label (Content by label) | ||||||
---|---|---|---|---|---|---|
|
Articles liés
Filter by label (Content by label) | ||||||
---|---|---|---|---|---|---|
|