Help Syren10/KangarooX2 connect to Arduino

Can any1 help me to wire/code Syren10 (or any other Syren doesn't matter) and Kangaroo X2 and Arduino

My goal is to control a 12v DC Motor through Serial communication, I need to turn the motor by angle

I managed to do it with my L298n H Bridge, but it I find out it's too weak for my purpose.

I switched to Syren10 and the Kangaroo X2 for the PID Control

I set the Syren10 DIP to 9600 Baud rate, the Kangaroo X2 DIP set all to ON

My wiring diagram:
https://imgur.com/a/t4UJ4A0

I use a 12v Pololu 37D Metal Gearmotor with encoder Gear Ratio 30:1, a Syren10 motor driver with a Kangaroo x2 Motion Controller
Also I use an Arduino Uno and I'm using a 12V power supply

Can any1 help me the code?
I tried the example from the library without success, the Motor is just spinning slowly in an endless loop

// Movement Sample for Kangaroo
// Copyright (c) 2013 Dimension Engineering LLC
// See license.txt for license details.
#include <SoftwareSerial.h>
#include <Kangaroo.h>

// Arduino TX (pin 11) goes to Kangaroo S1
// Arduino RX (pin 10) goes to Kangaroo S2
// Arduino GND         goes to Kangaroo 0V
// Arduino 5V          goes to Kangaroo 5V (OPTIONAL, if you want Kangaroo to power the Arduino)
#define TX_PIN 11
#define RX_PIN 10
// Independent mode channels on Kangaroo are, by default, '1' and '2'.
SoftwareSerial  SerialPort(RX_PIN, TX_PIN);
KangarooSerial  K(SerialPort);
KangarooChannel K1(K, '1');
KangarooChannel K2(K, '2');
void setup()
{
  SerialPort.begin(9600);
  SerialPort.listen();
  
  K1.start();
  K1.home().wait();
}
// .wait() waits until the command is 'finished'. For position, this means it is within the deadband
// distance from the requested position. You can also call K1.p(position); without .wait() if you want to command it
// but not wait until it gets to the destination. If you do this, you may want to use K1.getP().value()
// to check progress.
void loop()
{
  // Go to the minimum side at whatever speed limit is set on the potentiometers.
  long minimum = K1.getMin().value();
  K1.p(minimum).wait();
  
  delay(2000);
  
  // Going to the maximum side, limit speed to 1/10th of the range per second
  // (at least 10 seconds of travel time).
  long maximum = K1.getMax().value();
  long speedLimit = (maximum - minimum) / 10;
  K1.p(maximum, speedLimit).wait();
  delay(2000);
}

OK, now explain what that is and give useful Web links to the parts you describe.

It is not our job to know or research what you are referring to. :roll_eyes:

Sorry I didn't thought I need further explanation but.. anyway I've added a link to all my component

That assumes many or most people viewing the forum are interested in the exact same projects as you.

Do you really expect that? :grin:

Yes I did! as I mentioned in the Title Syren10 and Kangaroo X2, so I expected that only people would answer, would be those who knows Syren10 and Kangaroo X2 are. As they are a little specific .

But again, thank you for pointing that out. Any further comment regarding that is not solving my issue and is contra productive

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.