Как только эта проблема будет решена, АЦП внутри микроконтроллера сможет преобразовать напряжение на аналоговом выводе в числовое значение в диапазоне от 0 до 1023. Почему именно такой числовой диапазон? Потому что его можно выразить десятью двоичными цифрами, а число разрядов АЦП в микроконтроллере на плате Arduino равно десяти.
После того как АЦП выдал число, ваша программа может сравнить его с заданным значением и предпринять соответствующие действия, например, изменить состояние вывода, подающего напряжение на твердотельное реле, которое включает комнатный нагреватель.
Эта последовательность операций, начиная с терморезистора и заканчивая числовым значением, проиллюстрирована на рис. 5.86.
Рис. 5.86. Упрощенная последовательность обработки сигнала от терморезистора
Следующий эксперимент покажет, как это осуществить.
• Макетная плата, монтажный провод, инструмент для зачистки проводов, кусачки, тестовые провода, мультиметр
• Терморезистор номиналом 10 кОм, с допуском 1 или 5% (1 шт.) (Он должен быть типа NTC, что означает «сопротивление падает по мере увеличения температуры». Терморезистор типа РТС ведет себя противоположным образом.)
• Плата Arduino Uno (1 шт.)
• Ноутбук или настольный компьютер со свободным USB-портом (1 шт.)
• USB-кабель с разъемами типа А и В на противоположных концах (1 шт.)
• Резистор номиналом 6,8 кОм (1 шт.)
• Исследование терморезистора
Первый шаг — изучить, что собой представляет терморезистор. Он имеет очень тонкие выводы, потому что они не должны проводить тепло к верхней части или забирать его оттуда, поскольку там располагается p-n-переход, реагирующий на изменение температуры. Эти выводы, вероятно, слишком тонкие, чтобы надежно фиксироваться в макетной плате, поэтому я предлагаю вам зажать их парой тестовых проводов с «крокодилами» и подключить к щупам мультиметра, как показано на рис. 5.87.
Терморезистор, который я рекомендую, имеет номинал 10 кОм. Это максимальное значение, когда компонент становится совсем холодным. Его сопротивление меняется слабо, пока температура не повысится до 25 °С. После этого сопротивление будет уменьшаться быстрее.
Вы можете проверить это с помощью мультиметра. При комнатной температуре терморезистор должен иметь сопротивление около 9,5 кОм. Теперь зажмите его между большим и указательным пальцами. Поскольку он поглощает тепло вашего тела, его сопротивление снижается. При температуре тела (приблизительно 37 °С) сопротивление составит около 6,5 кОм.
Как преобразовать этот диапазон сопротивлений в необходимый для микроконтроллера диапазон напряжений от 0 до 5 В?