Wouldn't to crank mechanism like this do the trick coupled to an linkage or another crank do the trick ?

crank-animation.gif