Étape 3: Arduino Code
const int heartSig = A1 ; sortie du circuit de l’ECG
const int beatLight = 9 ; 3 LED ultrabright Centre
const int rimLight = 11 ; 10 LED contour du coeur
const int switchHigh = 5 ; comparateur haute pour interrupteur
const int switchLow = 3 ; comparateur de faible pour interrupteur
const int switchVal = 4 ; commutateur de lire le code pin
const int bendVal = A0 ; sortie du capteur flex
const int speakerPin = 10 ; coté positif fromspeaker
courbe int = 1000 ; initialiser le retard à 1000
void setup() {}
initialiser les épingles :
pinMode (bendVal, entrée) ; capteur de Flex
pinMode (beatLight, sortie) ; Centre de LEDs
pinMode (rimLight, sortie) ; jante LEDs
pinMode (switchHigh, sortie) ; broche haute
pinMode (switchLow, sortie) ; tige basse
pinMode (switchVal, entrée) ; comparateur de commutateur
pinMode (heartSig, entrée) ; Signal ECG
pinMode (speakerPin, sortie) ; sortie de ton
digitalWrite (switchHigh, HIGH) ; initialiser le commutateur comparateurs
digitalWrite (switchLow, basse) ;
Serial.Begin(9600) ;
}
void loop() {}
Switch(digitalRead(switchVal)) / / lire le sélecteur de fonction
{
HAUTE-affaire : //if le commutateur est en mode élevé
ton (speakerPin, 50, 50) ; son battement faible
digitalWrite (rimLight, HIGH) ; initialiser down Beats lumières
digitalWrite (beatLight, basse) ;
Delay(Bend) ; Attendez une seconde
plier = analogRead(bendVal) ; obtenir les données du capteur flex
plier = carte (plier, 700, 250, 1500,50) ; carte capteur observées vont à retarder
ton (speakerPin, 70, 70) ; haut son battement
digitalWrite (rimLight, basse) ; initialiser la beat s’allume
digitalWrite (beatLight, HIGH) ;
Delay(Bend) ; retarder encore une fois
rupture ;
PEU de cas : //if commutateur en position basse
digitalWrite (rimLight, basse) ; Éteignez toutes les lumières
digitalWrite (beatLight, basse) ;
tiens suivant ligne pour mapper le signal de la moyenne au maximum du signal
int heartMod = map(analogRead(heartSig), 650 700, 0, 1024) ; signal lecture et carte
Serial.println(heartMod) ; sortie en définissant des seuils ci-dessus
tandis que (heartMod > 40) {//if le signal est supérieure à la moyenne (par erreur)
digitalWrite (rimLight, HIGH) ; jeu de lumières sur
Delay(50) ;
digitalWrite (beatLight, HIGH) ;
rupture ;
}
rupture ;
}
}