Бесконтактный ИК-термометр на Arduino Nano и GY-906 (MLX90614)
Компоненты и расходные материалы
| Arduino Nano R3 | ×1 |
| Сенсорная кнопка (touch button) | ×1 |
| Резисторы 5 кОм и 200 Ом | ×1 каждый |
| Лазерный модуль 5V | ×1 |
| Двухположный переключатель (dual-control switch) | ×1 |
| OLED-дисплей 0.96″ (SSD1306) | ×1 |
| Датчик температуры GY-906 (MLX90614) с конденсатором/резистором | ×1 |
| Крона 9V (несколько) | ×несколько |
| 3D-принтер + PLA пластик | ×1 |
Необходимые инструменты
- 3D-принтер
Приложения и онлайн-сервисы
- Arduino IDE
О проекте
ИК-термометр измеряет температуру поверхности объекта без контакта. Удобно и точно для удаленных измерений.
Разберу материалы, инструменты и процесс изготовления.
Список материалов
- Arduino Nano × 1
- Сенсорная кнопка × 1
- Резисторы 5 кОм, 200 Ом × 1
- 5V лазер × 1
- Двухположный переключатель × 1
- OLED 0.96″ × 1
- GY-906 (MLX90614) × 1
- Кроны 9V × несколько
- 3D-принтер + PLA × 1

Используется модуль GY-906. Дешевый, легко интегрируется, I2C с 10к pull-up. Заводская калибровка: диапазон температуры датчика −40…+125 °C, объекта −70…+380 °C. Погрешность ≈ 0.5 °C.
Электрическая схема

Собираем все компоненты.
- Сначала соберите на макетной плате. После проверки — паяйте на монтажную плату.

- Слева: лазер с резистором 200 Ом на цифровом выходе 5. Сенсорная кнопка между 5V и цифровым входом 2. Pull-down 5 кОм — чтобы вход не висел, при нажатии = 0V.
- Справа: двухположный переключатель соединяет крону 9V с VIN и GND Nano. OLED и GY-906 подключены к 3.3V, SDA → A4, SCL → A5. На обеих I2C-линиях стоят pull-up резисторы.
Программа
- Установите библиотеки: Adafruit SSD1306 и Adafruit MLX90614.
- Программа непрерывно считывает температуру с MLX90614, но отображает на OLED и включает лазер только при касании сенсорной кнопки.
- Файл скетча доступен в библиотеке файлов проекта: https://make.quwj.com/project/157
3D-печать
Модель спроектирована в Fusion 360.


- В нижней части: крона 9V, переключатель, сенсорная кнопка. Нижняя крышка вставляется на защелки. Отверстие для проводов к верхней части.



- В верхней части: окно под OLED 0.96″. Лазер и MLX90614 устанавливаются впереди вдавленными. Nano клеится сверху — прокладывайте провода аккуратно.
Печатать лучше экраном вниз. Угол OLED большой, поддерживающие структуры могут оставить следы — придумайте свой способ, если не нравится.
STL-файлы: https://make.quwj.com/project/157
Тестирование
Готово! Нажмите кнопку питания, дождитесь загрузки дисплея — термометр готов к работе.
Если интересен принцип работы ИК-термометра — почитайте про MLX90614. Спасибо за внимание!
Код
Скетч (Arduino)
// Предполагаю, что вы умеете прошивать Arduino Nano.
// Если нет — в сети куча отличных туториалов. Вы справитесь!
// Полный код скачайте по ссылке выше.
Примечание: автор не привел полный код в статье, ссылается на внешний ресурс.
Схемы
Производственный процесс
- Термометр: от термоскопа Галилея к современным цифровым датчикам
- Умный вольтметр на Arduino и смартфоне — простое DIY-проект
- Надежный ИК-датчик пульса на Arduino: пошаговое руководство
- Сборка DIY VR-скейтборда на Arduino, Google Cardboard и Bluetooth
- Бесконтактный термометрический шлюз для быстрого и точного скрининга
- Arduino UNO + WiFi Shield: реальный график температуры в вебе через Serial
- DIY Arduino Radionics EMR Treatment Device — радионическое устройство
- Умная система мониторинга температуры для школ: точно, в реальном времени, безопасно
- DIY 2D гоночный симулятор движения на Arduino Nano и сервоприводах SG90
- Ультрахолодный миниатюрный термометр: Точность 50 мК на чипе