Set driven key would be the best.... Just set keys for the positions of the pistons. So when he crank shaft moves the pistons will follow.
I am enough of an artist to draw freely upon my imagination, knowledge is limited, imagination encircles the world. (Albert Einstein)
https://www.artstation.com/kurtb