Бесконтактный термометр на MLX90614 и Arduino Nano: точный контроль температуры
Компоненты и материалы
- Датчик температуры MLX90614 — 1 шт.
- Arduino Nano R3 — 1 шт.
- Провода «мама-мама» — 1 комплект
- OTG-адаптер — 1 шт.
- Кабель USB Mini — USB Micro — 1 шт.
- Android-устройство — 1 шт.
Программное обеспечение
- Arduino IDE
- Приложение Serial Monitor для Android
Принцип работы
Бесконтактный термометр измеряет температуру без физического контакта, исключая риск передачи инфекций. Основой служит ИК-датчик MLX90614 с интерфейсом I2C. Arduino Nano считывает данные и передаёт их на смартфон через OTG. Питание берётся от телефона — внешний источник не нужен.
MLX90614: особенности
- Бесконтактное измерение ИК-излучения
- Интерфейс I2C
- Точность ±0,5 °C в широком диапазоне
- Питание 3,3 В
Пошаговая инструкция
Шаг 1: Установка библиотек
В Arduino IDE: Скетч → Подключить библиотеку → Менеджер библиотек. Найдите и установите Adafruit_MLX90614. Перезапустите IDE.
Шаг 2: Код скетча
#include <Wire.h>
#include <Adafruit_MLX90614.h>
Adafruit_MLX90614 mlx = Adafruit_MLX90614();
void setup() {
Serial.begin(9600);
mlx.begin();
}
void loop() {
Serial.print("Temperature: ");
Serial.print(mlx.readObjectTempC());
Serial.println(" °C");
Serial.print("Temperature: ");
Serial.print(mlx.readObjectTempF());
Serial.println(" °F");
Serial.println();
delay(500);
}
Шаг 3: Подключение
| Arduino Nano | MLX90614 |
|---|---|
| A4 (SDA) | SDA |
| A5 (SCL) | SCL |
| 3.3V | VCC |
| GND | GND |
Шаг 4: Сборка и запуск
- Соберите схему на макетной плате.
- Поместите в корпус с отверстием для датчика и разъёма USB.
- Подключите к смартфону через OTG.
- Установите приложение Serial Monitor, установите baud rate 9600.
Готово! На экране телефона будут отображаться температуры объекта и окружающей среды в °C и °F.
Полный код
// Sketch by Akshay Joseph
#include <Wire.h>
#include <Adafruit_MLX90614.h>
Adafruit_MLX90614 mlx = Adafruit_MLX90614();
void setup() {
Serial.begin(9600);
mlx.begin();
}
void loop() {
Serial.print("Temperature: ");
Serial.print(mlx.readObjectTempC());
Serial.println(" Celsius");
Serial.print("Temperature: ");
Serial.print(mlx.readObjectTempF());
Serial.println(" Fahrenheit");
Serial.println();
delay(500);
}
Схема подключения
Схема доступна в разделе «Schematics» проекта.
Производственный процесс
- Ковбойские сапоги: история, мастерство и современные тренды
- Термометр: от термоскопа Галилея к современным цифровым датчикам
- Сборка Bluetooth-робота-шпиона на Arduino с управлением с телефона
- FlickMote: жестовое IR-пульт для умного дома на Arduino 101 и ультразвуковом датчике
- DIY Arduino TV-B-Gone: универсальный пульт для выключения любого телевизора
- Универсальный Android-пульт на Arduino, 1Sheeld и ИК-управлении
- Создание пользовательских LED-часов с будильником — видно с 12 метров
- Android-управляемая робот-платформа на Raspberry Pi и Motor Shield
- Find Me: Умный поисковик вещей на Arduino и Bluetooth
- Управление Roomba Create 2 через Arduino и Android: пошаговое руководство