Всё хорошо, только если предположить что кнопконажиматель может являться потенциальным носителем некоторого статического потенциала, который будет весело разряжаться на сенсор и тем может вызвать повреждения ключей осуществляющих подтяжку ноги, как миниму, и мало ли чего ещё по соседству. Напряжение то большое, расстояния маленькие, ну вы меня понимаете…
ИМХО за резюк вне корпуса микроконтроллера, жаба разработчика совсем не задушит, тем более что за здоровье МК она будет спокойна.
Да, согласен. Не подумал об этом совсем. В защиту статьи скажу лишь, что судя по даташиту, микросхемки прошли довольно варварское тестирование JESD22-A114 на 2й класс защищённости (т.е. выдерживает разряд в 2000 В между каждыми ножками), так что вероятность что «пронесёт» достаточно велика.
В быту зимой, обычно 3-6 киловольт статики, бывает и больше, если рядом какая нибудь синтетика.
Так, что как раз хватит, а внешний резистор, вполне обезопасил.
Кварц можно было не менять. У STM32 есть встроенный PLL. По вашему исходнику совершенно не видно на какой частоте и от какого генератора (встроенного или внешнего) работает контроллер. Есть смысл выложить проект полностью.
Да, действительно, есть возможность разогнать встроенный генератор до 24МГц. Я правда ещё не разобрался с тактированием, так что всё осталось настроенным по умолчанию (внешний кварц, если не заводится, то внутренний генератор, без фазовой подстройки).
Разобрался. Оказалось по умолчанию PLL было включено, давая 24МГц из кварца на 8МГц. Соответственно с 20МГц кварцем получился hardcore overclocking. В следующий раз постараюсь не упускать таких вещей.
Отличный академический пример, но… ИМХО, использовать микроконтроллер в качестве выключателя, — это как использовать микроскоп в качестве подпорки корыта, из которого кормят свиней.
В следующем эксперименте микроскоп из под корыта вытащу, отряхну и пойду блошек в него рассматривать. Всё это ради площадки с линейкой сенсоров, воспринимающих свайпы и прочий одномерный мультитач.
Ёмкостный датчик касаний без внешней обвязки на STM32 Discovery