Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
Это краткое руководство о том, как настроить несколько бесконтактных датчиков температуры MLX90614B через шину I2C с Arduino uno и отображать показания на последовательном мониторе Arduino IDE. Я использую готовые платы, но если вы покупаете датчик отдельно, вам потребуются подтягивающие резисторы для шины I2C и развязывающий конденсатор между Vdd и Vss.
Я настоятельно рекомендую ознакомиться с таблицей данных Melexis, потому что я не буду вдаваться в подробности всех спецификаций и допусков сеньора.
Запасы
x1 Макетная плата
x8 перемычек
x6 Джемперы
x3 MLX90614 бесконтактные датчики температуры
x1 Arduino UNO R3
(Если у вас MLX90614 без платы)
x2 (резисторы 4,7 кОм)
x3 (конденсаторы 0,01 мкФ)
Шаг 1: Подключение только одного:
Диаграмма выше основана на рекомендациях таблиц данных для автономного датчика. Если у вас есть датчик с предварительно созданной платой, вы подключаете SLC от платы к контакту A5 на Arduino, SDA к контакту A4, Vin к контакту 3,3 В и GND к контакту GND на Arduino.
Нам нужно будет изменить адрес отправителя, если мы хотим использовать несколько датчиков на одной шине I2C, но вы можете перепрограммировать только один за раз
Шаг 2: изменение адреса (кодирование)
К счастью для нас, все, что нам нужно для кодирования, в этом проекте есть библиотеки для каждого шага.
Вы можете найти библиотеку sparkfun в разделе «Управление библиотеками» в разделе инструментов, найдя MLX90614 в среде Arduino IDE, или скопировать папку, которую я предоставил в zip-файле, в «Документ / Arduino / библиотеки» в Windows.
Файл называется «MLX90614_Set_Address.ino», или вы можете найти файл «set_address» в раскрывающемся списке «Примеры» в среде IDE. В конце концов, это довольно просто, по умолчанию / заводской адрес - "0x5A", а затем для переменной "newaddress" вы можете изменить его на любой адрес, который вы хотите, с учетом ограничений таблицы и просто убедитесь, что все они отличаются друг от друга.. Загрузите код в Arduino, откройте монитор последовательного порта в инструментах, введите «e» в монитор последовательного порта и нажмите Enter, он должен подсказать вам, что адрес изменился, и отключить MLX90614 от питания.
Шаг 3: Подключение всех датчиков:
Тот же метод, что и в прошлый раз, если у вас есть автономный датчик, следуйте диаграмме выше, если у вас есть платы, вы можете связать их вместе, а затем подключить последний, как если бы это был один датчик к Arduino.
Шаг 4: Окончательное кодирование:
Для фактического запуска датчиков мне пришлось изменить библиотеку из Adafruit для запуска нескольких датчиков, поэтому вам нужно будет установить библиотеку вручную из предоставленного мною zip-файла, то есть переместить папку «Adafruit_MLX90614_Library» в папку с библиотеками Arduino, как указано в Шаг 2. Затем откройте «SiMlx.ino» и убедитесь, что адреса совпадают с теми, на которые вы изменили свои датчики, затем передайте эти адреса по отдельности и последовательно через предоставленный мной шаблон «mlx. AddrSet ()». Загрузите его в Adruino, и он должен распечатать на последовательном мониторе, как показано выше.
Я установил только три, но вы можете получить больше, скопировав и вставив каждый блок кода, определив больше адресов и изменив количество датчиков для среднего, если вы хотите активировать среднее.
Я обнаружил, что датчики достаточно точны, если я не проложил их далеко друг от друга.
Удачи.