Pemantau Detak Jantung IoT Real-Time dengan Arduino & MAX30100
Komponen dan Perlengkapan
Arduino UNO
×
1
ProtoCentral Electronics ProtoCentral Pulse Oximeter & Heart Rate Sensor based on MAX30100
×
1
Kabel USB-A ke Micro-USB
×
1
Kabel jumper (umum)
×
1
Aplikasi dan Layanan Online
Arduino IDE
node.js
Amazon Web Services AWS EC2
Tentang Proyek Ini
Dalam proyek ini kita akan membuat Sistem Deteksi dan Pemantau Detak Jantung menggunakan Arduino yang akan mendeteksi detak jantung menggunakan Sensor Nadi dan akan menampilkan pembacaan dalam BPM (Detak per Menit). Beberapa hari yang lalu kita merasa bosan dan kita melihat tentang node.js dan memikirkan untuk mengimplementasikan sesuatu darinya........... Dan akhirnya menghasilkan pengembangan Prototipe ini yang sebenarnya Menampilkan Detak Jantung dalam detak per menit menggunakan sensor nadi IR..........
Untukproyek ini Anda dapat menggunakan PC atau Mac atau Raspberry Pi Anda."
Langkah-langkahuntukmelakukaninidiberikandi bawah ini.
1) Persiapan Arduino
Unggah skets yang diberikan ke Arduino dan pastikan Anda menerima data di Serial Monitor:
2) Instal Node.JS
Instal node.js di pc / mac /linux pc / raspberry pi Anda:
Instal di Windows dengan menginstal paket dari https://nodejs.org/
Dalam kasus mac / linux / raspberry pi buka terminal dan ketik
Untuk mac:
brew install nodejs
Untuk linux / raspberry pi:
sudo apt-get install nodejs
3) Instal paket yang diperlukan untuk Node.JS
Jalankan perintah berikut di terminal Anda untuk menginstal paket
Setelah menginstal paket, hubungkan papan Arduino ke PC / Raspberry pi dan pastikan data sedang diambil di serial monitor Arduino ide....
setelah diverifikasi..... Saatnya untuk Menjalankan skrip kita.. jalankan dalam urutan seperti disebutkan di bawah ini.....
node
setelah Anda melihat "Communication is on!" di terminal Anda.
lalu buka page.html di browser dan Anda mungkin akan melihat nilai yang Ditampilkan di sana....
Ini akan menjalankan Program Anda hanya di localhost pc
Untuk melihatnya melalui internet Anda memerlukan AMAZON WEB SERVICES yang dikonfigurasi.
5) Mengonfigurasi Amazon Web Services (AWS)
Pertama buat akun atau masuk ke akun AWS Anda
pindah ke modul EC2 di sana
Klik tombol launch Instance di sana
pilih OS apa pun dari sana
Klik tombol review and launch
Klik launch di halaman berikutnya dan buat pasangan kunci baru dan Unduh
ini adalah file yang digunakan untuk mengakses modul AWS di masa depan
Setelah pembuatan klik tombol Launch Instance di sana
Dan pilih layanan yang ditunjukkan di bawah ini dan klik connect
Sebuah url bersama dengan tautan ssh akan ditampilkan di sana
Sekarang pergi ke lokasi file tempat Anda mengunduh kunci keamanan dan jalankan terminal di folder tersebut dan salin dan tempelkan tautan ssh di terminal dan jalankan
sekarang ulangi langkah 2 dan 3dan 4 di sini sekarang setelah semuanya selesai tutup terminal
Sekarang pilih layanan yang Anda pilih sebelumnya yang ditunjukkan di bawah ini dan klik connect
Sekarang gunakan URL yang diberikan dan lihat OUTPUT melalui internet.
Video
Akhir!
Kode
IR_Pulsr.ino
run.js
page.html
IR_Pulsr.inoArduino
Ini adalah kode yang harus diunggah ke arduino
int UpperThreshold = 518; int LowerThreshold = 490; int reading = 0; float BPM = 0.0; bool IgnoreReading = false; bool FirstPulseDetected = false; unsigned long FirstPulseTime = 0; unsigned long SecondPulseTime = 0; unsigned long PulseInterval = 0; void setup(){ Serial.begin(9600); } void loop(){ reading = analogRead(0); if(reading > UpperThreshold && IgnoreReading == false){ if(FirstPulseDetected == false){ FirstPulseTime = millis(); FirstPulseDetected = true; } else{ SecondPulseTime = millis(); PulseInterval = SecondPulseTime - FirstPulseTime; FirstPulseTime = SecondPulseTime; } IgnoreReading = true; } if(reading < LowerThreshold){ IgnoreReading = false; } BPM = (1.0/PulseInterval) * 60.0 * 1000; // uncomment these lines in case you want to view the various values in the console..... /*Serial.print(reading); Serial.print(" "); Serial.print(PulseInterval); Serial.print(" ");*/ Serial.print(BPM); Serial.println(" BPM"); Serial.flush(); }
run.jsJavaScript
this contains the code to establish an connection between serial data and the server........
var SerialPort = require('serialport') var Readline = SerialPort.parsers.Readline var express = require('express'); var socket = require('socket.io'); var app = express(); var server = app.listen(3005); app.use(express.static('public')); var io = socket(server); io.on('connection', function(socket){ console.log(socket.id); }); var serialPort = new SerialPort('/dev/tty.usbmodem1421', { baudRate: 9600 }) var parser = new Readline() serialPort.pipe(parser) parser.on('data', function (data) { //console.log('data received: ' + data) io.sockets.emit('map', data); }) serialPort.on('open', function () { console.log('Communication is on!') })
page.htmlHTML
This is the web page which is gonna display the number of heart beats per minute in it.