Sistema RFID con Control de Temperatura Sin Contacto para Acceso Seguro de Empleados
Componentes y materiales
| Arduino MKR1000 | × | 1 |
| Lector RFID RC522 | × | 1 |
| Pantalla OLED 0.96" 128×32 | × | 1 |
| Sensor IR MLX90614 | × | 1 |
Aplicaciones y servicios online
- Arduino IDE
- Fritzing
Sobre el proyecto
Cuando los empleados acceden a la empresa con etiquetas RFID, se mide su temperatura corporal sin contacto. Si hay fiebre (síntoma de COVID-19), se bloquea el acceso. Todos los datos (identificación por UID RFID, hora de llegada, temperatura) se envían a la web de la empresa para monitorización.
Paso 1. Instalación de software
Usamos Arduino MKR1000 WiFi. En Arduino IDE, añade soporte para Arduino SAMD (32-bit ARM Cortex-M0+) en Gestor de tarjetas (Herramientas > Placa > Gestor de tarjetas). Busca "Arduino SAMD" e instala.
Conecta el MKR1000 por USB; el driver se instala automáticamente.
Paso 2. Sensor IR MLX90614
El MLX90614 mide temperatura sin contacto (-70 a 380 °C, precisión ±0.5 °C). Usa protocolo I2C.
Librería: Adafruit_MLX90614.h (Gestor de librerías). Sketch de prueba (mlx90614_01.ino):
#include <Wire.h>
#include <Adafruit_MLX90614.h>
Adafruit_MLX90614 mlx = Adafruit_MLX90614();
void setup() {
Serial.begin(9600);
Serial.println("start");
mlx.begin();
}
void loop() {
Serial.print("Ambient = "); Serial.print(mlx.readAmbientTempC()); Serial.print("*C");
Serial.print("\tObject = "); Serial.print(mlx.readObjectTempC()); Serial.print("*C");
Serial.print("\tObject = "); Serial.print(mlx.readObjectTempF()); Serial.println("*F");
delay(3000);
}
El monitor serie muestra temperatura ambiente y de objeto cada 3 segundos.
Paso 3. Pantalla OLED
OLED 128×32 monocromo (chip SSD1306) por I2C.
Librería: Adafruit_SSD1306.h. Sketch (mlx90614_02.ino) muestra temperatura cada 3 seg.
Paso 4. Lector RFID RC522
Módulo RFID-RC522 (chip MFRC522, 13.56 MHz). Conexión por SPI al MKR1000.
Sketch (mlx90614_03.ino): detecta UID, mide temperatura, muestra "OPEN"/"CLOSE" en pantalla y serie.
Paso 5. Conexión WiFi del MKR1000
Librería WiFi101.h (Gestor de librerías). Sube ejemplo connectWithWPA.ino con tus credenciales WiFi:
#define SECRET_SSID "mi_red"
#define SECRET_PASS "********"
Monitoriza la conexión en el monitor serie.
Paso 6. Base de datos en servidor web
En hosting (MySQL) crea dos tablas:
- users: datos empleados y su UID
- temp: registros diarios de temperatura en entrada
Script get_uid.php: verifica UID en BD, devuelve #no o #yes;nombre.
<?php
$location="localhost"; $user="****"; $pass="****"; $db_name="****";
if(! $db=mysqli_connect($location,$user,$pass,$db_name)) {echo "connect error";}
else {;}
$query0=" SELECT * FROM users WHERE uid='".$_GET['uid']."' ";
$rez0=mysqli_query($db,$query0);
if(mysqli_num_rows($rez0)>0) {
$row0=mysqli_fetch_assoc($rez0);
echo "#yes;".$row0['name'];
} else { echo "#no"; }
?>
Script get_temp.php: guarda temperatura en BD.
<?php
$location="localhost"; $user="****"; $pass="****"; $db_name="****";
if(! $db=mysqli_connect($location,$user,$pass,$db_name)) {echo "connect error";}
else {;}
$query0=" SELECT * FROM users WHERE uid='".$_GET['uid']."' ";
$rez0=mysqli_query($db,$query0);
if(mysqli_num_rows($rez0)>0) {
$row0=mysqli_fetch_assoc($rez0);
$query1=" INSERT INTO temp SET id_user='".$row0['id']."', temp='".$_GET['temp']."', day='".date('Y-m-d H:i:s')."' ";
mysqli_query($db,$query1);
echo "#yes";
} else { echo "#no"; }
?>
Paso 7. Envío de datos del MKR1000 al servidor
Dos funciones: send_uid_to_server() y send_temp_to_server() (HTTP GET al servidor).
Paso 8. Relé para habilitar/deshabilitar acceso
El relé abre/cierra la entrada según temperatura (<37.5 °C = OPEN, ≥37.5 °C = CLOSE).
Paso 9. Página web para visualización remota
Script view_temp.php muestra tabla con registros del día, resaltando en rojo temperaturas >37.5 °C.
Código
Incluye: sketch principal completo (Arduino), sketches de pasos intermedios (sensor temp, OLED, RFID), scripts PHP (get_uid.php, get_temp.php, view_temp.php).
Esquemáticos
Archivos Fritzing: 24_pAT1JQdrD1.fzz, 05_ZnJZPiMYsB.fzz, 08_RyXONO1VtK.fzz, 12_jyWaOQUelW.fzz.
Proceso de manufactura
- Soluciones de control de temperatura para obras de construcción: Guía completa de alquiler
- Pastillas Anticonceptivas: Historia, Beneficios, Riesgos y Producción
- Sistema de control de acceso integrado con QR, RFID y verificación de temperatura
- Ventilador controlado por temperatura: sistema DIY con relé para refrigeración de muebles multimedia
- Monitorización profesional de temperatura con Raspberry Pi y DS18B20
- Monitorización precisa de temperatura en armario de servidores con Raspberry Pi
- Sistema de control de temperatura basado en LM35 con microcontrolador AT89S52
- Monitor de temperatura casero con Raspberry Pi, MCP9808, InfluxDB y Grafana
- Sistema Automatizado de Llenado y Monitorización de Piscina
- Errores Comunes de Refrigeración en Paneles de Control Industrial: Evitar Sobrecalentamiento y Fallos
- Control maestro de temperatura en fundición a presión para calidad óptima