#include <Wire.h> #include "MAX30105.h" #include <LiquidCrystal_I2C.h> #include "heartRate.h"     LiquidCrystal_I2C lcd(0x27, 16, 2);   MAX30105 particleSensor;   const byte RATE_SIZE = 4; byte rates[RATE_SIZE]; byte rateSpot = 0; long lastBeat = 0;   float beatsPerMinute; int beatAvg;   void setup() {   lcd.begin();    lcd.backlight();   Serial.begin(115200);   Serial.println("Initializing...");        if (!particleSensor.begin(Wire, I2C_SPEED_FAST))    {     Serial.println("MAX30105 was not found. Please check wiring/power. ");     while (1);   }   Serial.println("Place your index finger on the sensor with steady pressure.");     particleSensor.setup();    particleSensor.setPulseAmplitudeRed(0x0A);    particleSensor.setPulseAmplitudeGreen(0);  }   void loop() {   long irValue = particleSensor.getIR();     if (checkForBeat(irValue) == true)   {          long delta = millis() - lastBeat;     lastBeat = millis();       beatsPerMinute = 60 / (delta / 1000.0);       if (beatsPerMinute < 255 && beatsPerMinute > 20)     {       rates[rateSpot++] = (byte)beatsPerMinute;        rateSpot %= RATE_SIZE;             beatAvg = 0;       for (byte x = 0 ; x < RATE_SIZE ; x++)         beatAvg += rates[x];       beatAvg /= RATE_SIZE;     }   }     if (irValue < 50000)   {     Serial.print(" No finger?");     lcd.clear();     lcd.setCursor(0,0);     lcd.print("No");     lcd.setCursor(0,1);     lcd.print("Finger");     delay(150);   }     else   {   Serial.print("IR=");   Serial.print(irValue);   Serial.print(", BPM=");   Serial.print(beatsPerMinute);   Serial.print(", Avg BPM=");   Serial.print(beatAvg);      lcd.setCursor(0,0);   lcd.print("BPM: ");   lcd.print(beatAvg);   lcd.setCursor(0,1);   lcd.print("IR: ");   lcd.print(irValue);   }      Serial.println(); }   Colored by Color Scripter  | 
2 댓글
lcd에 불은 들어오나 어떠한 문자도 표기되지 않습니다
답글삭제lcd 뒤쪽에 가변저항을 돌려서 문자가 나오는지 확인해보시길 바랍니다.
삭제