Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Монитор температуры Bluetooth

Компоненты и расходные материалы

Arduino Nano R3
× 1
Перемычки (общие)
× 1
Резистор 10 кОм
× 1
Резистор 1 кОм
× 1
Резистор 2,21 кОм
× 1

Необходимые инструменты и машины

Паяльник (общий)
Необязательно
3D-принтер (общий)
Необязательно

Приложения и онлайн-сервисы

MIT App Inventor 2

Об этом проекте

В этом уроке я покажу вам, как настроить контроллер температуры Arduino, который отправляет значения в приложение Android через соединение Bluetooth.

Начнем с материала, который вам понадобится для создания этого проекта:

  • Arduino nano.
  • Термистор NTC, проверьте сопротивление 25 ° C, так как это потребуется в коде Arduino для правильной оценки температуры по формуле бета.
  • Резисторы номиналом 2 кОм, 1 кОм и одно сопротивление термистора.
  • Модуль Bluetooth HC 06.
  • Различные перемычки.

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

Рисунок 1 Делитель напряжения для оценки сопротивления термистора.

Эта схема позволяет Arduino определять падение напряжения после неизвестного резистора. Используя другое значение сопротивления, мы можем рассчитать значение неизвестного резистора, используя следующую часть кода (рисунок 2).

  raw =analogRead (analogPin); если (raw) {ratio =raw * Vin; Vout =(коэффициент) / 1024,0; соотношение =(Vin / Vout) -1; R2 =R1 * соотношение;  

Рисунок 2 Код Arduino для оценки сопротивления термистора.

Затем полученное сопротивление преобразуется в температуру по формуле бета (рис. 3).

ПРИМЕЧАНИЕ:бета-значение вашего термистора и Ro при 25 ° C доступны в техническом описании вашего термистора! Проверьте это перед запуском кода!

  Temp =Beta / log (R2 / (Ro * exp (-Beta / To))); Temp =Temp -273,15;  

Рисунок 3 Код Arduino для преобразования температуры.

Затем вам нужно будет настроить модуль Bluetooth. На рисунке 4 показано, как подключить модуль Bluetooth, подобный тому, который я использовал в этом проекте, к предыдущему. Делитель напряжения необходим для подключения вывода TX1 Arduino к выводу RX модуля, так как он принимает в качестве входного сигнала 3,3 В в сети.

Рисунок 4 Схема Arduino с модулем HC 06

Затем данные могут быть отправлены через модуль Bluetooth путем инициализации серийной двери и печати требуемых значений. В этом примере мне понадобилось устройство для измерения температуры в диапазоне 25–75 ° C, чтобы начать отсчет примерно 300 секунд при высокой температуре, а затем изменить напечатанное сообщение (рисунок 5).

  void setup () {Serial.begin (9600); } void loop () {if (Temp>
 =74) {for (int i =0; i <=30; i ++) {Serial.print ("Температура> =74 ° C"); задержка (10000); } Serial.print («Нагрев завершен»); задержка (10000); } else if (Temp <=26) {Serial.print ("Температура <=25 ° C"); задержка (10000); } else {Serial.print ("Температура:"); Serial.println (Temp); задержка (10000); }}  

Рисунок 5 Код Arduino для последовательной инициализации и печати значений.

Окончательный вариант устройства, собранный на макетной плате, показан на рисунке 6.

Рисунок 6 Полноценное устройство на макете.

Последний шаг - подключение модуля Bluetooth к телефону Android для визуализации данных. Простое приложение было запрограммировано с использованием MIT AppInventor 2. На рисунках 7 и 8 показаны соответственно пользовательский интерфейс и программные блоки.

Рисунок 7 Пользовательский интерфейс создан с помощью AppInventor2.

Рисунок 8 Блоки программирования AppInventor2.

Предлагаемое приложение доступно в галерее App Inventor по следующей ссылке:http://ai2.appinventor.mit.edu/#5876233188016128

В любом случае, используя простую и интуитивно понятную систему блочного программирования, разработанную приложением-изобретателем, можно создать множество других приложений для любых целей. Например, мне нужно, чтобы приложение уведомляло меня звуком, если температура опускается ниже 25 ° C, чтобы выполнить некоторые измерения и уведомить через 5 минут при 75 ° C, что мой цикл нагрева завершен.

Необязательно:заключительным шагом может быть пайка компонентов и 3D-печать коробки, чтобы детали оставались вместе. На рисунке 9 показан результат такого подхода.

Рисунок 9 Полное устройство готово к использованию.

На боковой стороне коробки сделано отверстие для питания Arduino с помощью кабеля mini-USB. Длинный красный и черный кабель был добавлен только для увеличения расстояния между термистором и остальной частью устройства (мне нужен термистор, чтобы проверять температуру растворов, поэтому я хотел, чтобы электронные компоненты были как можно дальше).>

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

Если вы обнаружите ошибки или просто хотите что-то спросить, дайте мне знать.

РЕДАКТИРОВАТЬ:Я обнаружил ошибку в схемах проводки для делителя напряжения, необходимого для модуля Bluetooth. Это было решено.

EDIT2:если у вас возникли проблемы с загрузкой кода на плату, попробуйте отключить модуль bluetooth.

Код

  • Монитор температуры с модулем Bluetooth
Монитор температуры с модулем bluetooth Arduino
Чтобы рассчитать сопротивление термистора NTC, к нему последовательно подают 5 В с известным резистором примерно такой же величины (в этом примере 10 кОм). Через аналоговый вывод A0 рассчитывается напряжение делителя напряжения, состоящего из последовательного сопротивления, и, используя известное значение одного сопротивления, рассчитывается сопротивление NTC. Затем это значение преобразуется в температуру с помощью бета-уравнения (измените бета-версию на ту, которую вы используете) и отправляет в приложение Android с помощью модуля Bluetooth.
Код можно изменить, чтобы контролировать определенный диапазон температур, в этом примере мне нужно было контролировать от 25 до 75 ° C и ждать 5 минут при более высокой температуре.
 // Монитор температуры с модулем bluetooth int analogPin =0; int raw =0; int Vin =5; float Vout =0; float R1 =10000; // переход на вашу систему float Ro =10000; // переход на вашу систему float R2 =0; float ratio =0; float Temp =0; float Beta =3694; // переход на вашу систему float To =298.15; // термистор переключается с 10k на 25 ° C. Выберите эталонное сопротивление accondinglyvoid setup () {Serial.begin (9600);} void loop () {raw =analogRead (analogPin); if (raw) {ratio =raw * Vin; Vout =(коэффициент) / 1024,0; соотношение =(Vin / Vout) -1; R2 =R1 * соотношение; Темп =Бета / лог (R2 / (Ro * exp (-Beta / To))); Temp =Temp -273,15; if (Temp>
 =74) {for (int i =0; i <=30; i ++) {Serial.print ("Температура> =74 ° C"); // переход на вашу системную задержку (10000); } Serial.print («Нагрев завершен»); задержка (10000); } else if (Temp <=26) {Serial.print ("Температура <=25 ° C"); // переход на вашу системную задержку (10000); } else {Serial.print ("Температура:"); // переход на вашу систему Serial.println (Temp); задержка (10000); }}} 

Схема

Сопротивление R2 следует изменить в соответствии с сопротивлением термистора, который вы собираетесь использовать. Погрешность показаний температуры увеличивается с увеличением смещения (Runknow - R2).

Производственный процесс

  1. Сетевой монитор температуры и влажности Raspberry Pi
  2. Монитор температуры ThingSpeak с Raspberry Pi
  3. Следите за температурой в доме с помощью Raspberry Pi
  4. Сигнал тревоги для растений, предупреждающий о жажде
  5. Итальянские часы со словами
  6. Счетчик кВтч Sigfox
  7. Блокировка, управляемая жестами
  8. Компаньон IC
  9. Изолированный аналоговый вход для Arduino
  10. Измерьте время реакции