Here’s a simple “Tap to Spin” Mechanic with Blueprints. Just an example, of the simplest mechanic that you mentioned. I used q, but any other input event could/would work.
You mentioned that you would like to use animation, so in place of the rotation node(s), you could cast to your animation blueprint and set the variables in there. For the lever example, you could have an animation that spins it 1 quarter for example, that you could cast to when you tap. A simple way to reverse that would be to have the same animation backwards, and every time you tap, it keeps track of the tap count and if you fail to tap within said time, it plays the reverse animation that many times back (at a speed multiplied by tap count) or until you tap again. Just an ideal