DANH MỤC CÁC TỪ VIẾT TẮT AC Alternating Current Dòng điện xoay chiều BPM Beats Per Minute Số nhịp tim đập trên một phút EEPROM Electrically Erasable Programmable I2C Inter-Integrated Cir
Trang 1LỜI CAM ĐOAN
Tôi xin cam đoan cuốn luận văn này do chính tôi nghiên cứu Hệ thống phần cứng và chương trình phần mềm do tôi thiết kế và xây dựng Các thông tin số liệu trong luận văn là hoàn toàn trung thực, chính xác và có nguồn gốc rõ ràng Trong quá trình nghiên cứu tôi có tham khảo một số tài liệu, và bài báo có trong danh mục tài liệu tham khảo được liệt kê cuối luận văn
Trang 2MỤC LỤC
LỜI CAM ĐOAN 1
MỤC LỤC 2
1DANH MỤC HÌNH ẢNH 4
DANH MỤC BẢNG BIỂU 6
DANH MỤC CÁC TỪ VIẾT TẮT 7
MỞ ĐẦU 8
CHƯƠNG 1: TỔNG QUAN 9
1.1 Mở đầu 9
1.2 Giới thiệu chung về nhịp tim 9
1.2.1 Nhịp tim bình thường 9
1.2.2 Rối loạn nhịp tim 10
1.3 Phương pháp xác định nhịp tim 12
1.3.1 Nghe tim 12
1.3.2 Điện tâm đồ (ECG) 13
1.3.3 Phương pháp đo nhịp tim Oscillometric 15
1.3.4 Đo nhịp tim áp dụng phương pháp đo quang thể tích (Photoplethysmogram) 17 1.4 Một số thiết bị điện tử đo nhịp tim trên thị trường 18
1.4.1 Các thiết bị đeo tay 18
1.4.2 Thiết bị đo nhịp tim bỏ túi 19
2.1 Giới thiệu về kit vi điều khiển Arduino 21
2.2 Phân loại kit Arduino 23
2.2.1 Arduino Uno 23
2.2.2 Arduino Mega 2560 25
2.2.3 Arduino Fio 27
2.3 Lập trình Arduino 30
2.3.1 Giới thiệu môi trường lập trình 30
Trang 32.4.1 Đặc điểm cảm biến XD-58 34
2.4.2 Cấu trúc cảm biến xung XD-58 34
2.4.3 Mạch cảm biến xung 37
2.5 Lí do lựa chọn màn hỉnh hiển thị LCD 16x2 38
2.5.1 Công nghệ màn hình hiển thị hiện nay 38
2.5.2 Đặc điểm chung của của LCD 16x2 39
2.6 Kết luận chương 2 55
CHƯƠNG 3: THIẾT KẾ HỆ THỐNG ĐO NHỊP TIM 56
3.1 Ý tưởng thiết kế 56
3.2 Yêu cầu hệ thống 56
3.3 Giải pháp thiết kế 57
3.4 Thiết kế hệ thống 58
3.4.1 Sơ đồ khối hệ thống 58
3.4.2 Chức năng từng khối 58
3.4.3 Linh kiện sử dụng cho từng khối 58
3.5 Phân tích hoạt động của hệ thống 61
3.6 Thực thi thiết kế 64
3.6.1 Sơ đồ nguyên lý tổng thể hệ thống 64
3.6.2 Sơ đồ mạch in của hệ thống 64
3.7 Kết quả đạt được 65
3.8 Đánh giá kết quả hệ thống đo nhịp tim 66
3.8.1 Sai sô trong đo lường 66
3.8.2 Tiến hành đo kiểm thử thực tế 70
3.9 Kết luận chương 3 75
3.10 Kết luận và hướng phát triển 76
TÀI LIỆU THAM KHẢO 77
PHỤ LỤC 78
Trang 41DANH MỤC HÌNH ẢNH
Hình 1.1: Nhịp tim chậm 10
Hinh 1.2: Máy tạo nhịp tim 11
Hình 1.3: Nghe tiếng tim 12
Hình 1.4 Một thiết bị nghe nhịp tim của hãng microlife 13
Hình 1.5: 1 chu kì tín hiệu điện tim bình thường 13
Hình 1.6: Tín hiệu điện tâm đồ bình thường 14
Hình 1.7 Giấy điện tim, cách tính thời gian và biên độ 15
Hình 1.8: Nguyên tắc đo nhịp tim bằng phương pháp Ocillometric và thiết bị đo Ocillometric 16
Hình 1.9: Dạng tín hiệu nhịp đập của nhịp tim 16
Hình 1.10: Sự truyền ánh sáng qua động mạch 17
Hình 1.11: Vị trí đặt nguồn sáng và cảm biến 17
Hình 1.12: Đồng hồ đeo tay Samsung Gear Fit 18
Hình 1.13: Máy đo nồng độ oxy bão hòa trong máu và nhịp xung Acare OxiSmarter I 19 Hình 2.1: Một Kit vi điều khiểnt Arduino 21
Hình 2.2: Hình ảnh một Arduino Uno 23
Hình 2.3: Arduino Mega 2560 25
Hình 2.4: Arduino Mega Fio 27
Hình 2.5: Giao diện sau khi cài đặt xong phần mêm IDE 30
Hình 2.6: Giao diện Arduino IDE 30
Hình 2.7: Vùng thông báo 32
Hình 2.8: Lấy ví dụ có sẵn trong Arduino 32
Hình 2.9: Nạp chương trình cho Arduino 33
Hình 2.10: Bộ kit cảm biến xung XD- 58C 34
Hình 2.11: Mặt trước của cảm biến xungXD- 58 34
Hình 2.12: Hình ảnh mặt sau của cảm biến nhịp tim XD-58 35
Trang 5Hình 2.17: Màn hình SSD1322 OLED 38
Hình 2.18: Mặt trước và mặt sau của màn hình LCD TFT 2.4 UART + TouchSceen 38 Hình 2.19: Màn hình LCD 16x2 39
Hình 2.20: Sơ đồ chân của LCD 16x2 40
Hình 2.21: Sơ đồ khối của HD44780 42
Hình 2.22 : Giản đồ xung cập nhật AC 44
Hình 2.23 : Mối liên hệ giữa địa chỉ của DDRAM và vị trí hiển thị của LCD 44
Hình 2.24: Mối liên hệ giữa địa chỉ của ROM và dữ liệu tạo mẫu kí tự 45
Hình 2.25: Mối liên hệ giữa địa chỉ của CGRAM, dữ liệu của CGRAM, và mã kí tự 47 Hình 2.26: Giao tiếp 8 bit 53
Hình 2.27: Giao tiếp 4 bit 54
Hình 3.1: Sơ đồ tổng quan hệ thống 57
Hình 3.2: Sơ đồ khối hệ thống của thiết bị đo nhịp tim 58
Hình 3.3: Cảm biến nhịp tim 59
Hình 3.4: Khối xử lí trung tâm sử dụng Arduino Uno 60
Hình 3.5: LCD 16x2 60
Hình 3.6: Sơ đồ mạch cảm biến dựa trên cảm biến xung 61
Hình 3.7: Lưu đồ thuật toán điều khiển trên Arduino 63
Hình 3.8: Sơ đồ nguyên lý hệ thống 64
Hình 3.9: Sơ đồ mạch layout 64
Hình 3.10: Sơ đồ mạch in 65
Hình 3.11: Các linh kiện chính trong hệ thống 65
Hình 3.12: Hình ảnh sản phẩm hoàn thiện 66
Hình 3.13: Giá trị phép đo được hiển thị 66
Hình 3.14: Sử dụng đồng thời hai thiết bị đo trong cùng một thời điểm 70
Hình 3.15: Kết quả thủ được bên phải sử dụng máy OMRON HEM7200 còn bên trái sử dụng cảm biến XD-58 71
Trang 6DANH MỤC BẢNG BIỂU
Bảng 2.1: Arduino Toolbar 31
Bảng 2.2: Chức năng các chân của LCD 16x2 40
Bảng 2.3: Chức năng chân RS và R/W theo mục đích sử dụng 43
Bảng 2.4 : Bảng mã kí tự (ROM code A00) 46
Bảng 2.5: Tập lệnh của LCD 48
Bảng 2.6: Maximun Rating 51
Bảng 2.7: Miền làm việc bình thường 51
Bảng 3.1: Khi cơ thể ở trạng thái nghỉ 71
Bảng 3.2: Khi cơ thể vừa mới vận động xong 73
Trang 7DANH MỤC CÁC TỪ VIẾT TẮT
AC Alternating Current Dòng điện xoay chiều
BPM Beats Per Minute Số nhịp tim đập trên một phút
EEPROM Electrically Erasable Programmable
I2C Inter-Integrated Circuit Bus giao tiếp các IC với nhau IDE
Integrated Development Environment
Môi trường biên dịch
LCD Liquid Crystals Display Màn hình tinh thể lỏng
LED Light Emitting Diode Diode phát quang
PIC Programmable Intelligent Compute Máy tính khả trình thông minh
PWM Pulse Width Modulation
Phương pháp điều chế độ rộng xung
SPI Serial Peripheral Interface
chuẩn đồng bộ nối tiếp truyền dữ liệu chế độ song công toàn phần
USB Universal Serial Bus
chuẩn truyền dữ liệu cho bus ngoại vi
MOSI Master Out Slave In
dành cho việc truyền dữ liệu từ thiết bị chủ động đến thiết bị bị động
Trang 8MỞ ĐẦU
Ngày nay khoa học công nghệ ngày càng phát triển, vi điều khiển AVR và vi điều khiển PIC ngày càng thông dụng và hoàn thiện hơn, nhưng có thể nói sự xuất hiện của Arduino vào năm 2005 bởi giáo sư Massimo Banzi tại trường Interraction Design Instistute Ivrea (IDII) tại Italia đã mở ra một hướng đi mới cho vi điều khiển Sự xuất hiện của Arduino đã hỗ trợ cho con người rất nhiều trong lập trình và thiết kế Phần cứng của thiết bị đã được tích hợp nhiều chức năng cơ bản và là mã nguồn mở Ngôn ngữ lập trình trên nền Java lại dễ sử dụng tương thích với ngôn ngữ C, C++ và hệ thư viện rất phong phú và được chia sẻ miễn phí Chính vì những lý do như vậy nên Arduino hiện đang dần phổ biến và được phát triển ngày càng mạnh mẽ
Arduino có rất nhiều ứng dụng hay trong cuộc sống: Robot, game tương tác, máy bay không người lái, đo nhiệt độ môi trường Trong đó giám sát nhịp tim cũng
là một khả năng mà Arduino có thể đảm nhận Hiện nay có rất nhiều thiết bị có thể sử dụng để đo được nhịp tim chính xác của con người đó có thể là một thiết bị trong phòng khám của bệnh viện, hay một chiếc smartphone Tuy nhiên chúng ta sẽ có thể không cần mất thời gian tới gặp bác sĩ hay bỏ ra một khoản tiền lớn mua một chiếc smartphone để đo nhịp tim của mình nữa Chỉ với một kit Arduino bằng lòng bàn tay
và một cảm biến nhịp tim (pulse sensor) nhỏ nhắn, chúng ta đã có thể tự kiểm tra nhịp tim của mình và người thân thông qua màn hình hiển thị trên máy tính hoặc một màn hình LCD nào đó với giá thành thấp Việc lắp đặt, sử dụng mạch cũng rất đơn giản và thuận tiện
Đề tài luận văn được chia làm ba chương, mỗi chương được đề cập đến các vấn
đề sau
Chương 1 Tổng quan về các thiết bị đo
Chương 2 Giới thiệu về kit vi điều khiển Arduino uno, cảm biến nhịp tim
XD-58 và LCD 16x2
Chương 3 Thiết kế hệ thống đo nhịp tim
Trang 9CHƯƠNG 1: TỔNG QUAN 1.1 Mở đầu
Nhịp tim là một trong những thông số quan trọng của cơ thể, dựa vào đó để đánh giá sức khỏe con con người, tưởng chừng rất quen thuộc nhưng không phải ai cũng nắm rõ Khi bệnh nhân đến khám bệnh thì công việc đầu tiên của bác sĩ thường là kiểm tra nhịp tim, huyết áp, và trong suốt quá trình điều trị thì các thông số này cũng thường xuyên được thu thập kiểm tra Công việc tưởng chừng như rất đơn giản nhưng trên thực tế lại có ý nghĩa lớn trong công tác chuẩn đoán và điều trị cho bệnh nhân, đặc biệt là với những người có bệnh về tim mạch và các bệnh nhân hậu phẫu
Ngày nay cùng với sự phát triển của kinh tế, kéo theo mặt trái của nó là môi trường ngày một trở lên ô nhiễm hơn Chính vì thế mà sức khỏe của con người cũng rất dễ bị ảnh hưởng Vấn đề theo dõi sức khỏe thường xuyên của bản thân cũng trở lên cấp thiết, bằng việc theo dõi nhịp tim của mình giúp phát hiện kịp thời các tín hiệu xấu đối với sức khỏe Ngoài ra việc theo dõi nhịp tim cũng góp phần hỗ trợ trong việc rèn luyện cơ thể, nâng cao sức khỏe con người
1.2 Giới thiệu chung về nhịp tim
Nhịp tim được xác định là số lần đập của tim trong một phút có ảnh hưởng nhiều đến sức khỏe của con người Nói cách khác biết được nhịp tim của cơ thể sẽ cho ta biết nhiều thông tin về tình trạng sức khỏe của bản thân
1.2.1 Nhịp tim bình thường
Đối với người độ tuổi từ 18 trở lên, nhịp tim bình thường khi nghỉ ngơi từ 60 đến 100 nhịp mỗi phút.Thông thường người càng khỏe mạnh, nhịp tim càng thấp Một vận động viên chuyên nghiệp khi ở chế độ xả hơi nhịp tim của họ chỉ khoảng 40 nhịp một phút Ví dụ như tay đua xe đạp Lance Armstrong, nhịp tim bình thường của anh chỉ có 32 nhịp mỗi phút
Theo cơ quan y tế quốc gia vương quốc Anh, dưới đây là tiêu chuẩn nhịp tim lý tưởng của từng lứa tuổi:
- Bé sơ sinh: 120-160 nhịp một phút
- Bé tuổi từ 1 tháng -12 tháng: 80-140 nhịp một phút
- Trẻ từ 1 đến 2 năm: 80-130 nhịp một phút
- Trẻ từ 2 đến 6 tuổi: 75-120 nhịp một phút
Trang 10- Trẻ từ 7 đến 12 tuổi: 75-110 nhịp một phút
- Người lớn từ 18 tuổi trở lên: 60-100 nhịp một phút
- Vận động viên: 40- 60 nhịp một phút
Nhịp tim của chúng ta có thể bị ảnh hưởng bởi một số yếu tố, chẳng hạn như:
- Mức độ hoạt động thể chất vào thời điểm đó
- Ảnh hưởng của một số loại thuốc…
1.2.2 Rối loạn nhịp tim
1.2.2.1 Nhịp tim chậm
Nhịp tim chậm tiến triển âm thầm với những biểu hiện kín đáo và thường bị bỏ qua Tuy nhiên, căn bệnh này cũng ẩn chứa những nguy cơ khó lường, gây nguy hiểm đến tính mạng người bệnh nếu không được phát hiện và điều trị kịp thời Những người mắc hội chứng nhịp tim chậm, cụ thể là dưới 60 nhịp mỗi phút đối với người không
phải là vận động viên [1]
Trang 11Hinh 1.2: Máy tạo nhịp tim
Trường hợp xấu nhất khi nhịp tim quá chậm (dưới 30 lần/ phút), não bị thiếu Oxy trầm trọng dẫn tới ngất, nếu các biện pháp làm tăng nhịp tim không được thực hiện kịp thời có thể dẫn đến tử vong
cơ quan trong cơ thể không nhận đủ máu giàu oxy để duy trì hoạt động, dẫn tới các biểu hiện như hồi hộp, trống ngực, mệt mỏi, chóng mặt, hay choáng ngất, thậm chí tử vong
Nếu không được điều trị, nhịp nhanh thất có thể tiến triển nặng hơn và dẫn đến rung thất - nguyên nhân hàng đầu gây ngừng tim đột ngột, có thể đe dọa tính mạng Nguy cơ ngừng tim giảm xuống nếu uống thuốc làm chậm nhịp tim (như thuốc chẹn beta), phẫu thuật tim hoặc cấy máy khử rung tim dưới da
Nhịp nhanh thất có thể gây ra các biến chứng sau:
- Cục máu đông gây đột quỵ hoặc nhồi máu cơ tim
- Suy tim: Xảy ra khi tim không còn khả năng bơm đủ máu đi nuôi cơ thể
- Ngất xỉu thường xuyên
Trang 12Không chỉ có 2 dạng nhịp tim bất thường đó, rất nhiều người bị rối loạn nhịp tim, tim đập lúc nhanh, lúc chậm, nhịp tim non, loạn nhịp… Vì thế, nếu thấy khó thở, chóng mặt, đau thắt ngực… cùng với nhịp tim bất thường, cần sớm xét nghiệm và chẩn đoán để ngăn ngừa biến chứng [1]
1.3 Phương pháp xác định nhịp tim
1.3.1 Nghe tim
Là phương pháp xác định nhịp tim qua một ống nghe dựa vào tiếng đập của tim phát ra Được đặt hơi lệch về phía ngực trái khi tâm thất co bóp thì gây tiếng động Tiếng động của tâm thất gây ra là tiếng của các van tim đóng Khi tâm thất co bóp, các van lá sẽ đóng sập lại gây ra tiếng động – đây là âm thanh tim đầu tiên Âm thanh tim thứ 2 sẽ phát ra khi tâm thất giãn và các van bán nguyệt đóng Hai âm thanh tim xảy ra rất gần nhau và có thể nghe được bằng tai thường Nếu van tim có vấn đề, bác sỹ sử dụng ống nghe có thể nghe được những tiếng thổi ở tim
Hình 1.3: Nghe tiếng tim
Trang 13Hình 1.4 Một thiết bị nghe nhịp tim của hãng microlife
1.3.2 Điện tâm đồ (ECG)
Điện tâm đồ là một đường cong, đồ thị tuần hoàn ghi lại các biến thiên của các điện lực do tim phát ra trong hoạt động co bóp Điện lực đó rất nhỏ nhưng nhờ có thiết
bị khuyếch đại và ghi nên ta có thể đọc được trên giấy ghi [2][3]
Hình 1.5: 1 chu kì tín hiệu điện tim bình thường
- P là sóng điện kích thích cơ tâm nhĩ,
- QRS là kích thích cơ tâm thất,
- T là cơ tim quay lại trạng thái nghỉ,
- T-P là thời gian nghỉ ngơi của toàn bộ cơ tim (tâm trương)
Để đánh giá thời gian dài hay ngắn và biên độ cao hay thấp của làn sóng điện tâm đồ, người ta định chuẩn như sau:
Trang 14a) Thời gian
- Người ta in sẵn trên giấy những đường kẻ dọc cách nhau 1mm
- Như vậy khi cho giấy chạy theo:
- Vận tốc 25mm/s thì mỗi ô 1 mm có giá trị 0,04s
- Vận tốc 50 mm/s thì mỗi ô 1 mm có giá trị 0,02s
- Vận tốc 100 mm/s thì mỗi ô 1 mm có giá trị 0,0ls (0,01 s đọc là phần trăm giây) Ngoài ra người ta còn có thể cho chạy các vận tốc chậm hơn tuỳ theo yêu cầu nghiên cứu Tuy nhiên lúc bình thường ta nên ghi thông nhất một vận tốc để khi đọc điện tâm đồ quen mắt, chẩn đoán nhanh hơn Vận tốc đó thông thường là 25 mm/s Như vậy, nếu là một làn sóng bao gồm 3 ô dọc (3mm) thì thời gian của nó là: 0,04s X
10 ô (10mm = lcm) Lúc này giấy sẽ ghi được một đường gấp khúc có biên độ lcm, mỗi chỗ gấp khúc tương ứng với một nhát ấn nút phóng điện lmv và động tác này được gọi là lấy milivôn Như vậy khi ghi điện tâm đồ, một làn sóng có biên độ 12mm
Trang 15Hình 1.7 Giấy điện tim, cách tính thời gian và biên độ
(1.1) Thí dụ: RR = 0,70s thì tần số tim sẽ là:
F = 60/0.70 ~ 86
Chú ý:
– Khi sóng R nhỏ hoặc nát quá có thể chọn sóng S để tính
– Khi nhịp tim không đều phải chọn lấy vài khoảng RR dài ngắn khác nhau để tính lấy giá trị trung bình rồi tính ra tần số tim trung bình
– Khi có phân ly nhĩ thất hoặc block nhĩ thất các sóng P và R tách rời nhau phải tính tần số nhĩ(P) riêng và tần số thất(R) riêng
– Tính tần số các sóng f(rung nhĩ) hoặc sóng F(cuồng nhĩ) cũng theo phương pháp trên
1.3.3 Phương pháp đo nhịp tim Oscillometric
Phương pháp này sử dụng một bao khí có gắn sensor đo, quấn quanh bắp tay của người cần đo, bắp tay nơi quấn bao khí phải được đặt ngang tim Trước tiên bao khí được bơm căng lên để áp suất trong bao cao (cỡ khoảng 180mmHg, với người cao tuổi có thể phải bơm lên cỡ 200mmHg) Lúc này động mạch được bao khí chẹn lại, máu không chảy được trong động mạch ở chỗ bị quấn bao khí Tiếp theo người ta xả
từ từ xả khí trong bao ra Khi áp suất trong bao lớn hơn huyết áp cao nhất trong máu thì không thể lưu thông trong động mạch Chỉ khi áp suất trong bao cân bằng với áp
Trang 16suất của máu trong động mạch thì trong mạch máu mới được lưu thông và lúc này áp suất trong bao khí bắt đầu thay đổi theo nhịp đập của tim Chu kì thay đổi của tín hiện điện này đúng bằng chu kì của nhịp tim Với phương pháp này nhịp tim được tính xác định bằng cách đếm số chu kì này trong một khoảng thời gian nhất định sau đó chia cho khoảng thời gian đếm Phương pháp này tuy đơn giản nhưng độ chính xác sẽ không cao nếu đếm trong thời gian không đủ lớn
Hình 1.8: Nguyên tắc đo nhịp tim bằng phương pháp
Ocillometric và thiết bị đo Ocillometric
Trang 17trương (Diastolic Presure DP) Tiếp theo, tim co bóp dồn máu đi, đây là thời điểm áp suất tác dụng lên thành mạch lớn nhất (thời điểm T2)
1.3.4 Đo nhịp tim áp dụng phương pháp đo quang thể tích
(Photoplethysmogram)
Có một phương pháp có thể nhận tín hiệu đồng bộ với xung của nhịp tim mà không làm ảnh hưởng tới sự lưu thông của máu tại nơi cảm biến đó dùng cảm biến quang học Tim co bóp máu sẽ được đẩy đi khắp cơ thể, khi tim giãn ra máu được dồn vào trong nó khiến cho áp suất của máu trong động mạch giảm đi Khi tim co lại áp suất trong động mạch tăng lên Chính sự tăng giảm áp suất này sẽ làm thay đổi mức độ hấp thụ ánh sáng của động mạch, do đó khi một tia sáng được truyền qua mạch máu thì cường độ ánh sáng sau khi qua mạch sẽ biến thiên đồng bộ với nhịp tim
Hình 1.10: Sự truyền ánh sáng qua động mạch
Khi tim giãn ra, áp suất máu nhỏ nên hấp thụ ít ánh sáng, ánh sáng sau khi truyền qua động mạch có cường độ lớn, ngược lại khi tim co vào, áp suất máu lớn, ánh sáng sau khi truyền qua động mạch sẽ có cường độ nhỏ hơn
Hình 1.11: Vị trí đặt nguồn sáng và cảm biến
Trang 18Bố trí một photodiode để nhận ánh sáng sau khi truyền qua động mạch thì ta có thể nhận được tín hiện biến thiên đồng bộ của nhịp tim Để tăng độ chính xác Nguồn sáng phát ra phải không đổi với thời gian Với những ưu điểm trên, đây sẽ là là phương pháp tác giả lựa chọn để sử dụng đo nhịp tim trong luận văn này
1.4 Một số thiết bị điện tử đo nhịp tim trên thị trường
Hiện nay có rất nhiều loại thiết bị đo nhịp tim, đa dạng về chủng loại và mẫu
mã Các tính năng đo nhịp tim này được tích hợp vào điện thoại thông minh và đồng
hồ đeo tay Dưới đây là một số sản phẩm tiêu biểu
1.4.1 Các thiết bị đeo tay
Đồng hồ thông minh SmartWatch, Vòng đeo tay thông minh của các hãng Apple, SamSung, Sony…Một số sản phẩm như Smartwatch UK26, Samsung Gear Fit, Misfit Shine, Fitbit Flex, Fitbit One
Hình 1.12: Đồng hồ đeo tay Samsung Gear Fit
Samsung Gear Fit không chỉ là một chiếc đồng hồ thông thường mà còn có chức năng của một thiết bị giám sát chuyên dụng dùng trong quá trình tập thể dục, chức năng chính là kiểm tra sức khoẻ của người dùng Đặc biệt tính năng đo nhịp tim Gear Fit nhỏ gọn, nhẹ 27g Gear Fit được tương thích với điện thoại, Gear Fit sẽ giúp thông báo cuộc gọi đến, tin nhắn và email…
Trang 19- Bộ nhớ: 4G
- Cảm biến sử dụng: GPS, HR, Accelerometer, Gyro, Barometer
1.4.2 Thiết bị đo nhịp tim bỏ túi
Hiện nay còn có rất nhiều chủng loại các thiết bị đo nhịp tim bỏ túi được thiết
kế nhỏ gọn, tin cậy, tích hợp nhiều tính năng Một số loại máy như Trismed 500FB, Acare Oxi – Q, Max-110, Acare OxiSmarter I, Spectro2 10
Hình 1.13: Máy đo nồng độ oxy bão hòa trong máu
và nhịp xung Acare OxiSmarter I
Máy đo nhịp tim tích hợp chức năng đo nồng độ oxy trong máu OxiSmarter I Được thiết kế độc đáo, nhỏ gọn (với chỉ 50g), Kích thước: 61 x 32 x 37 mm Cung cấp việc đo nhịp tim và SpO2 độ chính xác cao Màn hình OLED lớn cho phép sử dụng phạm vi lớn trong môi trường ánh sáng lẫn tối [4]
Chương 1 đưa ra các nội dung tổng quan về đề tài đó là:
- Giới thiệu chung về nhịp tim
- Đưa ra hai bệnh lí liên quan đến nhịp tim thường gặp
Trang 20- Giới thiệu một số phương pháp xác định nhịp tim hiện nay nhằm mục đích đề xuất phương án thiết kế Module đo và giám sát các thông số về nhịp tim bằng đầu đo cảm biến gắn trên đầu ngón tay, đồng thời hiện thị thông số đo lên màn hình
Trang 21CHƯƠNG 2: GIỚI THIỆT VỀ KIT VI ĐIỀU KHIỂN ARDUINO UNO,
CẢM BIẾN NHỊP TIM XD-58 VÀ LCD 16x2
2.1 Giới thiệu về kit vi điều khiển Arduino
Arduino đã và đang được sử dụng rất rộng rãi trên thế giới, số lượng người dùng cực lớn và đa dạng với trình độ trải rộng từ bậc phổ thông lên đến đại học và ngày càng chứng tỏ được sức mạnh của chúng thông qua vô số ứng dụng độc đáo của người dùng trong cộng đồng nguồn mở Tuy nhiên tại Việt Nam Arduino vẫn còn chưa được biết đến nhiều
Hình 2.1: Một Kit vi điều khiểnt Arduino
Arduino là một bo mạch vi xử lí có thể tương tác với phần cứng như cảm biến, động cơ, đèn Đặc điểm nổi bật của Arduino là môi trường phát triển ứng dụng cực kì dễ
sử dụng
Hiện tại có rất nhiều loại vi điều khiển và đa số được lập trình bằng ngôn ngữ C/C++ hoặc Assembly nên rất khó khăn cho những người có ít kiến thức sâu về điện tử và lập trình Nó là trở ngại cho mọi người muốn tạo riêng cho mình một món đồ mang tính công nghệ Do vậy, đó là lí do Arduino được phát triển nhằm đơn giản hóa việc thiết kế, lắp ráp linh kiện điện tử cũng như lập trình trên vi xử lí và mọi người có thể tiếp cận dễ
Trang 22dàng hơn với thiết bị điện tử mà không cần nhiều về kiến thức điện tử và thời gian Và điều làm nên hiện tượng Arduino chính là mức giá rất thấp, chỉ khoảng $30, người dùng
có thể sở hữu một board Arduino có 20 ngõ I/O có thể tương tác và điều khiển chừng ấy thiết bị Sau đây là những thế mạnh của Arduino so với các nền tảng vi điều khiển khác:
- Chạy trên đa nền tảng: Việc lập trình Arduino có thể thể thực hiện trên các hệ điều hành khác nhau như Windows, Mac Os, Linux trên Desktop, Android trên di động Ngôn ngữ lập trình đơn giản dễ hiểu
-Nền tảng mở: Arduino được phát triển dựa trên nguồn mở nên phần mềm chạy trên Arduino được chia sẻ dễ dàng và tích hợp vào các nền tảng khác nhau
-Mở rộng phần cứng: Arduino được thiết kế và sử dụng theo dạng module nên việc
mở rộng phần cứng cũng dễ dàng hơn
-Đơn giản và nhanh: Rất dễ dàng lắp ráp, lập trình và sử dụng thiết bị
-Dễ dàng chia sẻ: Mọi người dễ dàng chia sẻ mã nguồn với nhau mà không lo lắng
về ngôn ngữ hay hệ điều hành mình đang sử dụng
Arduino có rất nhiều module, mỗi module được phát triển cho một ứng dụng Về mặt chức năng, các bo mạch Arduino được chia thành hai loại: loại bo mạch chính có chip Atmega và loại mở rộng thêm chức năng cho bo mạch chính Các bo mạch chính về cơ bản là giống nhau về chức năng, tuy nhiên về mặt cấu hình như số lượng I/O, dung lượng
bộ nhớ, hay kích thước có sự khác nhau Một số bo có trang bị thêm các tính năng kết nối như Ethernet và Bluetooth Các bo mở rộng chủ yếu mở rộng thêm một số tính năng cho
bo mạch chính Ví dụ như tính năng kết nối Ethernet, Wireless, điều khiển động cơ
Arduino được chọn làm bộ não xử lý của rất nhiều thiết bị từ đơn giản đến phức tạp Trong số đó có một vài ứng dụng thực sự chứng tỏ khả năng vượt trội của Arduino do chúng có khả năng thực hiện nhiều nhiệm vụ rất phức tạp Sau đây là danh sách một số ứng dụng nổi bật của Arduino như trong công nghệ in 3D, robot dò đường theo hướng có nguồn nhiệt, tạo một thiết bị nhấp nháy theo âm thanh và đèn laser hay là một thiết bị báo cho khách hàng biết khi nào bánh mì ra lò
Trang 232.2 Phân loại kit Arduino
2.2.1 Arduino Uno
2.2.1.1 Cấu trúc chung
Hình 2.2: Hình ảnh một Arduino Uno
Arduino Uno là một bo mạch vi điều khiển dựa trên chip Atmega328 Nó có
14 chân vào ra bằng tín hiệu số, trong đó có 6 chân có thể sử dụng để điều chế độ rộng xung Có 6 chân đầu vào tín hiệu tương tự cho phép chúng ta kết nối với các bộ cảm biến bên ngoài để thu thập số liệu, sử dụng một dao động thạch anh với tần số dao động 16MHz, có một cổng kết nối bằng chuẩn USB để chúng ta nạp chương trình vào
bo mạch và một chân cấp nguồn cho mạch, một ICSP header, một nút reset Nó chứa tất cả mọi thứ cần thiết để hỗ trợ các vi điều khiển, nguồn cung cấp cho Arduino có thể
là từ máy tính thông qua cổng USB hoặc là từ bộ nguồn chuyên dụng được biến đổi từ xoay chiều sang một chiều hoặc là nguồn lấy từ pin Chip Atmega328 có 32KB (với 0,5KB sử dụng cho bootloader) Nó còn có 2KB SRAM và 1KB EEPROM [5][6]
2.2.1.2 Khối nguồn
Arduino có thể được hỗ trợ thông qua kết nối USB hoặc với một nguồn cung cấp
điện bên ngoài Các nguồn năng lượng được lựa chọn tự động Hệ thống vi điều khiển
có thể hoạt động bằng một nguồn cung cấp bên ngoài từ 6V đến 20V Tuy nhiên, nếu cung cấp với ít hơn 7V, chân 5V có thể cung cấp ít hơn 5V và hệ thống vi điều khiển có thể không ổn định Nếu cấp nhiều hơn 12V, bộ điều chỉnh điện áp có thể quá nóng và
gây nguy hiểm cho bo mạch Phạm vi khuyến nghị là 7V đến 12V
Trang 24- Chân Vin: Điện áp đầu vào Arduino khi chúng ta dùng nguồn điện bên ngoài (khác với nguồn 5V lấy từ USB hoặc nguồn thông qua jack cắm nguồn riêng) Chúng
ta có thể cung cấp nguồn thông qua chân này
- Chân 5V: Cung cấp nguồn vi điều khiển và các bộ phận khác trên bo mạch và cung cấp nguồn cho các thiết bị ngoại vi khi kết nối tới bo mạch
- Chân 3,3V: Cung cấp nguồn cho các thiết bị cảm biến
- Chân GND: Chân nối đất
- Chân Aref: Tham chiếu điện áp đầu vào analog
- Chân IOREF: Cung cấp điện áp cho các vi điều khiển hoạt động Một shield
được cấu hình đúng có thể đọc điện áp chân IOREF và lựa chọn nguồn thích hợp hoặc kích hoạt bộ chuyển đổi điện áp để là việc ở mức 5V hoặc 3,3V
2.2.1.3 Chân vào ra
Aduino Uno có 14 chân digital (chân 0 đến 13) và 6 chân analog (chân A0 đên A5) Các chân digital chúng ta có thể cấu hình để làm chân nhận dữ liệu vào từ các thiết bị ngoại vi hoặc làm chân để truyền tín hiệu ra các thiết bị ngoại vi Bằng
cách sử dụng các hàm pinMode(), digitalWrite() và digitalRead() Mỗi chân có thể
cung cấp hoặc nhận một dòng điện tối đa 40mA và có một điện trở kéo nội (mặc định không nối) 20 - 50 KOhms Ngoài ra có một số chân có chức năng đặc biệt:
- Chân 0 (Rx): Chân được dùng để nhận dữ liệu nối tiếp
- Chân 1 (Tx): Chân được dùng để truyền dữ liệu nối tiếp
- Chân 2 và 3: Chân ngắt ngoài
- Chân 3, 5, 6, 9, 10 và 11: Chân vào/ra số hoặc để điều chế độ rộng xung (chân
13 được nối với một LED đơn, sáng tắt tương ứng với mức logic của chân này)
- Chân 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK): Chuẩn giao tiếp SPI Các
chân analog có độ phân giải 10 bit (tương ứng với 1024 mức giá trị khác nhau) ứng với mức từ 0 – 5V Ngoài ra một số chân có các chức năng đặc biệt:
- Chân A4 (SDA) và A5 (SCL): Hỗ trợ truyền thông TWI
Trang 25Arduino Mega 2560 khác so với các bo mạch trước đó ở chỗ nó không sử dụng chip điều khiển FTDI USB-to-serial Thay vào đó, các tính năng của Atmega16U2 (ATmega8U2 trong phiên bản 1 và phiên bản 2 bảng) được lập trình như một bộ chuyển đổi USB-to-serial Phiên bản 2 của bo mạch Mega2560 có 1 điện trở kéo đường 8U2 HWB xuống đất, làm cho nó dễ đặt chế độ DFU hơn Phiên bản 3 của bo mạch có các đặc tính mới sau:
- Thêm chân SDA và SCL gần chân AREF và 2 chân mới được đặt gần chân RESET, IOREF cho phép các shield tương thích với điện áp được cung cấp từ bo mạch Trong tương lai, các shield sẽ tương thích với cả hai bo mạch sử dụng AVR mà hoạt động với nguồn 5V và Arduino hoạt động ở mức 3,3V Chân thứ 2 không kết nối dành cho các mục đích sau này [5] [6]
Trang 262.2.2.2 Đặc điểm Arduino Mega 2560
- Vi điều khiển : ATmega2560
- Điện áp hoạt động : 5V
- Điện áp đầu vào : 7-12V
- Điện áp dới hạn hoạt động : 6-20V
- Chân tín hiệu số vào ra : 54 trong đó có 15 chân điều khiển độ rộng xung
- Chân tín hiệu số đầu vào : 16
- Dòng điện tại các chân vào ra : 40 mA
- Dòng điện tại chân 3.3V : 50 mA
- Bộ nhớ Flash : 256 KB trong đó 8 KB sử dụng cho bootloader
Nguồn ngoài (không phải USB) có thế lấy từ bộ chuyển đổi AC sang DC hoặc
từ pin Bo mạch có thể hoạt động với nguồn ngoài từ 6 – 20V Tuy nhiên, nếu nguồn cấp nhỏ hơn 7V thì chân 5V có thể cấp không đủ 5V và bo mạch có thể chạy không ổn định Nếu cấp lớn hơn 12V, bộ biến áp có thể bị nóng và ảnh hưởng tới mạch Điện áp khuyến nghị là 7 – 12V
Các chân cấp nguồn như sau:
- Chân VIN: Điện áp vào mạch Arduino khi nó sử dụng nguồn ngoài (khác với
nguồn 5V từ kết nối USB hoặc nguồn khác) Ta có thể cấp nguồn qua chân này hoặc
cấp thông qua jack cắm nguồn
- Chân 5V: Chân cấp điện áp ra 5V từ bộ điều chỉnh điện áp của bo mạch
- Chân 3,3V: Chân cấp điện áp ra 3,3V từ bộ điều chỉnh điện áp
Trang 272.2.2.4 Chân vào ra
Arduino Mega 2560 bao gồm 54 chân vào ra tín hiệu số có thể sử dụng làm
chân input hoặc output, bằng cách sử dụng hàm pinMode(), digitalWrite(),
digitalRead() Chúng hoạt động ở 5V Mỗi chân có thể cấp hoặc nhận tối đa 40mA và
có một trở kéo nội (mặc định không nối) từ 20 – 50Kohm Ngoài ra, một số chân có các chức năng đặc biệt sau:
Có một cặp chân khác trên bo:
- Chân AREF: Tham chiếu điện áp cho đầu vào analog Sử dụng hàm
Trang 28Arduino Fio là một bo mạch vi điều khiển được xây dựng dựa trên chip ATmega328P Bao gồm có 14 chân vào ra số (trong đó có 6 chân có thể sử dụng để điều chế độ rộng xung), có 8 chân vào vào tương tự, trên board sử dụng một bộ cộng hưởng, một công tắc Reset, và lỗ để cắm chân Header Nó có kết nối với bộ Lithium Polymer và mạch nguồn qua cổng USB Có sẵn ổ cắm XBee ở phía dưới của board
Arduino Fio dùng cho ứng dụng không dây Người dùng có thể nạp dữ liệu thông qua cáp FTDI hoặc bo mạch cải tiến Sparkfun Ngoài ra, bằng cách sử dụng USB-to-Xbee như Xbee Exploer USB, người dùng có thể nạp dữ liệu qua mạng không dây
Arduino Fio được thiết kế bởi Shigeru Kobayashi và Sparkfun Electronics, và được sản xuất bởi Sparkfun Electronics [5] [6]
2.2.3.2 Đặc điểm Arduino Fio
- Dùng vi điều khiển ATmega328P
- Điện áp hoạt động là 3.3V
- Điện áp đầu vào trong khoảng từ 3,35V-12V
- Điện áp sạc pin 3.7V-7V
- Chân vào ra tín hiệu số 14 trong đó có 6 chân điều khiển độ rộng xung PWM
- Chân đầu vào tương tự gồm có 8 chân
- Dòng điện hoạt động trên các chân là 40mA
- Bộ nhớ Flash là 32KB trong đó có 2KB sử dụng bằng bootloader
Các chân nguồn:
Trang 292.2.3.4 Chân vào ra
Arduino Fio có 14 chân số có thể sử dụng như chân vào hoặc ra dữ liệu bằng
cách sử dụng các hàm pinMode(), digitalWrite() và digitalRead() Các chân này hoạt
động ở mức điện áp 3.3V Mỗi chân có thể cũng cấp hoặc nhận một dòng điện tối đa 40mA và có một điện trở Pull-up (mặc định không nối) có giá trị khoảng 20-50 kOhms Ngoài ra, một số chân còn có chức năng đặc biệt:
- Serial: RXI (D0) và TX0 (D1): Được sử dụng để nhận (RX) và truyền (TX)
dữ liệu nối tiếp TTL
- Ngắt ngoài (chân 2 và 3): Các chân này có thể được cấu hình để kích hoạt một ngắt ở mức thấp, sườn lên hoặc sườn xuống hoặc là thay đổi giá trị Có thể xem chi tiết
- Fio có 8 chân vào Analog, mỗi chân có độ phân giải 10 bit (được chia thành
1024 mức) Các chân đầu vào analog đo từ Ground đến Vcc Ngoài ra, một số chân có chức năng đặc biệt:
- I2C: 4 (SDA) và 5 (SCL) Hỗ trợ truyền thông I2C (TWI) sử dụng thư viện
Write
Có một cặp chân khác trên board mạch:
- AREF: Tham chiếu điện áp đầu vào analog Sử dụng hàm analogReference()
- DTR Đặt dòng điện ở mức LOW để khởi động lại vi điều khiển
Ngoài ra còn còn 8 lỗ Unsoldered trên board:
- BAT+ và BAT-: Được kết nối với một nguồn Pin
- CHG 5V và CHG-: Dùng để kết nối với thiết bị đầu cuối có tổn hao
- SW: Dùng để kết nối với công tắc nguồn trên board
- CTS: Dùng để kết nối với chân #CTS/DIO7 của ổ cắm Xbee
Trang 30- DTR: Dùng để kết nối với chân #DTR/SLEEP_RQ/DI8 của ổ cắm XBee
2.3 Lập trình Arduino
2.3.1 Giới thiệu môi trường lập trình
Truy cập vào đường dẫn http://arduino.cc/en/Main/Software để tải về chương trình Arduino IDE phù hợp với hệ điều hành của máy mình bao gồm Windown, Mac
OS hay Linux Sau khi cài đặt xong thì giao diện chương trình như sau:
Hình 2.5: Giao diện sau khi cài đặt xong phần mêm IDE
2.3.2 Giao diện phần mềm lập trình Arduino
Khi muốn lập trình chúng ta phải khởi động giao diện lập trình trên giao diện có các chức năng được mô tả như sau:
Trang 31 Vùng lệnh
Bao gồm các nút lệnh menu (File, Edit, Sketch, Tools, Help) Phía dưới là các icon cho phép sử dụng nhanh các chức năng thường dùng của IDE (Arduino Toolbar ) được miêu tả như sau:
Verify/ Compile : chức năng kiểm tra lỗi code
Show Sketch Folder : hiển thị nơi code được lưu
Add File : thêm vào một Tap code mới
Import Library : thêm thư viện cho IDE
Vùng viết chương trình
Bạn sẽ viết các đoạn mã của mình tại đây Tên chương trình của bạn được
hiển thị ngay dưới dãy các Icon, ở đây nó tên là “Blink” Để ý rằng phía sau tên chương trình có một dấu “§” Điều đó có nghĩa là đoạn chương trình của bạn chưa
được lưu lại
Trang 32 \Vùng thông báo (debug)
Hình 2.7: Vùng thông báo
Những thông báo từ IDE sẽ được hiển thị tại đây Để ý rằng góc dưới cùng bên phải hiển thị loại board Arduino và cổng COM được sử dụng Luôn chú ý tới mục này bởi nếu chọn sai loại board hoặc cổng COM, bạn sẽ không thể upload được code của mình
Trong giao diện lập trình căn bản khi lập trình cần chú ý các bước:
- Bước 1: Tạo file biên dịch mới
- Bước 2: Lưu file code
- Bước 3: Lập trình code điều khiển
- Bước 4: Biên dịch file để kiểm tra lỗi
- Bước 5: Nạp chương trình vào Board
Trong Arduino hỗ trợ các thư viện và ví dụ mở với các chủ đề khác nhau, muốn dùng ví dụ nào có thể thao tác như hình bên dưới:
Hình 2.8: Lấy ví dụ có sẵn trong Arduino
Trang 33kết nối và Tool> Board để chọn board Arduino sử dụng Sau đó nhấn Upload chương trình được nạp vào và chạy ứng dụng
Hình 2.9: Nạp chương trình cho Arduino
2.3.4 Cấu trúc chương trình lập trình Arduino
Cũng như các ngôn ngữ lập trình khác, ngôn ngữ trong Arduino sử dụng ngôn ngữ C Cấu trúc một chương trình Arduino bao gồm 2 phần chính :
Trang 342.4 Giới thiệu về cảm biến nhịp tim XD-58
2.4.1 Đặc điểm cảm biến XD-58
Cảm biến xung XD- 58C có cơ chế hoạt động dựa trên phương pháp đo quang thể tích, được biết đến như một trong những thiết bị y tế được sử dụng để kiểm tra nhịp tim một cách không xâm lấn Tín hiệu lối ra của cảm biến là dạng tín hiệu tương tự thay đổi dưới dạng điện áp
Cảm biến được sử dụng trong mạch là cảm biến xung, sử dụng ánh sáng xanh, bên trong cảm biến đã tích hợp các bộ lọc, bộ khuếch đại rất thuận tiện cho việc xử lý tín hiệu Với phiên bản mới của cảm biến xung được bổ sung thêm diode bảo vệ diode trên đường dây, thêm bộ lọc tích cực, bộ khuếch đại nên khi có tín hiệu khi tim co lại,
áp suất máu lớn ánh sáng phản xạ thay đổi khi máu bơm qua mô, làm cho các tín hiệu dao động xung quang điểm tham chiếu, khi không có tín hiệu khi tim giãn ra áp suất máu nhỏ thì các tín hiệu dao động quanh điểm giữa của điện áp (hoặc V/2 ) như vậy thì việc tìm ra đỉnh xung là đơn giản hơn
Hình 2.10: Bộ kit cảm biến xung XD- 58C
2.4.2 Cấu trúc cảm biến xung XD-58
Trang 35Mặt trước của cảm biến với biểu tượng trái tim Đây là mặt mà tiếp xúc với da
Ở mặt trước có nhìn thấy một lỗ tròn nhỏ đây là LED phát sáng được sử dụng để truyền ánh sáng qua mô Ngay bên dưới LED là một hình vuông nhỏ đây chính là cảm biến ánh sáng môi trường xung quanh, LED chiếu sáng ánh sáng vào đầu ngón tay, hoặc mô mao mạch và cảm biến đọc ánh sáng bị phản xạ lại
Hình 2.12: Hình ảnh mặt sau của cảm biến nhịp tim XD-58
Mặt sau của cảm biến ta có thể nhìn thấy rõ các linh kiện được sử dụng trong mạch xây dựng cảm biến xung
Có 3 jump chính :
- Dây đỏ là dây nguồn: 3,3 – 5 V
- Dây đen là dây nối đất
- Dây trắng là dây tín hiệu
Hình 2.13: Các chân của cảm biến nhịp tin XD-58
Trang 36Cách kết nối cảm biến xung vào ngón tay
Gắn cảm biến vào ngón tay
Hình 2.14: Cách gắn cảm biến xung vào ngón tay
Đặc điểm thông số đo nhịp tim:
- Dải đo:30…250 (nhịp/ phút)
- Độ chính xác nhịp mạch: 1%: 30…250 (nhịp/ phút)
- Tốc độ nhịp mạch: 20…300 nhịp/ phút (bpm)
Một số lưu ý khi sử dụng cảm biến
- Không kết nối các cảm biến xung lên cơ thể của bạn trong khi máy tính hoặc Arduino của bạn đang được cung cấp từ nguồn điện xoay chiều (AC) Mà nên dùng máy tính xách tay và sạc dùng dòng điện một chiều (DC)
- Không sử dụng cảm biến khi vị trí gắn mặt trước của cảm biến vào những nới
ẩm ướt Nó sẽ gây giảm tuổi thọ của cảm biến và chất lượng của tín hiệu Tốt nhất nên bao phủ mặt trước của cảm biến bằng bóng kính và mặt sau nên được phủ 1 lớp keo nến
- Không kẹp quá chặt hay quá lỏng để tín hiệu đo được chuẩn nhất
Trang 37Sơ đồ chân
Chân S : Chân tín hiệu nối với 1 chân lối vào của vi điều khiển Arduino
Chân + : Chân nối với nguồn dương từ 3V- 5V
Trang 382.5 Lí do lựa chọn màn hỉnh hiển thị LCD 16x2
2.5.1 Công nghệ màn hình hiển thị hiện nay
Công nghệ màn hình ngày càng phát triển, các công ti điện tử tung ra thi trường nhiều dòng sản phẩm Tùy vào thuộc vào giá thành, chất lượng mẫu mã của mỗi sản phẩm khác nhau mà đáp ứng được người dùng tùy thuộc vào nhu cầu sử dụng của họ Dưới đây là một số loại màn hình có trên thị trường Việt Nam
Màn hình SSD1322 OLED
Với nhiều ưu điểm nổi trội như độ tương phản cao, hình ảnh sắc nét Công nghệ màn hình OLED đang dần thay thế các loại màn hình truyền thống hiện nay Trong các lĩnh vực khoa học kĩ thuật, dân sự
Trang 39- Giá thành tương đối cao (16$)
- Có ít trên thị trường Việt Nam
- Có rất nhiều trên thị trường Việt Nam
Ngoài những loại màn hình kể trên Hiện tại thị trường Việt Nam còn nhiều loại màn hình hiển thị khác Đều có chung một chức năng chính là hiển thị Tuy nhiên giá
cả và độ phổ biến rất khác nhau Trong luận văn này, loại màn hình hiển thị được chọn
là loại LCD 16x2 do những ưu điểm của nó: Có nhiều trên thị trường Việt Nam, giá thành rẻ, hiển thị rõ ràng, đáp ứng được yêu cầu luận văn
2.5.2 Đặc điểm chung của của LCD 16x2
Khi sản xuất LCD, nhà sản xuất đã tích hợp chíp điều khiển (HD44780) bên trong lớp vỏ và chỉ đưa các chân giao tiếp cần thiết Các chân này được đánh số thứ tự
và đặt tên như hình dưới [6]
Trang 40Hình 2.20: Sơ đồ chân của LCD 16x2
Bảng 2.2: Chức năng các chân của LCD 16x2
1 Vss Chân nối đất cho LCD, khi thiết kế mạch ta nối chân này với
GND của mạch điều khiển
2 VDD Chân cấp nguồn cho LCD, khi thiết kế mạch ta nối chân này với
VCC=5V của mạch điều khiển
3 VEE Điều chỉnh độ tương phản của LCD
4 RS Chân chọn thanh ghi (Register select) Nối chân RS với logic “0”
(GND) hoặc logic “1” (VCC) để chọn thanh ghi
+ Logic “0”: Bus DB0-DB7 sẽ nối với thanh ghi lệnh IR của LCD (ở chế độ “ghi” - write) hoặc nối với bộ đếm địa chỉ của LCD (ở chế độ “đọc” - read)
+ Logic “1”: Bus DB0-DB7 sẽ nối với thanh ghi dữ liệu DR bên trong LCD
5 R/W Chân chọn chế độ đọc/ghi (Read/Write) Nối chân R/W với logic
“0” để LCD hoạt động ở chế độ ghi, hoặc nối với logic “1” để LCD ở chế độ đọc
6 E Chân cho phép (Enable) Sau khi các tín hiệu được đặt lên bus