Professional Documents
Culture Documents
Code#2
Code#2
h>
#include <Adafruit_Sensor.h>
#include <Adafruit_ADXL345_U.h>
#include <LiquidCrystal.h>
#define ECG_PIN A0
#define EMG_PIN A1
#define BUZZER_PIN 4
#define LED_RED_PIN 2
#define LED_GREEN_PIN 3
void setup() {
pinMode(LED_RED_PIN, OUTPUT);
pinMode(LED_GREEN_PIN, OUTPUT);
pinMode(BUZZER_PIN, OUTPUT);
Serial.begin(9600);
if (!accel.begin()) {
Serial.println("Could not find a valid ADXL345 sensor, check wiring!");
while (1);
}
accel.setRange(ADXL345_RANGE_16_G);
lcd.begin(16, 2);
lcd.print("Fetal Monitor");
}
void loop() {
int ecgValue = analogRead(ECG_PIN);
int emgValue = analogRead(EMG_PIN);
float x, y, z;
sensors_event_t event;
accel.getEvent(&event);
x = event.acceleration.x;
y = event.acceleration.y;
z = event.acceleration.z;
lcd.setCursor(0, 1);
lcd.print("ECG: ");
lcd.print(ecgValue);
lcd.print(" EMG: ");
lcd.print(emgValue);
if (ecgValue > 500 || emgValue > 500 || (abs(x) > 10 || abs(y) > 10 ||
abs(z) > 10)) {
digitalWrite(LED_RED_PIN, HIGH);
digitalWrite(LED_GREEN_PIN, LOW);
tone(BUZZER_PIN, 1000);
delay(100);
noTone(BUZZER_PIN);
delay(100);
} else {
digitalWrite(LED_RED_PIN, LOW);
digitalWrite(LED_GREEN_PIN, HIGH);
}
delay(1000);
}