- Komponen yang Diperlukan
- MAX30205 dengan Arduino - Diagram Sirkuit
- Menghubungkan Arduino dengan MAX30205 Sensor Suhu Tubuh
- Pemrograman MAX30205 dengan Arduino
- Arduino Body Temperature Meter - Pengujian
Untuk aplikasi medis atau klinis, mengukur suhu tubuh manusia merupakan parameter penting untuk menentukan kondisi kesehatan setiap individu. Namun, ada banyak cara untuk merasakan suhu tetapi tidak semuanya memiliki akurasi untuk memenuhi spesifikasi termometri klinis. Sensor suhu MAX30205 dirancang khusus untuk aplikasi ini. Perhatikan bahwa sensor ini bukanlah sensor suhu nirsentuh, jika Anda mencari pengukuran suhu IR nirsentuh, lihat Termometer MLX90614 yang kami desain sebelumnya.
Dalam proyek ini, kami akan menghubungkan sensor suhu tubuh manusia MAX30205 yang dapat dengan mudah dihubungkan dengan pita kebugaran atau dapat digunakan untuk tujuan medis. Kami akan menggunakan Arduino Nano sebagai unit pengontrol mikro utama dan juga menggunakan tampilan 7-Segmen untuk menunjukkan suhu yang dirasakan dalam Fahrenheit. Setelah Anda mengetahui cara menggunakan sensor, Anda dapat menggunakannya aplikasi yang Anda sukai, Anda juga dapat melihat proyek Arduino Smartwatch yang dikombinasikan dengan MAX30205 ini dapat digunakan untuk memantau suhu individu.
Komponen yang Diperlukan
- Arduino NANO
- 7-Seg menampilkan katoda umum - 3 pcs
- 74HC595 - 3 buah
- Resistor 680R - 24 buah
- Papan modul MAX30205
- Catu daya 5V
- Papan tempat memotong roti
- Banyak kabel pengait
- IDE Arduino
- Kabel mikro-USB
MAX30205 dengan Arduino - Diagram Sirkuit
Diagram rangkaian lengkap untuk menghubungkan Arduino dengan sensor Suhu Tubuh MAX30205 ditunjukkan di bawah ini. Rangkaiannya sangat sederhana, tetapi karena kami telah menggunakan tampilan 7-segmen, ini terlihat agak rumit. Tampilan 7-Segmen dengan Arduino adalah cara terbaik untuk menampilkan nilai Anda yang besar dan cerah dengan biaya yang sangat rendah. Tetapi Anda juga dapat menampilkan nilai-nilai ini pada OLED atau LCD jika Anda menginginkannya.
Arduino Nano terhubung dengan tiga 74HC595. Tiga 74HC595 digabungkan untuk menyimpan pin keluaran tambahan dari Arduino Nano untuk menghubungkan tiga layar 7-Seg. Kami sebelumnya telah menggunakan 74HC595 dengan Arduino di banyak proyek lain seperti Arduino Clock, LED Board Display, Arduino snake game, dll. Untuk beberapa nama.
Papan modul MAX30205 membutuhkan resistor pull-up tambahan karena ini berkomunikasi dengan protokol I2C. Namun, beberapa papan modul tidak memerlukan penarik tambahan karena resistor penarik sudah diberikan di dalam modul. Oleh karena itu, seseorang perlu memastikan apakah papan modul memiliki resistor pull-up internal atau memerlukan pull-up eksternal sebagai tambahan. Papan yang digunakan dalam proyek ini sudah memiliki resistor pull-up bawaan di dalam papan modul.
Menghubungkan Arduino dengan MAX30205 Sensor Suhu Tubuh
Sensor yang digunakan di sini adalah MAX30205 dari maxim terintegrasi. Sensor suhu MAX30205 secara akurat mengukur suhu dengan Akurasi 0,1 ° C (37 ° C hingga 39 ° C). Sensor bekerja dengan protokol I2C.
Papan modul dapat bekerja dengan 5 atau 3.3V. Namun, papan dikonfigurasi untuk digunakan dengan tegangan operasi 5V. Ini juga mencakup pemindah tingkat logika, karena sensor itu sendiri mendukung maksimum 3,3V sebagai daya atau tujuan terkait komunikasi data.
Pada output, tiga register geser 74HC595, 8-bit digunakan untuk menghubungkan tiga tampilan 7-Segmen dengan Arduino NANO. Diagram pin dapat ditunjukkan pada gambar di bawah ini-
Deskripsi pin 74HC595 dapat dilihat pada tabel di bawah ini-
QA ke QH adalah pin keluaran data yang terhubung dengan layar 7-Seg. Karena tiga 74HC595 di-cascade bersama-sama, pin input Data (PIN14) dari register geser pertama akan dihubungkan dengan Arduino NANO dan pin output data serial akan memberikan data ke register geser berikutnya. Koneksi data serial ini akan dilanjutkan hingga 74HC595 ketiga.
Pemrograman MAX30205 dengan Arduino
Program lengkap untuk tutorial ini dapat ditemukan di bagian bawah halaman ini. Penjelasan kode ini adalah sebagai berikut. Pertama, kami menyertakan file header perpustakaan Arduino I2C standar.
#include
Baris di atas akan menyertakan pustaka kontribusi Arduino dari protocentral. Perpustakaan ini memiliki fungsi penting untuk berkomunikasi dengan sensor MAX30205. Pustaka diambil dari tautan GitHub di bawah ini-
https://github.com/protocentral/ProtoCentral_MAX30205
Setelah mengimpor perpustakaan, kami mendefinisikan data objek MAX30205 seperti yang ditunjukkan di bawah ini-
#include "Protocentral_MAX30205.h" MAX30205 tempSensor;
Dua baris berikutnya penting untuk mengatur parameter. Baris di bawah ini akan memberikan suhu dalam Fahrenheit jika disetel benar. Untuk menampilkan hasil dalam Celcius, garis harus disetel ke salah.
const bool fahrenheittemp = true; // Saya menunjukkan suhu dalam Fahrenheit, Jika Anda ingin menunjukkan suhu dalam Celcius, buat variabel ini menjadi salah.
Garis di bawah ini perlu dikonfigurasi jika tampilan 7-segmen tipe katoda umum digunakan di perangkat keras. Jadikan salah jika anoda umum digunakan.
const bool commonCathode = true; // Saya menggunakan common Cathode 7segment jika Anda menggunakan common Anode maka ubah nilainya menjadi false. const byte digit_pattern = {// 74HC595 Koneksi Outpin dengan tampilan 7segment. // Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 // abcdefg DP 0b11111100, // 0 0b01100000, // 1 0b11011010, // 2 0b11110010, // 3 0b01100110, // 4 0b10110110, // 5 0b10111110, // 6 0b11100000, // 7 0b11111110, // 8 0b11110110, // 9 0b11101110, // A 0b00111110, // b 0b00011010, // C 0b01111010, // d 0b10011110, // E 0b10001110, // F 0b00000001 //. };
Larik di atas digunakan untuk menyimpan pola digit untuk tampilan 7-Segmen.
Dalam fungsi pengaturan, setelah mengatur mode pin 74HC595 pin, protokol I2C dan pembacaan sensor suhu diinisialisasi.
void setup () {// letakkan kode setup Anda di sini, untuk dijalankan sekali: // setel port serial pada 9600 Serial.begin (9600); penundaan (1000); // atur pin Kontrol 74HC595 sebagai pinMode keluaran (latchPin, OUTPUT); // ST_CP dari 74HC595 pinMode (clkPin, OUTPUT); // SH_CP dari 74HC595 pinMode (dtPin, OUTPUT); // DS dari 74HC595 // menginisialisasi I2C Libs Wire.begin (); // mulai pembacaan suhu MAX30205 dalam mode kontinu, mode aktif tempSensor.begin (); }
Dalam loop, suhu sedang dibaca oleh fungsi tempSensor.getTemperature () dan disimpan dalam variabel float bernama temp . Setelah itu, jika mode suhu Fahrenheit dipilih, data diubah dari Celsius ke Fahrenheit. Kemudian, tiga digit dari data suhu penginderaan yang dikonversi selanjutnya dipisahkan menjadi tiga digit individu. Untuk melakukan ini, baris kode di bawah ini digunakan-
// saperate 3 digit dari suhu saat ini (seperti jika temp = 31.23c,) int dispDigit1 = (int) temp / 10; // digit1 3 int dispDigit2 = (int) temp% 10; // digit2 1 int dispDigit3 = (temp * 10) - ((int) temp * 10); // digit3 2
Sekarang, tiga digit yang terpisah dikirim ke layar 7-segmen menggunakan register geser 74HC595. Sejak LSB pertama kali ditampilkan ke layar 7-segmen ketiga melalui 74HC595 ketiga, digit ke-3 pertama kali dikirim. Untuk melakukan ini, pin latch ditarik rendah dan data dikirimkan ke 74HC595 oleh fungsi shiftOut ();
Dengan cara yang sama, sisa digit kedua dan pertama juga dikirim ke 74HC595 masing-masing, sehingga tersisa dua tampilan 7-segmen. Setelah mengirim semua data, pin latch dilepaskan dan ditarik tinggi untuk mengkonfirmasi akhir dari transmisi data. Kode masing-masing dapat dilihat di bawah -
// tampilkan digit menjadi 3, tampilan 7segment. digitalWrite (latchPin, LOW); if (commonCathode == true) {shiftOut (dtPin, clkPin, LSBFIRST, digit_pattern); shiftOut (dtPin, clkPin, LSBFIRST, digit_pattern-digit_pattern); // 1. (Digit + DP) shiftOut (dtPin, clkPin, LSBFIRST, digit_pattern); } lain {shiftOut (dtPin, clkPin, LSBFIRST, ~ (digit_pattern)); shiftOut (dtPin, clkPin, LSBFIRST, ~ (digit_pattern-digit_pattern)); // 1. (Digit + DP) shiftOut (dtPin, clkPin, LSBFIRST, ~ (digit_pattern)); } digitalWrite (latchPin, HIGH);
Arduino Body Temperature Meter - Pengujian
Sirkuit ini dibangun dalam dua set papan tempat memotong roti seperti yang Anda lihat di bawah. Ketika kita meletakkan jari pada sensor, suhu akan dirasakan dan hasilnya ditampilkan dalam tampilan 7 segmen, di sini nilainya 92.1 * F.
Pekerjaan lengkap proyek dapat ditemukan di video yang ditautkan di bawah ini. Semoga Anda menikmati membangun proyek dan mempelajari sesuatu yang bermanfaat. Jika Anda memiliki pertanyaan, tinggalkan di bagian komentar di bawah atau gunakan forum kami.