Вы эти все решения обязательно проверяйте на железе, у меня как-то была идея сделать несколько кнопок на аналоговом входе, все красиво в симуляции, на деле оказалось не очень, времени было мало, не стал сильно изучать вопрос.