Mengukur suhu tubuh tanpa kontak / non-kontak seperti termometer suntik. Saya membuat proyek ini karena Thermo Gun sekarang sangat mahal, jadi saya harus mendapatkan alternatif untuk membuat DIY. Dan tujuannya adalah membuat versi hemat biaya.
Koneksi Kabel(Hardware)
MLX 90614 memiliki komunikasi I2C, jadi di Arduino Nano gunakan pin A4 & A5
Siapkan Pemrograman (Perangkat Lunak)
Untuk library MLX90614 saya menggunakan library adafruit, Anda dapat membuka Arduino IDE dan menu Tools -> Manage Libraries -> cari MLX90614. dan klik Adafruit MLX90614 Library lalu klik install di Library Manager
Uji Contoh dari Library
Untuk memastikan sensor mlx90614 dapat bekerja, buka Arduino IDE, Klik File -> Examples -> Adafruit MLX90614 Library -> mlxtest.
Unggah lalu lihat Serial Monitor, Anda dapat melihat suhu lingkungan dan suhu objek.
Siapkan Rangkaian, OTG, dan Tutup Cetak 3D
Setelah contoh kode MLX90614 bekerja, siapkan rangkaian antara arduino nano dan sensor mlx90614 seperti gambar. Untuk OTG Anda dapat membuat DIY dengan Microusb Jantan dan Miniusb Jantan.
Tutup Termometer Portabel dapat mengunduh file 3D di https://grabcad.com/library/portable-thermometer-box-1 dan cetak dengan mesin 3D Anda
Instal Aplikasi Termometer Portabel dari Playstore
Anda dapat mencari di playstore “portable Thermometer” atau Anda dapat mengklik tautan ini Portable Thermometer atau Anda dapat memindai qr-code ini
Menjalankan Termometer Portabel
Cara menjalankan Termometer portabel
Hubungkan perangkat di ponsel Anda dengan OTG.
Aktifkan Koneksi OTG di ponsel Anda
Jalankan aplikasi
Klik check now untuk memeriksa suhu tubuh
Video Proyek Termometer Portabel
Kode
Kode Arduino Termometer Portabel
Kode Arduino Termometer PortabelArduino
/* * MLX90614 Send to OTG * sekolahrobot@gmail.com */ #define LED 13 #include <Wire.h> #include <Adafruit_MLX90614.h> Adafruit_MLX90614 mlx = Adafruit_MLX90614(); unsigned long previousMillis; int interval = 50; char i; int data = 0; void setup() { Serial.begin(9600); mlx.begin(); pinMode(LED, OUTPUT); } void loop() { if (Serial.available() > 0) { i = Serial.read(); switch (i) { case '0': digitalWrite(LED, LOW); data = 0; break; case '1': digitalWrite(LED, HIGH); data = 1; break; } } if (data==1) { if (millis() - previousMillis >= interval) { previousMillis = millis(); Serial.print(mlx.readAmbientTempC()); Serial.print(";"); Serial.println(mlx.readObjectTempC()); } } }