ماژول الکتروکاردیوگرافی ECG ضربان قلب ADS1293
ماژول سنسور الکتروکاردیوگرافی ECG - ضربان قلب ADS1293
ماژول سنسور الکتروکاردیوگرافی ECG - ضربان قلب ADS1293، یک ماژول سنسوری است که برای سنجش و ضبط سیگنالهای الکتریکی ایجاد شده توسط عضلات قلب در زمان ضربان قلب به کار میرود. این ماژول از چندین قطب الکترود برای اندازه گیری سیگنال الکتریکی قلب استفاده میکند و این سیگنالها را به صورت آنالوگ به دستگاه الکترونیکی انتقال میدهد.ماژول ADS1293 از یک مبدل آنالوگ به دیجیتال با وضوح 24 بیت برای تبدیل سیگنالهای الکتریکی قلب به سیگنالهای دیجیتال استفاده میکند. همچنین، این ماژول دارای فیلترهای پایین گذر و بالا گذر برای حذف نویزهای محیطی و تقویت سیگنالهای قلب است. این ماژول همچنین دارای قابلیت تشخیص حالت فیبریلاسیون بطنی (VF) و تشخیص ضربان نامنظم (AF) میباشد. از کاربردهای ماژول سنسور الکتروکاردیوگرافی ECG - ضربان قلب ADS1293، میتوان به کاربردهای پزشکی مانند مانیتورینگ قلب، تشخیص بیماریهای قلبی و مانیتورینگ خطرات قلبی در محیطهای بیمارستانی و پزشکی اشاره کرد. همچنین این ماژول میتواند در دستگاههای خانگی مانند دستگاههای ورزشی هوشمند و نظارت بر سلامت قلبی برای استفاده در خانه نیز مورد استفاده قرار گیرد.
مشخصات فنی الکتروکاردیوگرافی ECG - ضربان قلب ADS1293
- دارای ولتاژ تغذیه 2.7 الی 5.5
- دارای خروجی دیجیتال SPI
- قابلیت اتصال به بردهای آردوینو
- تعداد قطب الکترود: 3
- ولتاژ کاری: 2.7 تا 5.5 ولت
- مصرف جریان: کمتر از 5 میلی آمپر در حالت انتظار و کمتر از 1 میلی آمپر در حالت کاری
- تعداد کانالهای ورودی: 3
- وضوح تبدیل آنالوگ به دیجیتال: 24 بیت
- فرکانس نمونه برداری: قابل تنظیم تا 16 کیلوهرتز
- دامنه ورودی: +/- 1.5 میلی ولت
- نویز ورودی: کمتر از 7.5 میکرو ولت (پیک به پیک)
- پهنای باند قابل تنظیم: 0.5 تا 250 هرتز
- دارای فیلترهای پایین گذر و بالا گذر جهت حذف نویزهای محیطی و تقویت سیگنال قلب
- قابلیت تشخیص حالت فیبریلاسیون بطنی (VF) و تشخیص ضربان نامنظم (AF)
- رابط SPI برای ارتباط با دستگاههای دیگر
- دارای ورودیهای رابط GPIO جهت کنترل دستگاه و خروجیهای صوتی جهت ارائه اطلاعات صوتی به کاربر
- مطابق با استانداردهای EMC و ESD برای کاربردهای پزشکی و خانگی
بررسی پایههای pinOut ماژول ADS1293
ماژول ECG با تراشه ADS1293 برای اتصال به یک سیستم مبتنی بر میکروکنترلر یا دستگاه کنترل دیگر، دارای پایه های زیر است:
پایه GND: این پایه به زمین متصل می شود و به عنوان منبع ارجاع برای سیگنال های ECG استفاده می شود.
پایه AVDD: این پایه به منبع تغذیه مثبت DC متصل می شود و برای تغذیه تراشه ADS1293 استفاده می شود.
پایه DVDD: این پایه به منبع تغذیه منفی DC متصل می شود و برای تغذیه تراشه ADS1293 استفاده می شود.
پایه CLK: این پایه به سیگنال ساعت ارتباطی متصل می شود و برای همگام سازی داده های دیجیتال استفاده می شود.
پایه DRDY: این پایه یک خروجی دیجیتال است که به دستگاه کنترل ارسال می شود و در صورت آماده بودن مقادیر تغذیه شده، سیگنال DRDY فعال می شود.
پایه CS: این پایه به سیگنال انتخاب رشته (chip select) متصل می شود و برای انتخاب تراشه ADS1293 استفاده می شود.
پایه SDI: این پایه به سیگنال داده ورودی سریال (serial data input) متصل می شود و داده های سریال را به تراشه ADS1293 ارسال می کند.
پایه SDO: این پایه به سیگنال داده خروجی سریال (serial data output) متصل می شود و داده های سریال را از تراشه ADS1293 دریافت می کند.
به همراه ماژول ADS1293 چه اقلامی باید خریداری شود؟
برای استفاده از ماژول ADS1293، به جز خود ماژول، باید برخی از قطعات و ابزارهای الزم را نیز تهیه کنید. این قطعات و ابزارها شامل موارد زیر میشوند.
میکروکنترلر: برای ارتباط با ماژول ADS1293 و کنترل آن، میکروکنترلری مانند Arduino، Raspberry Pi و یا دستگاههایی از این دسته مورد نیاز است.
منبع تغذیه: برای تامین ولتاژ مناسب برای تغذیهی ماژول ADS1293، یک منبع تغذیهی DC با ولتاژ خروجی حداقل 3.3 ولت و جریان حداقل 100 میلی آمپر لازم است.
الکترودها: برای گرفتن سیگنال ECG با استفاده از ماژول ADS1293، الکترودهایی که به بدن بیمار یا فرد سالم وصل میشوند، مورد نیاز است. این الکترودها میتوانند خریداری شده و یا به صورت دستساز تهیه شوند.
کابلهای اتصال: برای اتصال ماژول ADS1293 به میکروکنترلر و منبع تغذیه، کابلهای مناسبی نیاز است. به طور معمول، از کابلهای USB و یا کابلهای جک به جک استفاده میشود.
راه اندازی ماژول ضربان قلب ADS1293 با آردوینو
راه اندازی ماژول ECG با تراشه ADS1293 با آردوینو به سه بخش تقسیم میشود: اتصال سختافزاری، نصب کتابخانهی مربوطه و برنامه نویسی این موارد هستند. جهت راه اندازی ماژول ADS1293 با آردوینو از طریق کامند انجام میشود. کد زیر را کپی و به نرم افزار آردوینو انتقال دهید. اتصال سختافزاری، ابتدا باید ماژول ECG ADS1293 را به آردوینو متصل کنید. پایههای پردازنده ADS1293 را به طور مستقیم به پایههای آردوینو متصل کنید. برای مثال، پایه SDI ماژول را به پایه MOSI آردوینو متصل کنید و پایه SDO ماژول را به پایه MISO آردوینو وصل کنید. همچنین، پایههای CLK، CS و DRDY را به پایههای مشابه آردوینو متصل کنید. برای مثال، پایه CLK ماژول را به پایه SCK آردوینو متصل کنید. نصب کتابخانهی مربوطه، کتابخانهی ADS129X برای این ماژول در Arduino IDE وجود دارد. برای نصب آن، به منوی Sketch > Include Library > Manage Libraries بروید. سپس در جعبهی جستجو، عبارت ADS129X را جستجو کنید. پس از پیدا کردن آن، آن را نصب کنید. برنامهنویسی حالا باید برنامهی مربوط به ماژول ECG ADS1293 را بنویسید. برای مثال، میتوانید با استفاده از کتابخانه ADS129X کد زیر را برای خواندن دادههای ECG بنویسید. در ادامه دو نمونه کد راه اندازی با برد آردوینو را میتوانید بررسی کنید.
#include <SPI.h>
// Define pins for the ADS1293 module
const int ADS1293_CS = 10;
const int ADS1293_DRDY = 9;
const int ADS1293_RESET = 8;
// Define variables for storing ECG data
byte ecgData[6];
int ecgValue;
void setup() {
// Set up the ADS1293 module
pinMode(ADS1293_CS, OUTPUT);
pinMode(ADS1293_DRDY, INPUT);
pinMode(ADS1293_RESET, OUTPUT);
digitalWrite(ADS1293_CS, HIGH);
digitalWrite(ADS1293_RESET, HIGH);
delay(10);
SPI.begin();
SPI.setClockDivider(SPI_CLOCK_DIV16);
SPI.setDataMode(SPI_MODE1);
// Send commands to configure the ADS1293 module
delay(500);
ADS1293_SPI_Command_Data(0x11,0x01);
ADS1293_SPI_Command_Data(0x11,0x05);
ADS1293_SPI_Command_Data(0x02,0x03);
ADS1293_SPI_Command_Data(0x03,0xE0);
ADS1293_SPI_Command_Data(0x0F,0x03);
ADS1293_SPI_Command_Data(0x15,0x00);
delay(1000);
}
void loop() {
// Read ECG data from the ADS1293 module
digitalWrite(ADS1293_CS, LOW);
delayMicroseconds(1);
while(digitalRead(ADS1293_DRDY) == HIGH);
for (int i = 0; i < 6; i++) {
ecgData[i] = SPI.transfer(0x00);
}
digitalWrite(ADS1293_CS, HIGH);
// Extract the ECG value from the received data
ecgValue = (ecgData[1] << 16) | (ecgData[2] << 8) | (ecgData[3] & 0xF8);
if (ecgData[1] & 0x80) {
ecgValue |= 0xFF000000;
}
ecgValue >>= 3;
// Print the ECG value to the serial monitor
Serial.println(ecgValue);
delay(10);
}
// Send a command and data to the ADS1293 module via SPI
void ADS1293_SPI_Command_Data(byte command, byte data) {
digitalWrite(ADS1293_CS, LOW);
delayMicroseconds(1);
SPI.transfer(command);
SPI.transfer(data);
digitalWrite(ADS1293_CS, HIGH);
}
نمونه کد دوم با استفاده از کتابخانه ADS129X، ارتباط با ماژول ECG ADS1293 را برقرار میکند و دادههای ECG را از کانالهای ۰ و ۱ خوانده و در سریال مانیتور چاپ میکند. پس از اجرای کد، میتوانید دادههای ECG را در سریال مانیتور مشاهده کنید.
#include <SPI.h>
#include "ADS129X.h"
// تعریف پینهای ارتباطی
#define DRDY 2
#define CS 10
// تعریف شیء ADS129X
ADS129X ecg(CS, DRDY);
void setup() {
Serial.begin(115200);
// شروع ارتباط با ماژول ADS1293
SPI.begin();
ecg.begin();
}
void loop() {
// خواندن دادههای ECG از ماژول ADS1293
if (ecg.dataAvailable()) {
Serial.println(ecg.getChnData(0)); // چاپ داده ECG کانال 0
Serial.println(ecg.getChnData(1)); // چاپ داده ECG کانال 1
}
}
آموزش راه اندازی ADS1293 با میکروپایتون
برای راهاندازی ماژول ADS1293 با میکروپایتون، میتوانید از کتابخانه PySerial برای برقراری ارتباط سریال استفاده کنید. همچنین، برای اجرای کد Python بر روی کامپیوتر شخصی خود، میتوانید از نرمافزار Anaconda استفاده کنید. با استفاده از Anaconda، میتوانید محیط مجازی Python ایجاد کنید و کتابخانههای مورد نیاز را نصب کنید. در ادامه، یک نمونه کد Python برای راهاندازی ماژول ADS1293 با استفاده از میکروپایتون ارائه شده است.
import serial
import time
# پورت سریال
PORT = '/dev/ttyACM0' # برای ویندوز این مقدار به شکل 'COMx' میباشد
# تنظیمات سرعت بودریت و تایماوت
BAUDRATE = 115200
TIMEOUT = 1
# ایجاد شیء Serial
ser = serial.Serial(PORT, BAUDRATE, timeout=TIMEOUT)
# ارسال دستور آغاز خواندن دادههای ECG
ser.write(b'START\r\n')
# خواندن دادههای ECG
while True:
# خواندن دادههای ECG از سریال
data = ser.readline().decode('utf-8').strip()
# چاپ دادههای ECG در کنسول
print(data)
# توقف برنامه پس از ۳۰ ثانیه
if time.time() - start > 30:
break
# ارسال دستور متوقف کردن خواندن دادههای ECG
ser.write(b'STOP\r\n')
# بستن پورت سریال
ser.close()
این کد، با استفاده از شیء Serial، ارتباط سریال را بین کامپیوتر و ماژول ADS1293 برقرار میکند و دادههای ECG را در کنسول چاپ میکند. قبل از اجرای کد، باید مطمئن شوید که پورت سریال درست تعریف شده است.
کاربردهای ماژول الکتروکاردیوگرافی ECG - ضربان قلب ADS1293
طراحی و پیاده سازی دستگاه های سلامت پزشکی
طراحی و پیاده سازی ابزارهای ورزشی
استفاده در پروژه های تحقیقاتی به عنوان ابزاری مطمئن
امکان راه اندازی چند سنسور DHT با ESP8266 با استفاده از MicroPython وجود دارد. سنسورهای DHT با پروتکل دیجیتال و از طریق پایههای GPIO قابل اتصال به میکروکنترلرها هستند.
برای ساخت یک سیستم کنترل دما با برد میکروکنترلر ESP32، به موارد زیر نیاز دارید:
یک برد میکروکنترلر ESP32
یک سنسور دما مثل DHT DS18B20
یک المان سرد کننده
با استفاده از کتابخانه DHT.h، میتوانید از سنسور دما برای خواندن دمای محیط استفاده کنید. سپس، میتوانید از این دما برای کنترل المان گرمایشی یا سرمایشی استفاده کنید.
در خصوص برنامه نویسی از کتابخانه DHT و در صورت نیاز کتابخانه وای فای برای ارسال دادهها به پلتفرم IoT باید استفاده کنید.