Tabla de contenido:
2025 Autor: John Day | [email protected]. Última modificación: 2025-01-13 06:57
Esta es una guía rápida sobre cómo configurar múltiples sensores de temperatura sin contacto MLX90614B a través del bus I2C con un Arduino uno y mostrar las lecturas en el monitor serial de Arduino IDE. Estoy usando las placas prefabricadas, pero si compra el sensor por sí solo, necesitará resistencias de extracción para el bus I2C y un condensador de desacoplamiento entre Vdd y Vss.
Recomiendo encarecidamente consultar la hoja de datos de Melexis porque no entraré en detalles de todas las especificaciones y tolerancias del señor.
Suministros
x1 tablero
x8 cables de puente
x6 puentes
x3 sensores de temperatura sin contacto MLX90614
x1 Arduino UNO R3
(Si tiene el MLX90614 sin la placa)
x2 (resistencias de 4,7 k ohmios)
x3 (condensadores de 0,01 uf)
Paso 1: solo cableado uno:
El diagrama anterior se basa en las recomendaciones de las hojas de datos para el sensor independiente. Si tiene el sensor con la placa precompilada, conecte SLC desde la placa al pin A5 en el Arduino, SDA al pin A4, Vin al pin 3.3V y GND al terminal GND en el Arduino.
Tendremos que cambiar la dirección del sensor si queremos usar varios sensores en el mismo bus I2C, pero solo puede reprogramar uno a la vez
Paso 2: cambiar la dirección (codificación)
Afortunadamente para todos nosotros, nuestra necesidad de codificación en este proyecto, hay bibliotecas para cada paso.
Puede encontrar la biblioteca sparkfun en "Administrar bibliotecas" en herramientas seleccionando MLX90614 en el IDE de Arduino o puede copiar la carpeta que proporcioné en el archivo zip en "Documento / Arduino / bibliotecas" en Windows.
El archivo se llama "MLX90614_Set_Address.ino" o puede encontrar el archivo "set_address" en el menú desplegable "ejemplos" en el IDE. Después de todo eso, es bastante sencillo, la dirección predeterminada / de fábrica es "0x5A" y luego, para la variable "newaddress", puede cambiarla a la dirección que desee dadas las limitaciones de la hoja de datos y asegurarse de que todas difieran entre sí.. Sube el código al Arduino, abre el monitor serial debajo de las herramientas y escribe "e" en el monitor serial y presiona enter, debería indicarte que la dirección ha cambiado y desconectar el MLX90614 de la energía.
Paso 3: Cableado de todos los sensores:
El mismo método que la última vez si tiene el sensor independiente, siga el diagrama anterior, si tiene las placas, puede encadenarlas y luego conectar la última como si fuera un solo sensor al Arduino.
Paso 4: la codificación final:
Para ejecutar realmente los sensores, tuve que modificar la biblioteca de Adafruit para ejecutar los múltiples sensores, por lo tanto, deberá instalar la biblioteca manualmente desde el archivo zip que proporcioné, es decir, mover la carpeta "Adafruit_MLX90614_Library" a su carpeta de bibliotecas Arduino como se menciona en paso 2. A continuación, abra "SiMlx.ino" y asegúrese de que las direcciones coincidan con las que ha cambiado sus sensores, luego pase esas direcciones por separado y secuencialmente a través de la plantilla "mlx. AddrSet ()" que he proporcionado. Súbelo al Adruino y debería imprimirse en el monitor de serie como se ve arriba.
Configuré solo tres, pero puede tener más copiando y pegando cada bloque de código, definiendo más direcciones y cambiando el número de sensores para el promedio, si desea un promedio activo.
Encontré que los sensores eran bastante precisos siempre que no los tuviera conectados demasiado lejos entre sí.
Buena suerte.