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