Connecting Arduino Uno to Qik 2s12v10

I have an Arduino Uno that I want to hook up to a Qik 2s12v10, but I never get anything back when I run the demo code. The Qik is flashing its green status light, and I’ve tried it with and without jumpers to hardwire the baud rate, but the code always freezes when I call qik.getFirmwareVersion(). Any suggestions?

Thanks.

Hello.

What do the LEDs do when the qik freezes? What baud rate do you have the qik set to, and is the Arduino set to the same rate? Could you check the connections to your qik and make sure they are correct (TX, RX, and common ground)? Could you also post pictures of your setup that show all of your connections?

- Grant

The LED keeps blinking green after I upload my code. The ERR light does not come on.
I have tried both using the jumper to set the qik to 115200 baud and leaving it on auto. The arduino code is just the demo, so:

PololuQik2s12v10 qik(2, 3, 4);

void setup()
{
  Serial.begin(115200);
  Serial.println("qik 2s12v10 dual serial motor controller");
  
  qik.init();
  
  Serial.print("Firmware version: ");
  Serial.write(qik.getFirmwareVersion());
}

The reset pin is wired to 4, TX to 3, and RX to 2. But if I flip it to TX - 2 and RX- 3, I get an error.

Here’s how everything looks.


Thanks,
Tim.

Is that the code you are running on the Arduino? Could you try running the complete demo code with the connections according to what the demo says (digital pin 2 to TX and digital pin 3 to RX)? If you still get the error, could you tell me what the error is?

In your picture, it looks like you are powering the qik from the regulated 5V from the Arduino. This is not a good power supply for the qik, as it requires at least a 6V power supply. Additionally, the amount of current that pin can deliver is severely limited and not practical for supplying power to motors. You should power the qik using a different power supply that is within its recommended input voltage range.

- Grant

Okay, I hooked up the qik to a power supply running at 6v and I rewired set-up so that digital pin 2 goes to TX and digital pin 3 to RX. I found that whenever I try to write a byte to the qik, I get an error. Right now, my code looks like this:

PololuQik2s12v10 qik(2, 3, 4);

void setup()
{
  Serial.begin(115200);
  
  qik.init();
  
  qik.listen();
  qik.write(0x81);
  
  qik.write(0x82);
  
  Serial.write(qik.getErrors());
  Serial.println();
}

And the output is just “@”
Any thoughts? Thanks.

-Tim

It looks like you have some function calls in your code that are not defined in our qik library (e.g. qik.listen(); should probably be Serial.listen(); instead). Could you check to make sure the library for the qik is installed properly and try running the unmodified demo code? If the library is installed correctly, you should be able to see PololuQik examples under file -> examples in Arduino IDE.

If the demo code does not work, could you try following the directions under “Test your serial connection” in the “Troubleshooting” section of the Qik 2s12v10 User’s Guide?

- Grant