Беспроводной ИК-термометр на Arduino Nano с Bluetooth и MLX90614
Компоненты и материалы
| Компонент | Кол-во | Примечание |
|---|---|---|
| Arduino Nano R3 | 1 | Основной контроллер |
| Bluetooth-модуль HC-06 | 1 | До 9 м дальности |
| MLX90614 (модуль бесконтактного измерения температуры) | 1 | I2C, диапазон −70…+382 °C |
| Крона 9 В + клеммник | 1 | Питание |
| Рокерный выключатель | 1 | Вкл/выкл |
| Универсальная печатная плата + распаянные разъемы | 1 | Для компактной сборки |
| Провода, термоклей, пайка | — | Расходники |
Инструменты
- Паяльница, бесоловой припой
Приложения
- Arduino IDE
- Android-приложение Wireless IR Temperature Scanner plus ULTRA (Google Play:
com.irscanner.panda)
О проекте
Устройство для бесконтактного измерения температуры с передачей данных на смартфон по Bluetooth. Позволяет оператору держать дистанцию (до 9 м) — актуально для скрининга при входе в помещения.
Схема подключения (проводка)
MLX90614 → Arduino Nano (I2C)
- Vin → 3.3 В
- GND → GND
- SCL → A5
- SDA → A4
HC-06 → Arduino Nano (UART)
- RXD → D0 (TX)
- TXD → D1 (RX)
- VCC → 5 В
- GND → GND
Важно: Перед загрузкой скетча отключите TX/RX Bluetooth-модуля, иначе прошивка не зальется.
Настройка датчика
- В Arduino IDE: Инструменты → Управление библиотеками → ищем Adafruit MLX90614 Library → Установить.
- Открываем пример: Файл → Примеры → Adafruit MLX90614 → mlxtest.
- Загружаем, открываем Serial Monitor (9600 baud) — видим окружающую и объектовую температуру в °C/°F.
Спецификации MLX90614
- Питание: 3.6–5 В (есть 3.3 В и 5 В версии)
- Ток: 1.5 мА
- Объект: −70…+382 °C
- Окружение: −40…+125 °C
- Точность: 0.02 °C
- Угол зрения: 80°
- Дистанция: 2–5 см
Сборка на печатной плате
Автор использовал женские панельки для модулей (чтобы можно было заменить). Перед питанием — прозвоните мультиметром все цепи. Корпус — 3D-печатный или подручный.
Прошивка (минимальный рабочий код)
#include <Wire.h>
#include <Adafruit_MLX90614.h>
Adafruit_MLX90614 mlx = Adafruit_MLX90614();
void setup() {
Serial.begin(9600);
Serial.println("MLX90614 test");
mlx.begin();
}
void loop() {
Serial.print(mlx.readAmbientTempC()); // окружающая
Serial.print("|");
Serial.print(mlx.readObjectTempC()); // объект
Serial.print("|");
delay(1000);
}
Формат вывода: 23.45|36.78| — парсится Android-приложением.
Настройка приложения
- Установите приложение из Play Market.
- Включите Bluetooth на телефоне, сопрягитесь с HC-06 (PIN: 1234 или 0000).
- В приложении выберите устройство → Connect.
- На экране появятся: Ambient (окружение) и Object (объект).
Интерпретация температуры тела
- 🟢 Норма: 34.8 – 37.3 °C
- 🟡 Повышена: 37.4 – 38.0 °C
- 🔴 Жар: 38.1 – 42.9 °C
Планы развития
- Интеграция с электронным замком: дверь не откроется при высокой температуре.
- Добавление распознавания лиц для контакт-трейсинга.
- Смена имени/пароля HC-06 через AT-команды (код на GitHub автора).
Производственный процесс
- Термоэлектричество: понимание термопар и эффекта Зеебека
- Термопары: использование эффекта Зеебека для точного измерения температуры
- Температурный коэффициент сопротивления: как температура меняет проводимость
- КТ-сканеры (КТ): эволюция, дизайн и будущее 3D медицинской визуализации
- Температурно-управляемый вентилятор: DIY релейная система охлаждения мебели для медиа
- Профессиональный мониторинг температуры на Raspberry Pi с датчиком DS18B20
- Точный мониторинг температуры в серверной на Raspberry Pi
- Создайте домашний монитор температуры на Raspberry Pi с MCP9808, InfluxDB и Grafana
- AuGe12 (Au88Ge12): Премиальный золотистый мягкий паяльный сплав на основе золота
- Рений: Ультра-высокоплотный металл для нитей накала и жаропрочных применений