The pushing mechanisms consist of a simple crank, used to translate a rotary motion into a linear one. A cam-operated microswitch sets the rest position. To carry out a push, the program starts the appropriate motor, observes a short delay to ensure the cam is clear of the microswitch, then waits until the microswitch is operated again at the end of the cycle before stopping the motor.
The radius of the crank arm determines the length of linear travel: the ones that push the draughts off the belt are longer because the pushers need to travel further.
The clip on the left shows the smaller pusher, which pushes draughts from the inspection platform onto the ramp leading down to the conveyor belt.
The fischertechnik system includes some quite nice linear rack and pinion mechanisms that I though I might use to create the pushers. The cranks, however, proved faster, smoother and quieter. They do take up more space, but against that is set the considerable advantage that they need only one limit switch each, where a linear mechanism would need one at each end of its travel. More switches require more processor inputs, which would need a bigger processor, or clever wiring - to which I am instinctively opposed. If a mechanism is to be processor-controlled then my preference is for all of the logic to be in the control program, not in avoidably complex interconnections.
There were originally going to be two pushers, one to push draughts onto the belt and a second, wide one to push them off when they were opposite the appropriate box. When a spare input became available due to using only one light sensor, I decided to use it for separate black and white pushers. The mechanisms are shown on the left.
With the current program there is actually no benefit in having separate pushers for black and white draughts, however they allow the possibility in future versions of having more than one draught on the belt at a time.
I'm a great believer in modularisation - that's my inner programmer struggling to get out - and each of the pushers is constructed on its own sub-chassis.