I2C drive a servo

I did this like you.

a PCA9685 board, without a jumper and a PCA9685 board with jumper in A0?
and two nodes i2c-servo ā€¦device ?

One board with jumper set to address 41, one default 40. Tested individually and chained. entered the address as hex, tried numeric values using int8_t instead of uint8_t ā€¦

mmm, try this

i2c-servo-test.xodball (6.1 KB)

Thank you! Both boards silent though. Checked it chained and indiviual with different PWM settings.

ok, I do not have the hardware to test, but you can try to multiplex ā€œCLKā€ with the CD4066

Hi, maybe the two i2c-devs want to start at the same time, try the following in the example that I uploaded.

Before reversing the change in the library

image

Hi Cesars,

I finally created two devices with two different adresses as you initially proposed and let XOD generate the code that I uploaded to Arduino by pasting it into the IDE. It worked that way. The bug must be somewhere under the hood of XOD, I assume. Thank you again for helping!

Hi, I was thinking of buying two to try. But later I do not know what utility it could give.

Thanks for confirming that it worked.

regards

Hi

Has the library been updated?

Also is having to copy the code into the Arduino IDE defeating the object so to speak

As well as make testing and debugging very difficult

I am trying to use these with multiple boards as yet without success but one on its own works great

Unfortunately personally donā€™t have the coding skill to sort this out I wish I did but am following this very closely trying to learn

Thanks Barry

Iā€™m also interested in using the 16-servo board with Xod. The problem I keep running into with these visual programming tools is they donā€™t support the ā€œadd-onā€ board and I donā€™t have the coding skills to figure how to link them (hence wanting to use a visual programming tool).

Here is a library but I donā€™t know if it works, I couldnā€™t test it ā€¦ I donā€™t have the hardware.

cesars/pca9685

So Iā€™m so new to all of thisā€¦ so I apologize in advance

trying to make this work with a POT node.

let me know your thoughts???

thank you in advance.

pot-VAL is going to be a number between 0 and 1. i2c-servo-pwm-device-PWMFreq is the frequency for driving servos (between 0 and 1600) and should probably be left at the default unless there is a reason to change it. The position of the servo is probably what you want to control using the pot. That is the i2c-pwm-servo-PWM pin, so pot-VAL should be linked there.

thank you!

i had it set up the way you described, but it does not behave the same as it i connected the pot-VAL to the same xod-SERVO.

when the pot VAL gets to .8 or so, the servo turns on and continuously runs in the clockwise direction and will not turn or respond to the pot turning in the counter clock wise direction.

I played with the map node, but no change.

image

Thank you,

sean

If changing POT starts the servo motion, it implies you probably have the correct I2C address and Pin address. Not sure what the problem might be. Are you sure you have servo wires connected to the correct pins for power and signal? Moving to a higher POT value might provide enough power through the signal pin to the power wire of servo to start it moving if things are wired wrongā€¦

It is wired correctly.

see attached. itā€™s at such a basic level, so makes me think Iā€™m losing my mind, but IDK.

video

What happens if you flip the servo plug 180 degrees so the two outside wires are swapped?