Переключатель либо включен, либо выключен, однако большинство значений, которые мы получаем из окружающего мира, обычно находятся между этими крайностями. Например, терморезистор — это датчик, электрическое сопротивление которого изменяется в широком диапазоне, в зависимости от температуры.
Микроконтроллер был бы очень полезен для обработки такого входного сигнала. Например, получая входной сигнал от терморезистора, микроконтроллер поддерживает заданную температуру, включая нагревательный элемент, если температура опускается ниже минимального значения, и выключая его, если в комнате достаточно тепло.
Микроконтроллер ATmega 328, установленный на плате Arduino Uno, может справиться с этой задачей, поскольку шесть из его выводов относятся к числу «аналоговых входов». Сигнал, поданный на эти входы, не оценивается как «логически высокий» или как «логически низкий». Он преобразуется внутри микросхемы с помощью аналого-цифрового преобразователя или АЦП.
В 5-вольтовой версии платы Arduino аналоговый сигнал на входе должен быть в диапазоне от О до 5 В. На самом деле, верхний предел можно изменять, что вносит некоторую сложность, поэтому я оставлю рассказ об этом на потом. Терморезистор не вырабатывает никакого напряжения, он только изменяет свое сопротивление. Так, необходимо придумать, каким образом изменение сопротивления обеспечит изменение напряжения.