Рекламное объявление
Выращивайте идеальный хлеб, варите красивое пиво и выращивайте счастливых цыплят с помощью регулятора температуры Arduino. Если вы живете в менее чем надежном климате, таком как Англия, направления, которые говорят вам держать что-то при заданной температуре, не особенно полезно - у нас нет кондиционеров, и поднимать термостат для всего дома непросто просто ломоть хлеба. Даже если их держать внутри, птенцы могут умереть, если температура ночью понизится; и получение их в первую очередь имеет еще более строгий температурный диапазон. Но мне нужен мой хлеб, а цыплятам нужно высиживать - поэтому вместо покупки дорогостоящего оборудования мы можем собрать компетентный регулятор температуры с Arduino и бытовыми битами.
То же самое относится и к хранению продуктов в прохладном состоянии - может быть расточительно использовать целый холодильник только для приготовления йогурта - но с регулятором температуры принцип тот же. Вместо того, чтобы активировать нагревательный элемент, вы активируете заглушку на мини-холодильнике или другом охлаждающем элементе, например
Пельтье (термоэлектрический холодильник) - и, конечно, логика будет обратной.Что тебе понадобится
Это проект Arduino - если вы никогда раньше не работали с Arduino, наш бесплатное руководство для начинающих Начало работы с Arduino: руководство для начинающихArduino - это платформа для создания прототипов электроники с открытым исходным кодом, основанная на гибком, простом в использовании аппаратном и программном обеспечении. Он предназначен для художников, дизайнеров, любителей и всех, кто заинтересован в создании интерактивных объектов или сред. Подробнее это фантастическое место для начала.
- Arduino
- Датчик температуры - я использую TMP36, дешевое устройство в одной упаковке, которое поставляется с Oomlout (Великобритания) / SparkFun (США) для начинающих.
- Реле или RC штекерные переключатели
- Винтовые клеммы
- Коробка для удержания тепла
- Нагревательный элемент или лампа накаливания и приспособление (или оба)
Последний пункт был оставлен намеренно расплывчатым. Если у вас есть лампа накаливания (та, которая нагревается, а не энергосберегающая лампа) или горячая лампа для спортивных травм и тому подобное, ее, вероятно, проще всего установить. Я использую нагревательную ленту - в основном резиновая полоса, которая нагревается при прохождении электричества, используется на бочках и кегах для начальных стадий брожения в производстве вина или пива - технически это может привести к пожару, если не наматывать что-либо, поэтому пожалуйста, не делайте этого, я использую его только для проверки. Вы также можете купить грелки для той же цели.
В целях безопасности я использую эти RC-штекеры для переключения устройств переменного тока, а контроллер разобран отдельно эта статья о домашней автоматизации Устройства управления от Arduino: начало домашней автоматизацииВ прошлый раз я показал вам несколько способов заставить ваши проекты Arduino управлять голосом через SiriProxy, OS X встроенные голосовые элементы и некоторые сценарии Automator или даже специальное оборудование для распознавания голоса чип. Я... Подробнее . Это беспроводная связь, поэтому мне не нужно прикасаться к проводам.
Зондирование температуры
Давайте начнем с подключения и тестирования датчика. [Диаграмма от Адафрута]
Датчик температуры TMP36 подключен плоской стороной к вам и ногами вниз. +, сигнал, GND в этой последовательности. + Идет на выход 3.3 В от Arduino; Вам также нужна другая линия, идущая от +3,3 В к выводу AREF - это говорит Arduino использовать 3,3 В для задания аналогового входа вместо 5 В. Подключите сигнальный контакт датчика к A1. В предыдущих попытках я использовал TMP36 непосредственно на линии 5 В; он работает, к сожалению, когда в паре с реле, при каждом срабатывании реле происходило падение мощности, что приводило к сильным колебаниям показаний.
В качестве сигнального кабеля я использовал старый сетевой кабель - его очень удобно иметь вокруг, так как внутри 8 проводов. Хотя кабель достаточно тонкий, поэтому обязательно укрепите другой конец припоем, где он будет ввинчен в клеммную колодку.
Формула в коде предполагает, что вы используете датчик tMP36; Вы должны быть в состоянии найти образец кода для других датчиков. Эта Пример кода от Адафрута - загрузите его и откройте последовательную консоль, чтобы проверить вывод.
Сравните с термометром, если это возможно. Чтения не правильно?
- Убедитесь, что подаваемое напряжение на самом деле составляет 3,3 В
- AREF тоже подключен к 3,3 В?
Добавление в Switch Logic
Для управления нагревательным элементом я использую эти розетки RC от Maplin, и разобрали контроллер. Только заземление и управляющий контакт должны быть подключены. Я изменил код, чтобы включить соответствующие библиотеки, которые вы можете скачать отсюда.
На этом этапе я также собираюсь удалить все ссылки на Farenheit и продолжу работать только с Celsius. Затем я определил желаемую температуру для поддержания и добавил в простую структуру управления следующим образом:
if (TemperatureC
Здесь нет ничего сложного, что вы не поймете - просто сравните текущее значение температуры с желаемым и включите выключатель, если он ниже; в противном случае выключите его.
Полный код может быть нашел здесьхотя вам нужно будет отрегулировать это, если вы используете реле (это не сложно). Вот полная схема подключения, которую я использовал:
Собираем все вместе
Наклейте датчик внутри коробки, которую вы используете, и поместите нагревательный элемент там, где это необходимо. Установите желаемую температуру и включите все это. Если вы пока держите свой компьютер подключенным, вы можете использовать последовательную консоль, чтобы наблюдать за изменениями, когда ваша коробка нагревается.
Дальнейшая работа
- Чтобы уменьшить влияние любых температурных колебаний, вы можете попробовать сгладить результаты. Создайте массив для хранения 10 показаний и рассчитайте среднее значение для каждого цикла.
- Чтобы избежать быстрой активации и деактивации нагревательного элемента, создайте переменную для хранения обратного отсчета. Каждый раз, когда вы активируете или деактивируете, запишите текущее время в обратном отсчете, затем, прежде чем переключать состояние, снова проверьте, прошло ли количество времени X с момента последнего изменения состояния.
- Для проекта без компьютера подключите небольшой ЖК-экран, чтобы отобразить текущую температуру и увидеть текущую и желаемую температуру.
Испытывать
Наконец, что бы этот проект был без небольшого теста? Я взбил партию готового теста в хлебопечке и разделил его на две буханки. Та закваска внутри коробки была немного больше, но тогда температура окружающего воздуха сегодня составляет около 26 градусов по Цельсию - это было бы гораздо полезнее зимой. В любом случае, мне лучше приготовить суп, чтобы сопровождать этот прекрасный хлеб.
Итак, что бы вы сделали, что требует постоянной температуры?
Джеймс имеет степень бакалавра в области искусственного интеллекта и сертифицирован CompTIA A + и Network +. Он является ведущим разработчиком MakeUseOf и проводит свое свободное время за игрой в VR-пейнтбол и настольные игры. Он строит компьютеры с детства.