Рекламное объявление

Выращивайте идеальный хлеб, варите красивое пиво и выращивайте счастливых цыплят с помощью регулятора температуры Arduino. Если вы живете в менее чем надежном климате, таком как Англия, направления, которые говорят вам держать что-то при заданной температуре, не особенно полезно - у нас нет кондиционеров, и поднимать термостат для всего дома непросто просто ломоть хлеба. Даже если их держать внутри, птенцы могут умереть, если температура ночью понизится; и получение их в первую очередь имеет еще более строгий температурный диапазон. Но мне нужен мой хлеб, а цыплятам нужно высиживать - поэтому вместо покупки дорогостоящего оборудования мы можем собрать компетентный регулятор температуры с Arduino и бытовыми битами.

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

instagram viewer
Пельтье (термоэлектрический холодильник) - и, конечно, логика будет обратной.

Что тебе понадобится

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

  • Arduino
  • Датчик температуры - я использую TMP36, дешевое устройство в одной упаковке, которое поставляется с Oomlout (Великобритания) / SparkFun (США) для начинающих.
  • Реле или RC штекерные переключатели
  • Винтовые клеммы
  • Коробка для удержания тепла
  • Нагревательный элемент или лампа накаливания и приспособление (или оба)

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

В целях безопасности я использую эти RC-штекеры для переключения устройств переменного тока, а контроллер разобран отдельно эта статья о домашней автоматизации Устройства управления от Arduino: начало домашней автоматизацииВ прошлый раз я показал вам несколько способов заставить ваши проекты Arduino управлять голосом через SiriProxy, OS X встроенные голосовые элементы и некоторые сценарии Automator или даже специальное оборудование для распознавания голоса чип. Я... Подробнее . Это беспроводная связь, поэтому мне не нужно прикасаться к проводам.

Зондирование температуры

Давайте начнем с подключения и тестирования датчика. [Диаграмма от Адафрута]

Adafruit-tmp36

Датчик температуры TMP36 подключен плоской стороной к вам и ногами вниз. +, сигнал, GND в этой последовательности. + Идет на выход 3.3 В от Arduino; Вам также нужна другая линия, идущая от +3,3 В к выводу AREF - это говорит Arduino использовать 3,3 В для задания аналогового входа вместо 5 В. Подключите сигнальный контакт датчика к A1. В предыдущих попытках я использовал TMP36 непосредственно на линии 5 В; он работает, к сожалению, когда в паре с реле, при каждом срабатывании реле происходило падение мощности, что приводило к сильным колебаниям показаний.

В качестве сигнального кабеля я использовал старый сетевой кабель - его очень удобно иметь вокруг, так как внутри 8 проводов. Хотя кабель достаточно тонкий, поэтому обязательно укрепите другой конец припоем, где он будет ввинчен в клеммную колодку.

tmp36-сенсор-кабели

Формула в коде предполагает, что вы используете датчик tMP36; Вы должны быть в состоянии найти образец кода для других датчиков. Эта Пример кода от Адафрута - загрузите его и откройте последовательную консоль, чтобы проверить вывод.

tmp36-тестирование

Сравните с термометром, если это возможно. Чтения не правильно?

  • Убедитесь, что подаваемое напряжение на самом деле составляет 3,3 В
  • AREF тоже подключен к 3,3 В?

Добавление в Switch Logic

Для управления нагревательным элементом я использую эти розетки RC от Maplin, и разобрали контроллер. Только заземление и управляющий контакт должны быть подключены. Я изменил код, чтобы включить соответствующие библиотеки, которые вы можете скачать отсюда.

радиоуправляемые выключатели

На этом этапе я также собираюсь удалить все ссылки на Farenheit и продолжу работать только с Celsius. Затем я определил желаемую температуру для поддержания и добавил в простую структуру управления следующим образом:

if (TemperatureC 

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

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

проводка

Собираем все вместе

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

температуры контроллера коробки

Дальнейшая работа

  • Чтобы уменьшить влияние любых температурных колебаний, вы можете попробовать сгладить результаты. Создайте массив для хранения 10 показаний и рассчитайте среднее значение для каждого цикла.
  • Чтобы избежать быстрой активации и деактивации нагревательного элемента, создайте переменную для хранения обратного отсчета. Каждый раз, когда вы активируете или деактивируете, запишите текущее время в обратном отсчете, затем, прежде чем переключать состояние, снова проверьте, прошло ли количество времени X с момента последнего изменения состояния.
  • Для проекта без компьютера подключите небольшой ЖК-экран, чтобы отобразить текущую температуру и увидеть текущую и желаемую температуру.

Испытывать

Наконец, что бы этот проект был без небольшого теста? Я взбил партию готового теста в хлебопечке и разделил его на две буханки. Та закваска внутри коробки была немного больше, но тогда температура окружающего воздуха сегодня составляет около 26 градусов по Цельсию - это было бы гораздо полезнее зимой. В любом случае, мне лучше приготовить суп, чтобы сопровождать этот прекрасный хлеб.

хлеб-тест

Итак, что бы вы сделали, что требует постоянной температуры?

Джеймс имеет степень бакалавра в области искусственного интеллекта и сертифицирован CompTIA A + и Network +. Он является ведущим разработчиком MakeUseOf и проводит свое свободное время за игрой в VR-пейнтбол и настольные игры. Он строит компьютеры с детства.