Читаем Электроника для начинающих (2-е издание) полностью

• Установить терморезистор и резистор на обычной макетной плате, а затем подать сигнал с терморезистора на плату Uno по проводу таким же способом, как вы подавали положительное напряжение и заземление от платы Arduino на макетную плату. Это не слишком изящно, но, похоже, так делают многие. Если вы отладили программу и окончательно переписали ее в микроконтроллер, то затем можно вынуть микросхему и установить в более удобном месте.

На рис. 5.90 показано расположение элементов, на рис. 5.91 — фотография макета установки. Вынужден признать, что здесь как раз тот случай, когда удобны маленькие провода с разъемами на концах, хотя я до сих пор не вполне доверяю им.

<p>А где же выход у схемы?</p>

Теперь вы настроили все для преобразования аналогового входного сигнала в числовое значение. Но погодите, здесь чего-то не хватает. У схемы нет выхода!

В идеальном мире плата Arduino Uno продавалась бы с маленьким алфавитно-цифровым дисплеем, чтобы вы могли использовать ее как настоящий компьютер. В принципе, вы можете раздобыть дисплей, который будет работать с платой Arduino, но опять-таки это внесло бы дополнительную сложность. Микроконтроллер не является устройством «подключи и работай». Чтобы отправлять информацию на дисплей, микроконтроллер нужно сначала запрограммировать.

Поэтому я упрощу задачу. Индикатором в нашем устройстве будет маленький желтый светодиод на плате Arduino. Представим себе, что этот индикатор является комнатным обогревателем, который включается, когда холодно, и выключается, когда тепло.

<p>Гистерезис</p>

Предположим, мы нагреваем теплицу, температура в которой должна составлять 30 °С. Допустим, напряжение комбинации «терморезистор-резистор» при этой температуре составляет 2,3 В. Отыщите его на графике (см. рис. 5.89), и вы увидите, что АЦП внутри микроконтроллера преобразует это напряжение в числовое значение около 470.

Таким образом, наш порог — 470. Если значение снижается до 469, мы включаем нагрев (или имитируем его включением светодиода). Если значение возрастает до 471, мы выключаем нагрев.

Однако, постойте. Имеет ли это смысл? Ведь даже самое небольшое повышение температуры, воспринимаемое терморезистором, будет включать светодиод, а незначительное понижение будет выключать его. Система будет все время включаться и выключаться.

Обычный термостат не реагирует на небольшие изменения температуры, когда кто-то открывает или закрывает дверь. Когда он включается, он остается включенным до тех пор, пока температура не станет чуть выше установленного значения. Затем, когда он прекращает нагрев, он остается выключенным, пока температура не опустится немного ниже указанного значения.

Такое поведение называется гистерезисом, и я расскажу о нем более детально в связи с компонентом, который называется компаратором, в моей следующей книге — продолжении данной: Make: More Electronics.

Как мы можем реализовать гистерезис в программе для микроконтроллера? Нам необходим более широкий диапазон значений, чем числа от 469 до 471. Программа могла бы описывать следующее: «Если светодиод включен, пусть он остается в этом состоянии, пока значение температуры не превысит 490. Затем его следует выключить». А также: «Если светодиод выключен, пусть он будет в таком состоянии, пока значение температуры не упадет ниже 460. Затем его надо включить».

Сможем ли мы это сделать? Да, очень легко. Программа, представленная в листинге 5.1, функционирует именно так. Протестировав эту программу, я сделал снимок экрана в среде Arduino IDE, и поэтому у меня есть веские основания полагать, что она работает.

Листинг 5.1

Эта программа содержит также некоторые новые понятия — но для начала введите ее в среду IDE. Не обязательно включать все строки комментариев, которые я добавил только для пояснения.

В более коротком варианте программы (листинг 5.2) строки комментариев опущены.

Листинг 5.2

Выполните проверку/компиляцию вашей программы и при необходимости исправьте опечатки (возможно, вы где-либо пропустили точку с запятой — это самая распространенная ошибка).

Подключите плату Arduino, загрузите программу, и если температура вашего терморезистора ниже 30 °С, должен зажечься желтый светодиод.

Нагрейте терморезистор, зажав его между пальцами, как будто температура в помещении увеличилась. Спустя несколько секунд светодиод погаснет. Теперь отпустите терморезистор, и он остынет, но светодиод еще продолжит гореть некоторое время, потому что гистерезис в данной системе заставляет выждать, пока температура не станет достаточно низкой. В конечном счете, светодиод загорится снова. Получилось!

Но как же работает эта программа?

<p id="bookmark476">Строка за строкой</p>

В программе существует такое понятие, как переменная. Это небольшая область памяти микроконтроллера, где может храниться числовое значение. Вы можете представить ее как «ячейку памяти». Из программы можно обратиться к ячейке при помощи имени переменной. Внутри ячейка содержит числовое значение.

Перейти на страницу:

Похожие книги

102 способа хищения электроэнергии
102 способа хищения электроэнергии

Рассмотрена проблема хищений электроэнергии и снижения коммерческих потерь в электрических сетях потребителей. Приведены законодательно–правовые основы для привлечения к ответственности виновных в хищении электроэнергии. Изложены вопросы определения расчетных параметров средств учета электроэнергии, показаны схемы подключения счетчиков электрической энергии. Описаны расчетные и технологические способы хищения электроэнергии. Обсуждаются организационные и технические мероприятия по обнаружению, предотвращению и устранению хищений.Для работников энергоснабжающих организаций и инспекторского состава органов Ростехнадзора. Материалы книги могут быть использованы руководителями и специалистами энергослужб предприятий (организаций) для правильного определения расчетных параметров средств учета и потерь электроэнергии в электрических сетях.Если потенциальные расхитители электроэнергии надеются найти в книге «полезные советы», они должны отдавать себе отчет, что контролирующие структуры информированы в не меньшей степени и, следовательно, вооружены для эффективной борьбы с противоправной деятельностью.Настоящая книга является переработанным и дополненным изданием выпущенной в 2005 г. книги «101 способ хищения электроэнергии».

Валентин Викторович Красник

Технические науки / Образование и наука
100 великих чудес инженерной мысли
100 великих чудес инженерной мысли

За два последних столетия научно-технический прогресс совершил ошеломляющий рывок. На что ранее человечество затрачивало века, теперь уходят десятилетия или всего лишь годы. При таких темпах развития науки и техники сегодня удивить мир чем-то особенным очень трудно. Но в прежние времена появление нового творения инженерной мысли зачастую означало преодоление очередного рубежа, решение той или иной крайне актуальной задачи. Человечество «брало очередную высоту», и эта «высота» служила отправной точкой для новых свершений. Довольно много сооружений и изделий, даже утративших утилитарное значение, тем не менее остались в памяти людей как чудеса науки и техники. Новая книга серии «Популярная коллекция «100 великих» рассказывает о чудесах инженерной мысли разных стран и эпох: от изобретений и построек Древнего Востока и Античности до небоскребов в сегодняшних странах Юго-Восточной и Восточной Азии.

Андрей Юрьевич Низовский

История / Технические науки / Образование и наука
Электроника для начинающих (2-е издание)
Электроника для начинающих (2-е издание)

В ходе практических экспериментов рассмотрены основы электроники и показано, как проектировать, отлаживать и изготавливать электронные устройства в домашних условиях. Материал излагается последовательно от простого к сложному, начиная с простых опытов с электрическим током и заканчивая созданием сложных устройств с использованием транзисторов и микроконтроллеров. Описаны основные законы электроники, а также принципы функционирования различных электронных компонентов. Показано, как изготовить охранную сигнализацию, елочные огни, электронные украшения, устройство преобразования звука, кодовый замок и др. Приведены пошаговые инструкции и более 500 наглядных рисунков и фотографий. Во втором издании существенно переработан текст книги, в экспериментах используются более доступные электронные компоненты, добавлены новые проекты, в том числе с контроллером Arduino.

Чарльз Платт

Радиоэлектроника / Технические науки