Contactloze temperatuurgate voor snelle, accurate screening
Onderdelen en benodigdheden
| Onderdeel | Aantal |
|---|---|
| Arduino MKR1000 | 1 |
| DFRobot Non-contact IR-temperatuursensor (MLX90614) | 1 |
| SG90 Micro-servomotor | 1 |
| Jumperdraadjes | 1 set |
Benodigde tools
- Lijmpistool
- Solderbout
Apps en online diensten
- Arduino IDE
- Microsoft Visual Studio Code met Arduino-extensie
Over dit project
We presenteren een geautomatiseerd temperatuurscangate dat de lichaamstemperatuur van personen meet bij doorgang. Bij een temperatuur boven 99 °F (≈ 37,2 °C) sluit de poort automatisch en geef een waarschuwingsgeluid.
Beschrijving
Het systeem is ontworpen om in normale situaties open te staan. Wanneer de infraroodsensor een te hoge temperatuur detecteert, activeert de servomotor het sluitmechanisme en gaat een buzzer af. Dit is vooral relevant in tijden van COVID-19, waarbij verhoogde temperatuur een vroege waarschuwing kan zijn.
Toepassingen: bushaltes, ziekenhuizen, restaurants, luchthavens, supermarkten, winkelcentra. De kosten zijn laag vergeleken met thermische camera's.
Stuklijst (Bill of Materials)
- IR-temperatuursensor (MLX90614)
- Servomotor (SG90)
- Microcontroller (Arduino MKR1000)
- PVC-platen voor de poort
- Jumperdraadjes
- Mes / snijmes
- Lijm
De sensor is gemonteerd in het midden bovenin de poort. De microcontroller en buzzer zitten naast de poort. De servomotor regelt het openen en sluiten.
Schema
Code
#include <Wire.h>
#include <Adafruit_MLX90614.h>
#include <Servo.h>
Servo myservo;
Adafruit_MLX90614 mlx = Adafruit_MLX90614();
double temp;
int buzzerPin = 2;
void setup() {
Serial.begin(115200);
Serial.println("Adafruit MLX90614 test");
pinMode(buzzerPin, OUTPUT);
myservo.attach(5); // MKR1000 pin 5
myservo.write(0); // Poort open
mlx.begin();
}
void loop() {
digitalWrite(buzzerPin, HIGH); // Buzzer uit (active low?)
myservo.write(0); // Poort open
temp = mlx.readObjectTempF(); // Lees objecttemperatuur in Fahrenheit
if (temp > 90) { // Drempelwaarde (90°F = 32,2°C - waarschijnlijk placeholder voor 99°F)
Serial.println("HOGE TEMPERATUUR");
digitalWrite(buzzerPin, LOW); // Buzzer aan
myservo.write(95); // Poort dicht
delay(1000);
}
Serial.print(temp);
Serial.println("*F");
Serial.println();
delay(500);
}
Let op: De drempelwaarde in de code is 90°F; voor productiegebruik aanpassen naar 99°F (37,2°C).
Schema (extra)
Productieproces
- Professionele temperatuurbewaking met Raspberry Pi en DS18B20
- Accurate temperatuurbewaking in een serverkast met Raspberry Pi
- Arduino Digitale Dobbelsteen: Bouw Je Eigen LCD-willekeurige Getalgenerator
- Arduino temperatuur- en vochtigheidslogger met DHT11 en Ethernet Shield
- Een Arduino Iron Man bouwen: onderdelen, sensoren en stapsgewijze handleiding
- Find Me: Slimme Item Locator met Arduino en Bluetooth
- Bouw een Functionele, Arduino-aangedreven 3D-geprinte Robotarm – Stap-voor-Stap Handleiding
- DIY Arduino Luchtbevochtiger Controller met Relais – Veilige Hoogspanningsopstelling
- NeoPixel Matrix Pong op Arduino Nano: Bouw je eigen neon Pong-spel
- Bouw een Aangepaste Arduino Joystick Stuurwiel voor Gaming
- Slim Temperatuurmonitoring Systeem voor Scholen: Nauwkeurig, Real-time en Beveiligd