Anda di halaman 1dari 14

Membuat Non-Kontak Infrared Thermometer dengan IR Sensor Suhu

Arduino

IR
Thermometer menggunakan Arduino dan Suhu Sensor Inframerah

Ketika debugging sirkuit elektronik atau pengujian desain hardware baru, sering kali saya cenderung
untuk memeriksa apakah komponen di papan semakin panas normal dengan menyentuh mereka. Dan
jika ada sesuatu yang kacau (yang biasanya di percobaan pertama) komponen ini bisa mendapatkan
panas seperti 80 ° C atau lebih terbakar tidak hanya komponen tetapi juga jari saya bersama dengan itu.
Setelah membakar jari saya untuk kali lebih dari saya bisa ingat saya memutuskan untuk membangun
Suhu saya sendiri Gun menggunakan Arduino dan Suhu Sensor Inframerah. gun Thermal ini akan
dibangun menggunakan sensor suhu non-kontak yang disebut MLX90614; karena itu tidak hanya dapat
digunakan untuk mengukur suhu komponen tetapi juga dapat digunakan untuk mengukur suhu tubuh,
suhu permukaan, ventilasi panas dan banyak lagi. Tentu saja, ini senjata termal sudah tersedia di pasar
dari produsen terkenal seperti Fluke, Flir dll Tapi mereka tidak cahaya pada kantong Anda dan di atas itu
apa yang lebih menyenangkan daripada membangun gadget Anda sendiri. Jadi mari kita mulai ...
bahan Diperlukan

 Arduino Pro Mini

 MLX90614 Infrared Sensor Suhu

 Tampilan OLED - SSD1306

 Laser Diode

 Baterai 9V

 Tekan tombol

 baterai Klip

 menghubungkan kabel

MLX90614 Infrared Thermometer

Sebelum kita melanjutkan dengan tutorial itu penting untuk mengetahui karya bagaimana MLX90614
sensor. Ada banyak sensor suhu yang tersedia di pasar dan kami telah menggunakanDHT11
SensordanLM35secara luas untuk banyak aplikasi mana kelembaban atmosfer atau suhu harus diukur.
Anda dapat menemukan beberapa Termometer DIY di bawah ini:

Tapi di sini, untuk senjata termal kita membutuhkan sensor yang bisa merasakan suhu objek tertentu
(tidak ambient) tanpa langsung mendapatkan kontak dengan objek. Untuk tujuan ini kita memiliki
kontak kurang sensor suhu yang memanfaatkan Laser atau IR untuk menghitung suhu suatu benda. The
MLX90614 adalah salah satu sensor seperti yang menggunakan energi IR untuk mendeteksi suhu suatu
benda. Untuk mempelajari lebih lanjut tentangsirkuit inframerah dan IR sensor, Ikuti link.
MLX90614sensor diproduksi oleh sistem Melexis Microelectronics Terpadu, ia memiliki dua perangkat
tertanam di dalamnya, salah satu adalah detektor thermopile inframerah (unit penginderaan) dan yang
lainnya adalah perangkat pengkondisian sinyal DSP (unit komputasi). Ia bekerja berdasarkan hukum
Stefan-Boltzmann yang menyatakan bahwa semua benda memancarkan energi IR dan intensitas energi
ini akan berbanding lurus dengan suhu objek. Unit penginderaan dalam tindakan-tindakan sensor
berapa banyak energi IR yang dipancarkan oleh objek yang ditargetkan dan unit bertobat komputasi
menjadi nilai suhu menggunakan 17-bit built-in ADC dan output data melalui protokol komunikasi I2C.
Sensor mengukur baik suhu objek dan suhu ambien untuk mengkalibrasi nilai suhu objek. Fitur dari
MLX90614 sensor diberikan di bawah ini, untuk lebih jelasnya merujukMLX90614 Datasheet.

MLX90614 Fitur:

 Tegangan operasi: 3.6V ke 5V

 Obyek Suhu Range: -70 ° C untuk 382,2 ° C

 Suhu Ambient Range: -40 ° C sampai 125 ° C

 Resolusi / Akurasi: 0,02 ° C

Apa yang harus menjadi jarak antara Sensor dan Objek?

Satu pertanyaan yang tidak langsung dijawab oleh datasheet adalah pengukuran jarak antara sensor dan
objek. Nilai jarak ini diberikan dengan istilah Field of View (FOV), untuk sensor kami bidang pandang
sekitar 80 °.
Anda dapat menganggap kisaran penginderaan berada dalam bentuk kerucut dari sudut sensor sebagai
acara di atas. Jadi, seperti yang kita pergi jauh dari objek pengukuran penginderaan daerah meningkat
dua kali lipat. Artinya untuk setiap 1cm kita bergerak menjauh dari objek daerah penginderaan tumbuh
oleh 2cm. Dalam gun termal kami, kami telah menempatkandioda laserdi atas sensoruntuk mengetahui
di mana daerah penginderaan sensor saat ini menunjuk. Saya menemukan bahwa nilai-nilai yang dapat
diandalkan jika pistol menunjuk pada 2 cm jauh dari objek dan akurasi turun seperti yang kita menjauh.

Diagram sirkuit

Diagram sirkuit untuk Infrared Thermometer cukup sederhana. Rangkaian lengkap ditunjukkan di
bawah, itu dibuat menggunakan software Fritzing.
Karena Software Fritzing tidak mendukung bagian untuk MLX90614 sensor kita telah menggunakan
catatan menyebutkan koneksi sebagai ditunjukkan di atas, juga kita telah menggunakan warna merah
LED di tempat dioda laser. Seluruh rangkaian ini didukung oleh baterai 9V melalui tombol push. Ketika
push button ditekan baterai 9V terhubung ke pin RAW dari Arduino yang kemudian diatur untuk 5V
menggunakan on-board regulator tegangan. 5V ini kemudian digunakan untuk listrik modul OLED,
Sensor dan dioda Laser.
Kita telah belajar bagaimanaantarmuka SSD1306 OLED dengan Arduinoperangkat keras dan kode yang
sama akan digunakan di sini. Anda juga dapat merancang terpisahLaser sirkuit driver diodajika Anda
memerlukan sinar laser untuk menjadi lebih kuat.

Merancang Casing untuk Suhu Gun

Untuk membuat proyek lebih menarik dan praktis digunakan kita memiliki 3D model dan dicetak casing
luar untuk senjata termal kami. Desain melibatkan dua bagian, satu adalah bagian atas yang bertindak
sebagai badan perumahan pistol Arduino controller,OLED, Sensor dan Laser dioda. Yang lainnya adalah
bagian bawah yang bertindak sebagai pegangan perumahan pistol baterai dan menekan tombol. Tombol
push di sini bertindak sebagai pemicu. model terlihat seperti ini di bawah ini.
Desain File yang tersedia untuk di-download dari thingiverse; Anda dapat men-download desain dan
mencetak satu menggunakan printer 3D atau juga memodifikasinya sesuai dengan kebutuhan Anda. Link
download diberikan di bawah ini

Thermal Gun Model 3D

Setelah men-download file yang Anda dapat direclty awal 3D mencetak desainatau dapat melakukan
beberapa tweak sesuai dengan kebutuhan Anda.

3D mencetak Lampiran ini:

Model ini kemudian disimpan sebagai file yang STL dan diubah menjadi G-kode menggunakan Cura. Dulu
saya tarantula printer TEVO untuk mencetak kedua bagian saya dan kemudian kacau mereka bersama-
sama. Hal ini juga memungkinkan untuk mencetak kedua bagian sebagai sepotong jika Anda printer
mendukung itu. Mengiris setting untuk saya cetak ditampilkan di bawah
Butuh waktu hampir 6 jam untuk mencetak kedua bagian, setelah koneksi hardware dicetak dibuat
kawat -directly solder saya langsung ke pin Arduino menggunakan 7-pin dan 4-pin konektor Relimate
(RMC) untuk sensor dan layar OLED masing-masing. OLED itu kemudian dipasang di bagian dicetak
menggunakan sekrup sedangkan sensor dan dioda Laser dipasang menggunakan lem panas. Kekuasaan
pin (Raw, Gnd) kemudian meluncur turun melalui kawat untuk bagian pegangan yang terdiri dari tombol
push dan baterai. kabel ini kemudian dihubungkan ke baterai meskipun tombol push. Sekali perakitan
dilakukan pistol termal tampak seperti di bawah ini
Anda dapat melanjutkan dengan merancang penutup untuk bagian atas, tapi aku memutuskan untuk
membiarkannya terbuka sehingga saya dapat men-tweak nanti di masa depan jika diperlukan.

Pemrograman untuk Arduino gun Suhu

Program untuk Arduino harus membaca nilai suhu dari MLX90614 dan menampilkannya pada layar
OLED. Beruntung bagi kami program ini akan sangat sederhana karena Adafruit telah memberikan kita
Library data dengan mudah dibaca dari MLX90614. Perpustakaan ini dapat didownload dari link di
bawah

Arduino MLX90614 Perpustakaan

link akan men-download perpustakaan sebagai folder ZIP. Setelah download menambahkannya ke
Arduino IDE berikut perintah Sketch -> Sertakan Perpustakaan -> Add ZIP Perpustakaan dan browse
untuk lokasi file ZIP ini. Juga pastikan Anda telah mengikutiOLED interfacing dengan Arduino
tutorialsehingga Anda telah menginstal perpustakaan yang diperlukan untuk modul layar OLED juga.
Setelah perpustakaan ditambahkan kita bisa mulai program kami, program lengkap untuk proyek ini
dapat ditemukan di bagian bawah halaman ini. Berikut program yang sama akan dijelaskan dalam
potongan kecil.

Seperti biasa kita mulai program dengan menambahkan file library yang diperlukan. Berikut
perpustakaan Kawat (built-in) digunakan untuk berkomunikasi menggunakan protokol I2C dan
perpustakaan SparkFunML90614 digunakan untuk untuk berkomunikasi dengan sensor. SPI itu, GFX dan
SSD1306 perpustakaan digunakan untuk berkomunikasi dengan protokol SPI 4-kawat untuk modul
display OLED.

# include <Wire.h>

# include <SparkFunMLX90614.h>

# include <spi.h>

# include <Adafruit_GFX.h>

# include <Adafruit_SSD1306.h>

Kami kemudian menentukan pin dari layar OLED yang telah kita buat sambungan. Karena karya modul
dengan SPI kita telah menggunakan pin SPI dari Arduino. Ada OLED display yang bekerja dengan
protokol I2C juga, tapi kita tidak bisa menggunakannya di sini karena pin I2C sudah diduduki oleh sensor
termometer.

#define OLED_MOSI 9

#define OLED_CLK 10

#define OLED_DC 11

OLED_CS #define 12

#define OLED_RESET 13

Adafruit_SSD1306 display (OLED_MOSI, OLED_CLK, OLED_DC, OLED_RESET, OLED_CS);

Di dalam fungsi kekosongan setup (), kita menginisialisasi memantau serial untuk debug dan juga sensor
suhu IR menggunakan therm objek yang kita buat sebelumnya. Di sini, di India unit yang paling diikuti
untuk suhu Celcius (derajat C) maka kami telah menetapkan unit dengan TEMP_C Anda juga dapat
mengubah ini untuk TEMP_F jika Anda perlu nilai-nilai berada di Fahrenheit (F). Akhirnya kami
menginisialisasi layar OLED dan jelas layar. Juga layar OLED diputar oleh 180 derajat untuk opsi
pemasangan lebih mudah dalam casing.

kekosongan setup ()
{

Serial.begin (9600);

therm.begin ();

therm.setUnit (TEMP_C);

display.begin (SSD1306_SWITCHCAPVCC);

display.clearDisplay ();

display.setRotation (2);

Di dalam fungsi loop, Kita membaca nilai suhu dari sensor dan mengubahnya menjadi String yang akan
ditampilkan di layar OLED. Kami juga telah dicetak nilai pada monitor serial untuk tujuan debugging.
Kami juga telah bertambah variabel yang disebut pelari yang menghasilkan animasi kecil di layar setiap
kali nilai sensor suhu diperbarui berhasil, ini akan membantu kami jika membaca terjebak untuk
beberapa alasan.

jika (therm.read ()) // Pada keberhasilan, membaca () akan kembali 1, pada gagal 0.

Suhu = String (therm.object (), 2);

Serial.print ( "Obyek:");

Serial.print (suhu); Serial.println ( "C");

display.clearDisplay ();

pelari ++;

delay (5);

Pengujian Arduino Thermal Gun


Setelah kode Arduino siap kita bisa meng-upload ke perangkat keras kami menggunakan programmer
TTL eksternal atau papan FTDI sejak mini pro tidak memiliki satu on-board. Maka cukup tekan tombol
push untuk memicu pistol termal dan Anda akan melihat sinar laser jatuh pada objek dan suhu objek
yang ditampilkan pada layar OLED seperti yang ditunjukkan di bawah ini. Di sini saya telah
menggunakannya untuk mengukur suhu komponen seperti yang ditunjukkan oleh sinar laser.

Pistol termal juga diuji pada besi solder, 3D nozzle printer, es batu dll dan hasil yang memuaskan
diamati. Kerja lengkap pistol termal dapat ditemukan dalam video di bagian bawah halaman ini. Harap
Anda menikmati proyek dan belajar sesuatu yang berguna dalam membangun itu, jika Anda memiliki
pertanyaan meninggalkan mereka di bagian komentar di bawah ini atau gunakanforumuntuk
pertanyaan lebih teknis.

Kode

/ *********************************** Arduino Contactless termometer MLX90614 I2C


connectionOLED 4-kawat koneksi SPI Tanggal: 7 -6-2019Code oleh: Aswint Raj
********************************** /

# include <Wire.h> # include <SparkFunMLX90614.h>

# include <spi.h> # include <Adafruit_GFX.h> # include <Adafruit_SSD1306.h>


// Jika menggunakan software SPI (kasus default): # define OLED_MOSI 9 # mendefinisikan OLED_CLK 10
# mendefinisikan OLED_DC 11 # mendefinisikan OLED_CS 12 # mendefinisikan OLED_RESET
13Adafruit_SSD1306 display (OLED_MOSI, OLED_CLK, OLED_DC, OLED_RESET, OLED_CS);

IRTherm satuan panas;

kekosongan setup () {Serial.begin (9600); therm.begin (); therm.setUnit (TEMP_C);

display.begin (SSD1306_SWITCHCAPVCC); display.clearDisplay (); display.setRotation (2); }

Suhu string; pelari arang;

kekosongan lingkaran () {if (therm.read ()) // Pada keberhasilan, membaca () akan kembali 1, pada gagal
0. {suhu = String (therm.object (), 2); Serial.print ( "Obyek:"); Serial.print (suhu); Serial.println ( "C");
display.clearDisplay (); pelari ++; delay (5); }

display.setTextSize (2); display.setTextColor (PUTIH); display.setCursor (display.width () / 4,


display.height () / 12); jika (therm.object ()> = 100) display.setCursor (display.width () / 4, display.height
() / 12);
display.println (suhu);

display.drawLine (display.width () / pelari, display.height () - display.height () / 2,5, display.width () /


pelari + 1, display.height () - display.height () / 2.5, PUTIH);

display.setCursor (0, display.height () - display.height () / 4); display.setTextSize (1); display.println (


"Arduino Thermlgun"); display.setCursor (display.width () - display.width () / 4, display.height () / 12);
display.println ( "deg C"); display.display ();

jika (pelari> 20) pelari = 0;}

Anda mungkin juga menyukai