Помогите с программирование микроконтроллера на C.
Хочу сделать устройство "калькулятор цветовой маркировки резисторов" Но не знаю как реализовать ввод пользователем. Допустим у меня за все цвета отвечает отдельный пин. Например PINC.0 это черный цвет. Что мне нужно сделать, чтобы код обработал ввод пользователем и занес данное значение в массив или переменную, так как полос у резисторов от 3 до 6 . В голову приходит только одно. Это завести пустой массив с размером 6(или динамический) и при каждом нажатии кнопки например тот же самый PINC.0 запрашивать подтверждение отдельной кнопкой и увеличивать переменную i на 1(i++) чтобы при i==0 число заносилось в 1 ячейку массива пример a[0]='0' //(черный цвет это 0)и так далее. Или подскажите как избавиться от костылей и оптимизировать код, ибо в программировании не силен. Фотка что я хочу сделать только с выводом на дисплей (вывод я реализую сам).

Кнопок 12 штук ? от 0 до 11, так? Тогда массив для приёма шести полос arr[6] это от 0 до 5 индексы. Нажатий на пины от 3 до 6 и подтверждение окончания ввода. В массиве хранить нужно НОМЕР пина, по которому ищешь в массиве данных количественную характеристику параметра