Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
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.

View the english version of this page.

Compatible remote controller

The beauty behind CrcConnect is that it allows a robot to be controlled using off-the-shelf, popular gaming console remote controller.

Compatible, ready to use controllers:

  • PlayStation 3

  • Logitech F130

  • Wired Xbox 360

Compatible, but to be implemented in the future:

  • PlayStation 4

Un-compatible remote controllers

  • Wireless Xbox 360

  • Xbox One

Pairing with a CrcDuino board

Ports

Buttons

Status LEDs

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.

Image Added

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:

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.

Storage 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.

Image Added

Jumper removed; CrcConnect won’t work

Image Added

Jumper in storage mode; CrcConnect won’t work

  • Storage mode is disabled when the jumper is plugged into the center and right pins.

Image Added

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.

Image Added

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 despair 😞 …

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.

Swapping the Xbee Module from the old CrcConnect to the new CrcConnect with integrated remote control

https://youtu.be/D8woVCYgStU

https://youtu.be/zLYCgJZHE0U

Ports & buttons

The 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;

  • A USB-A port in which the cable coming from the remote controller is plugged into.

Image Added
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:

Image Added
Image Added

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.

Robot

LED Color

We good?

Recommendation

Power Supply voltage

Solid Green

(thumbs up)

Great power management, keep up the good work!

>= 12.5V

Solid Orange

👋

Maybe charge the battery?

[12V ; 12.5V[

Solid Red

(thumbs down)

Yeah, you should charge the battery NOW!

[11V ; 12V[

Blinking Red

Were you even paying attention? Go on and you might affect your robot batteries ability to hold up charge 🤷‍♂️

< 11V

CrcConnect LED

Indicates the voltage of the internal CrcConnect battery. This therefore feedbacks the charge level of the 5V battery inside of it.

CrcConnect

LED Color

We good?

Recommendation

Internal battery voltage

Solid Green

(thumbs up)

Great power management, keep up the good work!

>= 3.8V

Solid Orange

👋

Maybe charge the battery?

[3.7V ; 3.8V[

Solid Red

(thumbs down)

Yeah, you should charge the battery NOW!

[3.6V ; 3.7V[

Blinking Red

Were you even paying attention? Go on and you might affect your CrcConnect battery ability to hold up charge 🤷‍♂️

[3.5V ; 3.6V[

OFF

The CrcConnect will automatically shutdown to prevent battery damages.

< 3.5V

Communication LED

Indicates 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

(thumbs up)

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

(thumbs down)

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.

Image Added
Image Added

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.

Code Block
languagecpp
//CrcConnect Remote Controller Test Sketch
//Valid using CrcLib_1-1-0_Release

#include <CrcLib.h>
//------------------------------------------------------------

void setup() {
  // put your setup code here, to run once:
  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("No remote controller successfully communicates with the CrcDuino");
  }

}

Related articles

Filter by label (Content by label)
sorttitle
excerptTyperich content
cqllabel = "ar-crcconnect_en"

Articles liés

Filter by label (Content by label)
sorttitle
excerptTyperich content
cqllabel = "ar-crcconnect_fr"