
Аналоговые измерения
Но фиг сними с цепочками сброса, куда прикольней использовать возможность RC цепи для замера аналоговых величин микроконтроллерами в которых нет АЦП.
Тут используется тот факт, что напряжение на конденсаторе растет строго по одному и тому же закону — экспоненте. В зависимости от кондера, резистора и питающего напряжения. А значит его можно использовать как опорное напряжение с заранее известными параметрами.
Работает просто, мы подаем напряжение с конденсатора на аналоговый компаратор, а на второй вход компаратора заводим измеряемое напряжение. И когда хотим замерить напряжение, то просто вначале дергаем вывод вниз, чтобы разрядить конденсатор. Потом возвращем его в режим Hi-Z, cбрасываем и запускаем таймер. А дальше кондер начинает заряжаться через резистор и как только компаратор доложит, что напряжение с RC догнало измеряемое, то останавливаем таймер.
Зная по какому закону от времени идет возрастание опорного напряжения RC цепи, а также зная сколько натикал таймер, мы можем довольно точно узнать чему было равно измеряемое напряжение на момент сработки компаратора. Причем, тут не обязательно считать экспоненты. На начальном этапе зарядки кондера можно предположить, что зависимость там линейная. Или, если хочется большей точности, аппроксимировать экспоненту кусочно линейными функциями, а по русски — отрисовать ее примерную форму несколькими прямыми или сварганить таблицу зависимости величины от времени, короче, способов вагон просто.
Если надо заиметь аналоговую крутилку, а АЦП нету, то можно даже компаратор не юзать. Дрыгать ножкой на которой висит конденсатор и давать ему заряжаться через перменный резистор.
По изменению Т, которая, напомню T=R*C и зная что у нас С = const, можно вычислить значение R. Причем, опять же необязательно подключать тут математический аппарат, в большинстве случаев достаточно сделать замер в каких-нибудь условных попугаях, вроде тиков таймера. А можно пойти другим путем, не менять резистор, а менять емкость, например, подсоединяя к ней емкость своего тела… что получится? Правильно — сенсорные кнопки!