Sensor Nauwkeurigheid Beoordelen: Externe vs Lichaamstemperatuur Vergelijking
Onderdelen en Benodigdheden
| DS18B20 Programmeerbare 1-Wire Digitale Thermometer | 1 |
| DHT11 Temperatuur & Vochtigheid Sensor (3 pinnen) | 1 |
| Weerstand 10kΩ | 3 |
| Draadjes (jumper wires) | 10 |
| Waterdichte DS18B20 Digitale Temperatuursensor | 1 |
| Test Meetpunt, Krokodillenklam | 3 |
| USB-A naar Mini-USB Kabel | 1 |
| Arduino UNO | 1 |
| BBC micro:bit Board | 1 |
Apps en Online Services
- Arduino IDE
- Vittascience platform voor micro:bit
Over dit Project
Verschillende sensoren meten temperatuur, allemaal met hun eigen beperkingen en nauwkeurigheid. Voor gezondheidsgerelateerde projecten is het cruciaal om de meest precieze waarden van zowel omgevings- als lichaamstemperatuur te krijgen voor een realistisch gezondheidsbeeld. Daarom vergelijk ik de precisie van de populairste temperatuursensoren en de micro:bit-temperatuursensor.
Voor dit project gebruikte ik: DS18B20, waterdichte DS18B20, AM2302, Arduino en micro:bit borden, en standaard thermometers.
Eerst verbond ik de sensoren met de Arduino (zie Schema's) – zo zien ze er uit aangesloten:
Vervolgens uploadde ik de code voor Arduino (zie Code) en gebruikte het Vittascience-platform (https://en.vittascience.com/microbit/) om code voor de micro:bit te genereren:
Resultaten: Kamer Temperatuur (10 experimenten, meest representatieve data)
De kamertemperatuurmeter toonde 21°C (meest nauwkeurig). De micro:bit toonde 27°C – ver van de werkelijkheid. Alle drie aan de Arduino aangesloten sensoren waren redelijk nauwkeurig, maar de AM2302 was het meest accuraat.
Resultaten: Lichaamstemperatuur (10 experimenten, meest representatieve data)
Referentie thermometer: 32,2°C
- micro:bit: 34°C
- Waterdichte DS18B20 (derde kolom): 32,40°C
- DS18B20 (eerste kolom): 31,50°C
- AM2302 (tweede kolom): 33°C
Conclusie: De waterdichte DS18B20 toonde de meest precieze waarden voor lichaamstemperatuur en moet gebruikt worden voor lichaamsmetingen. De AM2302 is de beste voor kamertemperatuurmetingen.
Code
- Code voor Arduino en temperatuursensoren
- Code voor micro:bit
Code voor Arduino en temperatuursensoren (C/C++)
#include
#include
#define AM2302_PIN 3
#include "cactus_io_DS18B20.h"
#include
#include
#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);
}
Code voor 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()))
Schema's
Productieproces
- Meerdere DS18B20 1-Wire Sensoren Aan Een Raspberry Pi Koppelen Voor Nauwkeurige Temperatuurmonitoring
- Een externe temperatuursensor bouwen met Raspberry Pi en Python – Stap-voor-stap handleiding
- BMP180 I2C Barometrische Druksensor – Raspberry Pi Integratiehandleiding
- Hoe een DS18B20 One-Wire Digitale Thermometer aan te Sluiten op een Raspberry Pi – Stapsgewijze Handleiding
- Een Lineaire Hall-sensor Uitlezen met Raspberry Pi: Java-handleiding & ADC0832-inzichten
- Een Multi-sensor Temperatuur- & Lichtmonitoringssysteem Bouwen met Raspberry Pi & DS18B20
- De DS18B20 Temperatuursensor Testen op Raspberry Pi
- Raspberry Pi-sensor- en actuatorbeheersing onder de knie: versnellingsmeter, servo en datastreaming
- Een geautomatiseerd aeroponisch systeem bouwen met Raspberry Pi en vochtigheidssensor
- Je vochtigheidssensor verifiëren en kalibreren voor nauwkeurige metingen
- Digitale Lichtsensor – LED Aansturen met Omgevingslicht via Windows 10 IoT Core