MCP23017 multiplexing & servo control


For a robot I'm making, I'm using an Arduino Uno. Most of I/O ports are used... I plan to use the MCP23017 chip to do some multiplexing and get some free I/O ports.

I would like to use those free ports to controls at least 2 servos & some leds... I saw that there is a Software Servo Library to be able to use any ports of the Arduino to drive a servo... But how to use my multiplexed ports ?

Do you have examples ? I can't find any.

Thanks for your help :slight_smile:

But how to use my multiplexed ports ?

With great difficulty.

With great difficulty.

That do not help a lot :stuck_out_tongue:

That do not help a lot :stuck_out_tongue:

It was a hint.

All right. You win. :grinning:

To multiplex servos, you use a 74HC4017, not a MCP23017. You control eight servos with two pins.

Arf, that's a bad news... I already have a MCP23017, not a 74hc4017 :frowning:

There are lots of other things you can use that you don't have.
For more servo controls I use the PCA9685, it is a set and forget chip.

16 more PWM channels... Yes, it can be a solution...

Else I have some Attiny85, If I'm not mistaken, there is two PWM on them and some other ports. It could be enough to control my stuff through I2C, no ?

Or you could move some of the I/O that is currently directly connected to your Arduino onto the port expander and then use them to drive your servos.

Yea, I'll do the study but I'm not sure to be able to release some PWM IOs :frowning: