Lompat ke konten Lompat ke sidebar Lompat ke footer

Arduino Part 21. Thermometer non contact IR cocok untuk pengukuran suhu covid-19

Thermometer ini mengggunakan sensor suhu non contact infrared sehingga saat mengukur suhu tidak perlu ada kontak langsung dengan objek yang akan diukur. Sensor ini bisa digunakan untuk mengukur suhu tubuh manusia, sehingga dapat digunakan untuk mendeteksi seseorang yang suspect positif covid-19.

Type Sensor suhu infrared yang digunakan adalah GY-906 MLX90614. Kemampuan sensor ini bisa mengukur suhu mulai dari -20 OCelcius hingga 120 OCelcius.

Bentuk sensor GY-906 MLX90614 seperti pada gambar dibawah ini :


Pada sensor ini terdiri dari 4 buah pin yang fungsinya sebagai berikut :
  • Vin : Tegangan supply +3,3 Volt.
  • GND : Ground
  • SCL : Serial Clock
  • SDA : Serial Data

Sebelum kita merakit thermometernya, maka kita ujicoba sensornya. Silahkan rakit seperti pada gambar dibawah ini :

Setelah anda rakit lalu bukalah program Arduino IDE, lalu tambhkan library untuk sensor GY-906 MLX90614 klik  DISINI Setelah didownload silahkan library-nya ditambahkan ke Arduino IDE.

Jika sudah menambahkan library maka silahkan ketik sketch program seperti contoh dibawah ini:


#include <Wire.h>
#include <Adafruit_MLX90614.h>
Adafruit_MLX90614 mlx = Adafruit_MLX90614();
 
void setup() {
  Serial.begin(9600);
  Serial.println("Adafruit MLX90614 test"); 
  mlx.begin(); 
}
 
void loop() {
  Serial.print("Ambient = ");
  Serial.print(mlx.readAmbientTempC());
  Serial.print("*C\tObject = ");
  Serial.print(mlx.readObjectTempC());
  Serial.println("*C");
  Serial.print("Ambient = ");     
  Serial.print(mlx.readAmbientTempF());
  Serial.print("*F\tObject = "); 
  Serial.print(mlx.readObjectTempF());
  Serial.println("*F");
 
  Serial.println();
  delay(500);
}

Penjelasan program

mlx.readAmbientTempC() perintah ini merupakan pengambilan data suhu sekitar sensor (suhu ruang) dalam derajat celcius.

mlx.readObjectTempC() perintah ini merupakan pengambilan data suhu objek didepan sensor misalnya suhu tubuh manusia  dalam derajat celcius.

mlx.readAmbientTempF() perintah ini merupakan pengambilan data suhu sekitar sensor (suhu ruang) dalam derajat Fahrenheit.

mlx.readObjectTempF() perintah ini merupakan pengambilan data suhu objek didepan sensor misalnya suhu tubuh manusia dalam derajat Fahrenheit

Setelah selesai membuat sketch program maka silahkan disimpan lalu di verify guna memastikan penulisan program sudah benar semua. Jika sudah sukses verify maka sudah bisa diupload ke dalam board Arduino uno. Hasil program tersebut bisa dilihat pada serial monitor komputer, seperti ini:

PEMBUATAN THERMOMETER NON CONTACT

Setelah kita sukses melakukan ujicoba sensor suhu non contact GY-906 MLX90614 maka kita bisa membuat thermometer non kontak. Jadi thermometer ini bisa kita gunakan untuk mengukur suhu tubuh atau benda lain tanpa harus sensornya ditempelkan ke benda tesebut. 

Thermometer ini dapat diaplikasikan untuk mendeteksi suhu manusia. Saat suhu tubuh manusia terukur >37OC maka akan keluar bunyi alarm dan pada LCD akan tampil tulisan “ANDA DEMAM”. Dengan adanya bunyi alarm ini maka fihak berwewenang bisa melakukan langkah preventif guna memastikan orang tesebut apakah demam karena Covid-19 atau diakibatkan oleh penyakit lainnya. Setingan suhu yang bisa membangkitkan bunyi alarm bisa diatur didalam program sesuai kebutuhan.

Alat dan bahan yang diperlukan untuk ujicoba praktik membuat Thermometer non contact ini adalah sebagai berikut:

  • Arduino Uno
  • Layar LCD 2X16
  • Buzzer
  • Sensor GY-906 MLX90614
  • Projectboard
  • Kabel penghubung.
Setelah alat dan bahan tersedia maka rakitlah rangkaian seperti pada gambar:

Pada rangkaian diatas kita menggunakan LCD dan I2C. Jika anda ingin menguasai LCD maka bisa baca di  Arduino-14-Cara-Memprogram-LCD-16x2 dan jika ingin menguasai modul I2C LCD maka bisa baca di Arduino-Part-15-Running-teks-lcd-2x16 dengan modul I2C.

Pada program ini tidak semua perintah sensor GY-906 MLX90614 kita tampilkan, jadi kita hanya menggunakan perintah mlx.readObjectTempC(), jadi hanya sekedar mengukur suhu objek/benda dalam derajat Celcius. 

Setelah dirakit maka lakukan pengetikan sketch program seperti contoh dibawah ini:

// ------------------------------------
// Thermometer Non contact
// Deteksi suhu suspect Covid-19
// Sensor suhu infrared MLX90614
// Oleh : Hendry Kurniawan,S.Pd
// hubungkan pin :
// pin A4 Arduino uno ke SDA I2C LCD
// pin A5 Arduino uno ke SCL I2C LCD
// pin +5 V arduino uno ke VCC I2C LCD
// pin +3,3 V Arduino uno ke VIN MLX90614
// pin SCL Arduino uno ke SCL MLX90614
// pin SDA Arduino uno ke SDA MLX90614
// pin 3 ke BUZZER
// pin GND Arduino uno GND I2C LCD
// pin GND Arduino uno ke GND MLX90614
// PIN GND Arduino uno ke GND Buzzer
// -------------------------------------
#include <Wire.h>
#include <Adafruit_MLX90614.h>
#include <LiquidCrystal_I2C.h>   
LiquidCrystal_I2C lcd(0x27,16,2);
Adafruit_MLX90614 mlx = Adafruit_MLX90614();
int BUZZER = 3;
const byte SIMBOLDERAJAT = B11011111;
 
void setup()
{
  lcd.init();                  
  lcd.backlight();
  lcd.clear();
  mlx.begin();
  Serial.begin(9600);
  pinMode(BUZZER, OUTPUT);
}
 
void loop()
{
  //Tampilkan di serial monitor
  Serial.print("Ambient = ");
  Serial.print(mlx.readAmbientTempC());
  Serial.print("*C\tObject = ");
  Serial.print(mlx.readObjectTempC());
  Serial.println("*C");
 
  //BUZZER peringatan jika suhu >37 celcius
  if(mlx.readObjectTempC()> 37)
  {
    digitalWrite(BUZZER, HIGH);
    delay(100);
    digitalWrite(BUZZER, LOW);
    delay(100);
    lcd.setCursor(0, 0);
    lcd.print("-- ANDA DEMAM --");
    lcd.setCursor(0, 1);
    lcd.print("Suhu: ");
    lcd.setCursor(7, 1);
    lcd.print(mlx.readObjectTempC());
    lcd.setCursor(12, 1);
    lcd.write(SIMBOLDERAJAT);
    lcd.setCursor(13, 1);
    lcd.print("C");
  }
  else
  {
    digitalWrite(BUZZER, LOW);
    lcd.setCursor(0, 0);
    lcd.print("Thermometer HEN ");
    lcd.setCursor(0, 1);
    lcd.print("Suhu: ");
    lcd.setCursor(7, 1);
    lcd.print(mlx.readObjectTempC());
    lcd.setCursor(12, 1);
    lcd.write(SIMBOLDERAJAT);
    lcd.setCursor(13, 1);
    lcd.print("C");   
  }
 
  delay(500);
}

Hasil dari program diatas bisa ditonton dalam video berikut ini:

 

Demikianlah ujicoba thermometer non contact ini, jika ingin digunakan secara portable maka silahkan membuat kreasi sendiri untuk membuat box atau cashingnya misalnya menyerupai thermometergun. Anda juga harus melengkapi rangkaian ini dengan batray. 

Demikianlah pembahasan tentang Thermometer non contact ini, semoga bermanfaat.

1 komentar untuk "Arduino Part 21. Thermometer non contact IR cocok untuk pengukuran suhu covid-19"

  1. Ini buzzer nya tidak fungsi caranya gimana ya? Saya pake esp8266 mikrokontroler nya

    BalasHapus