EKG halsduk (3 / 5 steg)
Steg 3: Arduino kod
CONST int heartSig = A1; utgång från ECG circuit
CONST int beatLight = 9. 3 ultrabright lysdioder i centrum
CONST int rimLight = 11; 10 lysdioder runt kanten av hjärtat
CONST int switchHigh = 5; hög komparator för strömbrytare
CONST int switchLow = 3; låga komparator för strömbrytare
CONST int switchVal = 4; Switch läsa pin
CONST int bendVal = A0; utgång från flex sensor
CONST int speakerPin = 10; positiv leda fromspeaker
int böj = 1000; initiera dröjsmål till 1000
void setup() {
initiera stift:
pinMode (bendVal, ingång); Flex sensor
pinMode (beatLight, produktionen); Center lysdioder
pinMode (rimLight, produktionen); RIM lysdioder
pinMode (switchHigh, produktionen); PIN HIGH
pinMode (switchLow, produktionen); PIN låg
pinMode (switchVal, ingång); Switch komparator
pinMode (heartSig, ingång); EKG-signalen
pinMode (speakerPin, produktionen); tonar utgång
digitalWrite (switchHigh, hög); initiera switch kontrollapparater
digitalWrite (switchLow, låg);
Serial.BEGIN(9600);
}
void loop() {
Switch(digitalRead(switchVal)) / / Läs växeln funktion
{
fall hög: //if omkopplaren är i hög läge
tonen (speakerPin, 50, 50); låg slå ljud
digitalWrite (rimLight, hög); initiera ner beat lampor
digitalWrite (beatLight, låg);
Delay(Bend); vänta en sekund
Böj = analogRead(bendVal); få flex sensordata
Böj = karta (böj, 700, 250, 1500,50); karta observerade sensor utbud att fördröja
tonen (speakerPin, 70, 70); hög slå ljud
digitalWrite (rimLight, låg); initiera upp beat lampor
digitalWrite (beatLight, hög);
Delay(Bend); försening igen
bryta;
fall låg: //if switch i låg position
digitalWrite (rimLight, låg); stänga av alla lampor
digitalWrite (beatLight, låg);
vill att följande rad om du vill mappa signalen från medelvärdet till max av signalen
int heartMod = map(analogRead(heartSig), 650,700, 0, 1024); Läs signal och karta
Serial.println(heartMod); utgång för inställning av threshholds ovan
samtidigt (heartMod > 40) {//if signalen är större än medelvärdet (med fel)
digitalWrite (rimLight, hög); Ställ in lamporna på
Delay(50);
digitalWrite (beatLight, hög);
bryta;
}
bryta;
}
}