Evaluación de Precisión de Sensores: Comparación Temperatura Externa vs Corporal
Componentes y suministros
| Termómetro Digital DS18B20 (1-Wire, Resolución Programable) | × | 1 |
| Sensor Temperatura y Humedad DHT11 (3 pines) | × | 1 |
| Resistencia 10k ohm | × | 3 |
| Cables jumper (genéricos) | × | 10 |
| Sensor DS18B20 Impermeable (Adafruit) | × | 1 |
| Conector de prueba, Pinza cocodrilo | × | 3 |
| Cable USB-A a Mini-USB | × | 1 |
| Arduino UNO | × | 1 |
| Placa BBC micro:bit | × | 1 |
Aplicaciones y servicios en línea
- Arduino IDE
- Plataforma Vittascience para micro:bit
Sobre este proyecto
Diferentes sensores dan datos de temperatura con distintas limitaciones y precisión. En proyectos de salud es crucial obtener valores precisos de temperatura externa y corporal para evaluar el estado de salud. Por eso comparé la precisión de los sensores más populares y el sensor de temperatura del micro:bit.
Utilicé sensores DS18B20, DS18B20 impermeable, AM2302, placas Arduino y micro:bit, y termómetros estándar.

Primero conecté los sensores al Arduino (ver Esquemáticos) y así se ven conectados:

Subí el código para Arduino (ver Código) y usé la plataforma Vittascience (enlace) para generar el código del micro:bit:

Resultados: Temperatura ambiente (10 experimentos, se muestra el más representativo)



El termómetro de referencia marcó 21°C (valor más preciso). El micro:bit mostró 27°C, muy alejado. Los tres sensores conectados al Arduino fueron bastante precisos, pero el AM2302 mostró la mayor exactitud.
Resultados: Temperatura corporal (10 experimentos, se muestra el más representativo)
Termómetro de referencia: 32.2°C

- micro:bit: 34°C
- Sensor DS18B20 impermeable (tercera columna): 32.40°C
- Sensor DS18B20 (primera columna): 31.50°C
- Sensor AM2302 (segunda columna): 33°C



Conclusión: El sensor DS18B20 impermeable dio los valores más precisos para temperatura corporal, mientras que el AM2302 es el mejor para temperatura ambiente.
Código
- Código para Arduino y sensores de temperatura
- Código para micro:bit
Código para Arduino y sensores de temperatura C/C++
#include <SoftwareSerial.h>
#include <cactus_io_AM2302.h>
#define AM2302_PIN 3
#include "cactus_io_DS18B20.h"
#include <OneWire.h>
#include <DallasTemperature.h>
#define ONE_WIRE_BUS 2
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
AM2302 dht(AM2302_PIN);
int DS18B20_Pin = 4;
DS18B20 ds(DS18B20_Pin);
void setup() {
Serial.begin(9600);
ds.readSensor();
dht.begin();
sensors.begin();
Serial.println("18B20 | AM2302 | DS18B20");
Serial.println("Temp (C) | Temp (C) | Temp (C)");
}
void loop() {
ds.readSensor();
sensors.requestTemperatures();
dht.readTemperature();
if (isnan(dht.humidity) || isnan(dht.temperature_C)) {
return;
}
Serial.print(sensors.getTempCByIndex(0));
Serial.print(" ");
Serial.print(dht.temperature_C);
Serial.print(" ");
Serial.println(ds.getTemperature_C());
delay(1500);
}
Código para micro:bit Python
from microbit import *
uart.init(baudrate=9600, bits=8, parity=None, stop=1, tx=pin8, rx=pin14)
while True:
if button_a.is_pressed():
uart.write(str(temperature()))
Esquemáticos

Proceso de manufactura
- Conectar múltiples sensores DS18B20 1‑Wire a Raspberry Pi para monitorización precisa de temperatura
- Construya un sensor de temperatura remoto con Raspberry Pi y Python – Guía paso a paso
- Sensor Barométrico BMP180 I2C – Guía de Integración con Raspberry Pi
- Cómo Conectar un Termómetro Digital DS18B20 One‑Wire a Raspberry Pi – Guía Paso a Paso
- Lectura de Sensor Hall Lineal con Raspberry Pi: Guía Java y Análisis del ADC0832
- Construya un Sistema de Monitorización de Temperatura y Luz Multi‑Sensor con Raspberry Pi y DS18B20
- Prueba del Sensor de Temperatura DS18B20 en Raspberry Pi
- Control de sensores y actuadores con Raspberry Pi: acelerómetro, servo y streaming de datos
- Construye un sistema aeropónico automatizado con Raspberry Pi y sensor de humedad
- Verifica y calibra tu sensor de humedad para mediciones precisas
- Sensor de Luz Digital – Enciende un LED con Luz Ambiental usando Windows 10 IoT Core