Si estás buscando la forma de ahorrar costes y quieres crear tu propia cámara térmica de forma muy económica, en este artículo conocerás todos los detalles para lograrlo. Veremos de que se trata, sus ventajas y cómo hacerlo paso a paso. ¿Preparado? ¡Vamos allá!

¿Qué es Arduino?
Arduino es una empresa que tiene como principal objetivo la fabricación de componentes de hardware, su misión ha sido siempre la creación de diversos dispositivos eléctricos para que el usuario pudiese construir uno mismo sus productos de forma sencilla y muy barata.
Este proyecto se fundó en Italia a partir de un proyecto de estudiantes, se creó con la misión de poder compartir de forma activa cada una de las creaciones entre sus miembros.
- By utilizing the MLX90640 far-infrared thermal sensor array, this module can detect the IR distribution of objects in the field of view, turn the data into...
- Adopts MLX90640 far-infrared thermal sensor array, 3224 pixels. Communicating via I2C interface, configurable to fast mode (up to 1MHz data rate).
- Noise Equivalent Temperature Difference (NETD) 0.1K RMS @1Hz refresh rate. Onboard voltage translator, compatible with 3.3V/5V operating voltage.
Se tiene constancia de que las primeras placas Arduino se comenzaron a vender a partir de la fecha de 2005, esto dio lugar a que se expandieran con microcontroladores, que amplificaron las posibilidades de los nuevos proyectos.
Gracias a su amplia expansión en el sector, otras personas han podido realizar todo tipo de proyectos electrónicos tales como robots y otros aparatos relacionados con el mundo de la electrónica.
Posibilidades de crear una camara térmica con material Arduino
Arduino cuenta con una gran cantidad de materiales de construcción y elementos de hardware necesarios para hacer posible infinidad de proyectos; entre ellos las cámaras infrarrojas. Las posibilidades de la creación de cámaras con pantalla de gran calidad es posible y nosotros vamos a mostrarte el paso a paso para lograrlo.

Las Ventajas de hacer una cámara infrarroja
Aunque muchos ya lo saben, las cámaras infrarrojas cuentan con precios bastante elevados a los que no todo el mundo puede permitirse de pagar, es completamente normal. Por ello, podríamos decir que una de sus grandes ventajas es el precio tan bajo en comparación con la compra de alguna de estas herramientas.
Si es cierto que necesitaremos de bastante tiempo para la construcción de este tipo de cámaras para un completo funcionamiento, pero para ello ya hemos resuelto esta cuestión más abajo en este artículo.
Para personas que deseen realizar de forma casera alguno de sus experimentos tales como comprobaciones de fugas en conductos, tableros eléctricos y otros trabajos no tan profesionales si es una de las mejores alternativas para fabricar este tipo de complementos.
Veamos a la perfección ahora los puntos más interesantes al crear nuestra propia cámara termografica:
- Principalmente la fabricación nos permitirá por supuesto modificar el código experimentando e indagando por múltiples funcionalidades para crear esta herramienta a nuestro gusto.
- Precio más económico y accesible que adquirir alguna de estás cámaras infrarrojas
- Diseño personalizado a nuestro gusto, que nos hará tener una herramienta de trabajo especial, única y funcional.
Cómo hacer una cámara termográfica con arduino paso a paso
Hemos seleccionado un vídeo en Youtube donde se explica paso a paso y sin detalles excesivamente complejos como podremos construir esta serie de cámaras de visión infrarroja, es recomendable verlo hasta el final y ir repasando todos los pasos para que puedas hacerlo al mismo ritmo.
También si deseas hemos encontrado una guía en inglés donde puedes ver cada uno de los pasos para hacerlo nosotros mismos, tenemos un esquema bien simplificado y las ideas más detalladas.
Componentes para su preparación
Para la correcta realización de esta cámara térmica IR junto Arduino necesitaremos de dos principales factores para que funcione:
- El software
- El hadware
Nuestra misión es realizar una conexión de la cámara IR junto con una pantalla a una placa con un código específico (que muestro a continuación), esto hará que la cámara empiece a funcionar sin errores.
Los elementos tales como la cámara, la pantalla y la placa son dispositivos que corresponden con uno de los factores más importantes; el hadware. El sotfware será el código que introducimos para su funcionamiento final.
Vamos a revisar a continuación la partes mencionadas del hadware y dónde podremos comprarlo para seguir con esta guía.
La Cámara Arduino
Si nos queremos centrar exclusivamente en la parte más imprescindible, debemos de tener en cuenta la cámara IR Arduno como principal prioridad. Podremos encontrarla a un precio muy económico en la tienda de Amazon:
- By utilizing the MLX90640 far-infrared thermal sensor array, this module can detect the IR distribution of objects in the field of view, turn the data into...
- Adopts MLX90640 far-infrared thermal sensor array, 3224 pixels. Communicating via I2C interface, configurable to fast mode (up to 1MHz data rate).
- Noise Equivalent Temperature Difference (NETD) 0.1K RMS @1Hz refresh rate. Onboard voltage translator, compatible with 3.3V/5V operating voltage.
El modelo que elegiremos para la construcción de esta cámara infrarroja será el componente MLX90640, que lo compone una cámara de 32×24 píxeles con 110º de ángulo de visión. Esta algo limitado, pero si es cierto que nos ofrecerá un valor más barato que comprar otras cámaras termográficas ya completadas.
Placa de desarrollo Arduino
Las placas son otra de los componentes indispensables para que nuestra cámara térmica comience a conseguir forma. Podemos optar por varios modelos, ya que existen una gran cantidad en el mercado que pueden servirnos para implementar con los demás elementos, pero si quieres una recomendación nosotros elegiriamos la Atmel SAMD21, que es exactamente la que se marca en la guía.
Código para la preparación del software
Una vez hayamos completado la configuración de la placa; deberemos programarla. Será necesario incluir un código, pero nosotros hemos reunido para ti el nuestro y que así puedas evitarte el trabajo de buscarlo.
Código del software siguiendo la guía:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | #include <Adafruit_GFX.h> #include <Adafruit_ST7735.h> #include <SPI.h> #include <Wire.h> #include "MLX90640_API.h" //github.com/sparkfun/SparkFun_MLX90640_Arduino_Example #include "MLX90640_I2C_Driver.h" #define TA_SHIFT 8 //Default shift for MLX90640 in open air #define RGB565(r,g,b) (((b&0xF8)<<8) | ((g&0xFC)<<3) | ((r&0xF8)>>3)) Adafruit_ST7735 tft = Adafruit_ST7735(/*TFT_CS*/ 11, /*TFT_DC*/ 10, /*TFT_MOSI*/ 13, /*TFT_SCLK*/ 12, /*TFT_RST*/ 9); const byte MLX90640_address = 0x33; static float mlx90640To[768]; paramsMLX90640 mlx90640; void setup() { Wire.begin(); Wire.setClock(400000); //Increase I2C clock speed to 400kHz Wire.beginTransmission((uint8_t)MLX90640_address); uint16_t eeMLX90640[832]; MLX90640_DumpEE(MLX90640_address, eeMLX90640); MLX90640_ExtractParameters(eeMLX90640, &mlx90640); MLX90640_SetRefreshRate(MLX90640_address, 0x02); //Set rate to 2Hz tft.initR(INITR_MINI160x80); tft.fillScreen(ST77XX_WHITE); tft.setRotation(3); tft.invertDisplay(true); } void loop() { String myT; uint16_t mlx90640Frame[834]; MLX90640_GetFrameData(MLX90640_address, mlx90640Frame); float vdd = MLX90640_GetVdd(mlx90640Frame, &mlx90640); float Ta = MLX90640_GetTa(mlx90640Frame, &mlx90640); float tr = Ta - TA_SHIFT; float emissivity = 0.95; MLX90640_CalculateTo(mlx90640Frame, &mlx90640, emissivity, tr, mlx90640To); for (int i1 = 0 ; i1 < 32 ; i1++) { for (int i2 = 0 ; i2 < 24 ; i2++) { float tT = mlx90640To[i1+i2*32]; float mycolor; //get Iron Palette mycolor = 0;//Black mycolor = (tT>=30?RGB565(0x20, 0x00, 0x8C):mycolor);//Blue mycolor = (tT>=80?RGB565(0xCC, 0x00, 0x77):mycolor);//Purple mycolor = (tT>=130?RGB565(0xFF, 0xD7, 0x00):mycolor);//Gold mycolor = (tT>=180?RGB565(0xFF, 0xFF, 0xFF):mycolor);//White tft.fillRect(1+i1*3, tft.height()-i2*3, 3,3, mycolor); if (i1+i2*32==768/2+15) {myT=String(tT,0); tft.fillRect(1+i1*3, tft.height()-i2*3, 3,3, RGB565(0x00, 0x00, 0xff));} //Center } } tft.fillRect(100,1, 60,60, ST77XX_WHITE); tft.setTextSize(2); tft.setTextColor(ST77XX_BLACK); tft.setCursor(100, 30); tft.print(myT+"C"); } |
Pantalla para la creación con Arduino
Para finalizar, lo único que deberíamos de hacer seria realizar la compra de la pantalla. En este caso también contamos con varias opciones en el mercado per nuestra recomendación seria obtener un display de 80 x 160 píxeles con lo que sería más que suficiente para poder trabajar.
Aquí te ofrecemos las mejores opciones del momento:
Al tener todos los componentes, únicamente tendríamos que soldar las partes (pd: será necesario contar también unos 10 cables para poder realizar una unión de cada uno de los componentes de la forma exacta).
Para ello, seguiremos con una estructura o esquema como el que nos muestra centralnexus.com en este gráfico que, no tiene una gran complicación y puede ahorrarte horas de trabajo, el proceso es exacto; o sea, que hay pocos elementos que unir, pero ten cuidado ya que una sola conexión incorrecta impediría el correcto funcionamiento de esta cámara IR.
