Menü

ARDUINO NABIZ ÖLÇER PROCESSING

10 Aralık 2017 - Arduino, Baskı Devre
ARDUINO NABIZ ÖLÇER PROCESSING
4.9 (97.5%) 312 votes

Nabız Ölçer

Projenin Amacı :

Tansiyon hastalarında kalp hastalarında anlık takip gerekebilir. Evde bakım yapılan bir insanın nabzının anlık kontrol edilebilmesi gerekebilir ve bunu hemen ölçebiliriz böylelikle nabzın değerlerine göre hareket edebiliriz.

Malzemeler:

  1. KY-039 Nabız Sensörü
  2. Arduino
  3. Lcd
  4. 10k Potansiyometre
  5. Jumper Kablo
  6. Diyot
  7. Renk Sensörü
  8. Pil

Sensörün pin yapısı ve genel özellikleri

Sensör üzerinde kızılötesi led ve alıcı bulunmaktadır. Sensör vcc , gnd ve sinyal pini olmak üzere 3 adet pin barındırmaktadır.
Sensörün çalışma voltajı 5v ‘tur. Üzerindeki sinyal pini ile verileri geliştirme kartı aracılığı ile yorumlayarak, nabız ölçme işlemeni gerçekleştirir.

Arduino Yazılımı :

#include <Wire.h>
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

#define S0 A6
#define S1 A5
#define S2 8
#define S3 9
#define sensorOut 7
int frequency = 0;
const int sensor = A7;
int periyot=20;
double alfa=0.75;
double yenileme=0.0;

int red=0;
int green=0;
int blue=0;

void setup() {
pinMode(S0, OUTPUT);
pinMode(S1, OUTPUT);
pinMode(S2, OUTPUT);
pinMode(S3, OUTPUT);
pinMode(sensorOut, INPUT);
pinMode(sensor,INPUT);

// Setting frequency-scaling to 20%
digitalWrite(S0,HIGH);
digitalWrite(S1,LOW);

Serial.begin(9600);
lcd.begin(16, 2);
lcd.setCursor(2,0);
lcd.print(“MORLUK ANALIZ”);
lcd.setCursor(2,1);
lcd.print(“NABIZ OLCER”);
delay(2000);
lcd.clear();
}
void loop() {
sensor1();
durum();
nabiz();

}

void sensor1()
{
// Setting red filtered photodiodes to be read
digitalWrite(S2,LOW);
digitalWrite(S3,LOW);
// Reading the output frequency
red = pulseIn(sensorOut, LOW);
// Printing the value on the serial monitor
Serial.print(“R= “);//printing name
Serial.print(red);//printing RED color frequency
Serial.print(” “);
delay(100);
// Setting Green filtered photodiodes to be read
digitalWrite(S2,HIGH);
digitalWrite(S3,HIGH);
// Reading the output frequency
green = pulseIn(sensorOut, LOW);
// Printing the value on the serial monitor
Serial.print(“G= “);//printing name
Serial.print(green);//printing RED color frequency
Serial.print(” “);
delay(100);
// Setting Blue filtered photodiodes to be read
digitalWrite(S2,LOW);
digitalWrite(S3,HIGH);
// Reading the output frequency
blue = pulseIn(sensorOut, LOW);
// Printing the value on the serial monitor
Serial.print(“B= “);//printing name
Serial.print(blue);//printing RED color frequency
Serial.println(” “);
delay(100);
}

void durum()
{

// NORMAL //
//red 12
//green 15
//blue 25
if((red<30)&&(green<180)&&(blue<180))
{
Serial.println(“DURUM: NORMAL”);
lcd.setCursor(2,0);
lcd.print(“DURUM: NORMAL”);
delay(2000);
lcd.clear();
}

// ORTA DERECE //

//red 70
//green37
//blue49

if((red>70)&&(green<180)&&(blue<180))
{
Serial.println(“DURUM: ORTA”);
lcd.setCursor(2,0);
lcd.print(“DURUM: ORTA”);
delay(2000);
lcd.clear();
}

//red 60
//green 93
//blue 45
// RİSKLİ //

if((red<180)&&(green>80)&&(blue<180))
{
Serial.println(“DURUM: RISKLI”);
lcd.setCursor(2,0);
lcd.print(“DURUM: RISKLI”);
delay(2000);
lcd.clear();
}
}

void nabiz()
{
static double oncekideger=0;
static double oncekiyenileme=0;

int ritim=analogRead(sensor);

double deger=alfa*oncekideger+(0-alfa)*ritim;
yenileme=deger-oncekideger;
lcd.setCursor(2,1);
lcd.print(“NABIZ: “);
lcd.setCursor(8,1);
lcd.print(ritim/10);
Serial.println(ritim/10);
oncekideger=deger;
oncekiyenileme=yenileme;
delay(periyot*10);
}

 

Breadboard üzerine devrenin yapım aşamaları :

Devremizi breadboardun üzerine kurduk ve nabzımızı ölçtük.

 

Baskı Devre :

Devrenin proteus çıktısı.

Bakırı çözüyoruz..

Baskı devrenin tamamlanmış hali.

Projeyi hazırlayanlar:

İPEK ÖCAN 2015010216015

ŞEVVAL BAŞAK ERDEM 2015010216039

ONUR ÖZYİĞİT 2015010216021

HAKAN GÜNEŞ 2015010216022

EEM %30 II.ÖĞR.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.

Araç çubuğuna atla