Máy theo dõi nhịp tim với thông báo SMS (Sử dụng vi điều khiển 8051 và mô-đun GSM).
Dự án này liên quan đến một máy theo dõi nhịp tim có khả năng cảm nhận nhịp tim từ đầu ngón tay và gửi nó dưới dạng tin nhắn đến một số điện thoại di động. Dự án này dựa trên vi điều khiển 8051 và một mô-đun GSM. Nhịp tim được cảm nhận từ đầu ngón tay bằng cách sử dụng cặp dàn đèn photo transistor / IR LED. Phương pháp này được gọi là photoplethysmography. Photoplethysmography là phương pháp đo lường khối lượng của một cơ quan / mô bằng ánh sáng. Phương pháp IR phản xạ photoplethysmography chính là phương pháp được sử dụng ở đây. Trong phương pháp này, sóng IR được gửi vào mô và sóng phản xạ được thu bằng photo transistor. Khi trái tim đập, lượng máu trong mô sẽ nhiều hơn. Lúc này, nhiều ánh sáng được phản xạ lên photo transistor. Khi trái tim không đập, lượng máu trong mô sẽ ít hơn, do đó ít ánh sáng được phản xạ lên photo transistor. Kết quả sẽ là một biểu đồ xung tại cực photo transistor. Tốc độ của biểu đồ xung này sẽ bằng với nhịp tim. Biểu đồ xung này được khuếch đại, lọc, bình phương và đưa vào vi điều khiển để đếm. Sơ đồ mạch của máy theo dõi nhịp tim này được hiển thị dưới đây.
Mô-đun GSM - Hướng dẫn mua sắm - bạn đang tìm cách mua một mô-đun GSM? Có một số biến thể sản phẩm cho mô-đun GSM - như SIM900, SIM300, SIM800 v.v. Chúng tôi đã tạo hướng dẫn mua sắm này để giúp bạn chọn mô-đun GSM phù hợp nhất với nhu cầu dự án của bạn.
Sơ đồ mạch.
Máy theo dõi nhịp tim với SMS
Mô-đun GSM được giao tiếp với vi điều khiển thông qua giao tiếp tuần tự. Chân RX của mô-đun GSM được kết nối với chân TX của vi điều khiển. Một relay được kết nối với P2.0 thông qua một bóng đèn kích. Relay này có thể được sử dụng để bật tắt một cảnh báo hoặc bất kỳ thiết bị nào khác khi nhịp tim vượt quá 80 lần mỗi phút. Nhịp tim cũng được hiển thị trên một mô-đun LCD 16×2. Mô-đun LCD được giao tiếp qua Cổng 0 và Cổng 2 của vi điều khiển. S2 là nút đặt lại.
RS EQU P2.7
RW EQU P2.6
E EQU P2.5
ORG 000H
MOV DPTR,#LUT
MOV P2,#00000000B
MOV P0,#00000000B
ACALL INIT
ACALL TEXT1
ACALL LINE2
ACALL TEXT3
MAIN: MOV R6,#228D
SETB P3.5
MOV TMOD,#01100001B
MOV TL1,#00000000B
MOV TH1,#00000000B
SETB TR1
BACK: MOV TH0,#00000000B
MOV TL0,#00000000B
SETB TR0
HERE: JNB TF0,HERE
CLR TR0
CLR TF0
DJNZ R6,BACK
CLR TR1
CLR TF0
CLR TF1
MOV A,TL1
MOV B,#4D
MUL AB
MOV R7,A
CJNE A,#80D,SKIP
SKIP: JC SKIP1
SETB P2.0
SKIP1:JNC CONT
CLR P2.0
CONT:CLR PSW.7
ACALL SPLIT
ACALL INIT
ACALL TEXT1
ACALL LINE2
ACALL TEXT2
ACALL BPM
ACALL GSM
SJMP MAIN
GSM:
MOV TMOD,#00100001B
MOV TH1,#253D
MOV SCON,#50H
SETB TR1
MOV A,#"A"
ACALL SEND
MOV A,#"T"
ACALL SEND
MOV A,#0DH
ACALL SEND
ACALL DELAY1
MOV A,#"A"
ACALL SEND
MOV A,#"T"
ACALL SEND
MOV A,#"+"
ACALL SEND
MOV A,#"C"
ACALL SEND
MOV A,#"M"
ACALL SEND
MOV A,#"G"
ACALL SEND
MOV A,#"F"
ACALL SEND
MOV A,#"="
ACALL SEND
MOV A,#"1"
ACALL SEND
MOV A,#0DH
ACALL SEND
ACALL DELAY1
MOV A,#"A"
ACALL SEND
MOV A,#"T"
ACALL SEND
MOV A,#"+"
ACALL SEND
MOV A,#"C"
ACALL SEND
MOV A,#"M"
ACALL SEND
MOV A,#"G"
ACALL SEND
MOV A,#"S"
ACALL SEND
MOV A,#"="
ACALL SEND
MOV A,#34D
ACALL SEND
MOV A,#"+"
ACALL SEND
MOV A,#"9"
ACALL SEND
MOV A,#"1"
ACALL SEND
MOV A,#"9"
ACALL SEND
MOV A,#"8"
ACALL SEND
MOV A,#"4"
ACALL SEND
MOV A,#"7"
ACALL SEND
MOV A,#"2"
ACALL SEND
MOV A,#"4"
ACALL SEND
MOV A,#"2"
ACALL SEND
MOV A,#"9"
ACALL SEND
MOV A,#"6"
ACALL SEND
MOV A,#"1"
ACALL SEND
MOV A,#34D
ACALL SEND
MOV A,#0DH
ACALL SEND
ACALL DELAY1
MOV A,#"B"
ACALL SEND
MOV A,#"P"
ACALL SEND
MOV A,#"M"
ACALL SEND
MOV A,#"="
ACALL SEND
MOV A,R1
ACALL ASCII
ACALL SEND
MOV A,R2
ACALL ASCII
ACALL SEND
MOV A,R3
ACALL ASCII
ACALL SEND
ACALL DELAY1
MOV A,#1AH
ACALL SEND
ACALL DELAY1
RET
SEND:CLR TI
MOV SBUF,A
WAIT:JNB TI,WAIT
RET
DELAY1:MOV R6,#15D
BACK1: MOV TH0,#00000000B
MOV TL0,#00000000B
SETB TR0
HERE1: JNB TF0,HERE1
CLR TR0
CLR TF0
DJNZ R6,BACK1
RET
INIT:
MOV A,#0FH
ACALL CMD
MOV A,#01H
ACALL CMD
MOV A,#06H
ACALL CMD
MOV A,#83H
ACALL CMD
MOV A,#3CH
ACALL CMD
RET
TEXT1:
MOV A,#"H"
ACALL DISPLAY
MOV A,#"e"
ACALL DISPLAY
MOV A,#"a"
ACALL DISPLAY
MOV A,#"r"
ACALL DISPLAY
MOV A,#"t"
ACALL DISPLAY
MOV A,#" "
ACALL DISPLAY
MOV A,#"R"
ACALL DISPLAY
MOV A,#"a"
ACALL DISPLAY
MOV A,#"t"
ACALL DISPLAY
MOV A,#"e"
ACALL DISPLAY
RET
LINE2:
MOV A,#0C0H
ACALL CMD
RET
TEXT2:
MOV A,#"b"
ACALL DISPLAY
MOV A,#"p"
ACALL DISPLAY
MOV A,#"m"
ACALL DISPLAY
MOV A,#" "
ACALL DISPLAY
RET
TEXT3:
MOV A,#"c"
ACALL DISPLAY
MOV A,#"o"
ACALL DISPLAY
MOV A,#"u"
ACALL DISPLAY
MOV A,#"n"
ACALL DISPLAY
MOV A,#"t"
ACALL DISPLAY
MOV A,#"i"
ACALL DISPLAY
MOV A,#"n"
ACALL DISPLAY
MOV A,#"g"
ACALL DISPLAY
MOV A,#"."
ACALL DISPLAY
MOV A,#"."
ACALL DISPLAY
MOV A,#"."
ACALL DISPLAY
RET
BPM:
MOV A,R1
ACALL ASCII
ACALL DISPLAY
MOV A,R2
ACALL ASCII
ACALL DISPLAY
MOV A,R3
ACALL ASCII
ACALL DISPLAY
RET
CMD: MOV P0,A
CLR RS
CLR RW
SETB E
CLR E
ACALL DELAY
RET
DISPLAY:MOV P0,A
SETB RS
CLR RW
SETB E
CLR E
ACALL DELAY
RET
DELAY: CLR E
CLR RS
SETB RW
MOV P0,#0FFh
SETB E
MOV A,P0
JB ACC.7,DELAY
CLR E
CLR RW
RET
SPLIT: MOV B,#10D
DIV AB
MOV R3,B
MOV B,#10D
DIV AB
MOV R2,B
MOV R1,A
RET
ASCII: MOVC A,@A+DPTR
RET
LUT: DB 48D
DB 49D
DB 50D
DB 51D
DB 52D
DB 53D
DB 54D
DB 55D
DB 56D
DB 57D
END
Hotline: 0979 466 469