Linkit en puls pulsmätare (4 / 4 steg)
Steg 4: kod
Nu dags för koden, kan koden hittas nedan. Du kommer att kräva Arduino IDE med Linkit en plugin att ladda upp koden till Linkit en. Efter uppladdning den öppen upp en följetong koden övervaka på lämplig Com-port och placera puls sensorn på fingret eller toppen på örat och du bör se BPM visas på skärmen.
Variabler
int pulsePin = 0; Puls Sensor lila tråd ansluten till analoga stift 0
int blinkPin = 13. PIN blinka ledde på varje taktslag
int fadePin = 5; stift till fancy classy blekning blink på varje taktslag
int fadeRate = 0; används för att blekna LED på med PWM på fadePin
Flyktiga variabler, som används i avbrottstjänstens rutin!
flyktiga int BPM; int som innehåller rå Analog i 0. uppdateras varje 2mS
flyktiga int Signal; innehar inkommande rådata
flyktiga int IBI = 600; int som håller tidsintervallet mellan slår! Måste vara seedad!
flyktiga booleska puls = false; "True" när användarens levande heartbeat upptäcks. "Falskt" när inte en "levande beat".
flyktiga booleska QS = false; blir sant när Arduoino finner ett beat.
Hälsningar Serial OutPut--Sätta den här upp till dina behov
statisk boolean serialVisual = false; Satt till "false" som standard. Åter inställd på 'true' för att se Arduino seriell övervaka ASCII visuella puls
void setup() {
pinMode(blinkPin,OUTPUT); PIN-kod som kommer att blinka till ditt hjärta!
pinMode(fadePin,OUTPUT); PIN-kod som kommer att blekna till ditt hjärta!
Serial.BEGIN(115200); Vi är överens om att prata snabbt!
interruptSetup(); ställer in för att läsa puls Sensor signal varje 2mS
Om du driver puls sensorn på spänning lägre än styrelsen spänningen,
O-KOMMENTERA NÄSTA LINJE OCH TILLÄMPA DEN SPÄNNINGEN TILL A-REF STIFT
analogReference(EXTERNAL);
}
Där magiskt händer
void loop() {
serialOutput();
om (QS == true) {/ / ett hjärtslag hittades
BPM och IBI har fastställts
Kvantifierade Self "QS" true när arduino hittar ett hjärtslag
digitalWrite(blinkPin,HIGH); Blinkar LED, vi fick ett beat.
fadeRate = 255; Gör LED toningseffekt hända
Ange "fadeRate" variabel till 255 blekna LED med puls
serialOutputWhenBeatHappens(); Ett Beat hänt, utgång som till följetong.
QS = false; återställa flaggan kvantifierade Self till nästa gång
}
ledFadeToBeat(); Gör LED toningseffekt hända
Delay(20); ta en paus
}
void ledFadeToBeat() {
fadeRate-= 15. värdet för LED-fade
fadeRate = constrain(fadeRate,0,255); hålla LED fade värde från att gå in i negativa tal!
analogWrite(fadePin,fadeRate); Fade LED
}