Я бы поиграл с таким решением (оно не единственное, возможно и не лучшее), но должно сработать.
Это адресный чип, по функционалу такой как используется в ленте разноцветных светодиодов. Эти ленты управляются одним сигналом (выходом с МК), позволяют управлять независимо цветом каждого отдельного светодиода. У чипа 3 выхода R+G+B. Когда на цветовую составляющую подается максимальная яркость, на выходе этой составляющей стабильная 1 (высокий постоянный уровень).
К 60 последовательно соединенным чипам цепляете к компоненте R кнопку, к компоненте G управление мотором, на оставшуются B можете поставить лампочку подсветки выбранной позиции. По факту вы не ограничены в количестве кнопок и моторов. Ну разве только временем сканирования, чем больше кнопок, тем дольше время одного цикла опроса. Но для вашей задачи и в пределах сотни кнопок это вообще не актуально. А из контроллера на все это к такому “распределителю” идет только два провода (помимо питания) - сигнал команды и общий контакт с клавиатуры.
Быстро гоните поочередное засвечивание красным цветом по очереди цепочки и сканируете общий выход со всех кнопок. На каком из чипов поймали с выхода кнопок сигнал, та кнопка и нажата. После этого зажигаете синим цветом нужный чип, светится лампочка выбранной позиции. После того как получили монетку, на нужное время светите зеленым цветом тот же нужный чип. Это активирует выход на мотор, которым нужно ключом (или реле) подать напряжение высокой мощности.
Вот и вся игрушка. Код управления такими чипами - любая из библиотек работы с адресной лентой.
