LẬP TRÌNH HỆ THỐNG

Một phần của tài liệu Thiết kế và thi công hệ thống thu thập tín hiệu điện tim ECG có hiển thị tín hiệu qua smart phone (Trang 68 - 73)

Chương 3 THI CÔNG HỆ THỐNG

3.4. LẬP TRÌNH HỆ THỐNG

3.4.1. Lưu đồ giải thuật

Sau khi thiết kế tính toán và thi công phần cứng, hệ thống phải được lập trình dựa trên những yêu cầu đặt ra. Để truyền được dữ liệu lên smartphone và server, hệ thống phải được kết nối Wifi. Dữ liệu truyền lên trong đó có tín hiệu điện tim, tín hiệu này được lấy từ cảm biến thông qua giao thức SPI. Ngoài ra tín hiệu còn được hiển thị offline trên oled để dễ hình dung được dạng tín hiệu. Các phần đó được thể hiện rõ hơn ở lưu đồ dưới đây.

Hình 3.12: Lưu đồ chương trình con kết nối wifi

Sơ đồ khối chính của vi điều khiển được thể hiện ở hình 3.11. Theo lưu đồ này thì có các khối để bắt đầu như: khai báo – khởi tạo và cài đặt ban đầu. Tiếp theo là các chương trình con như: kết nối wifi, lấy dữ liệu, gửi và hiển thị dữ liệu. Khi bắt đầu hoạt động, vi điều khiển phải khai báo và khởi tạo các biến cần thiết cho các hoạt động khác của chương trình. Để hoạt động được, vi điều khiển sẽ phải thực hiện các cài đặt ban đầu. Tiếp đó, vi điều khiển sẽ kết nối Wifi để phục vụ cho hoạt động trao đổi dữ liệu. Chương trình con Lấy dữ liệu sẽ lấy dữ liệu từ cảm biết lên và xử lý. Sau đó khối Gửi và hiển thị dữ liệu sẽ tiến hành gửi dữ liệu lên điện thoại và hiển thị dữ liệu lên oled.

Khối Wifi connect có chức năng chính là thực hiện kết nối wifi cho hệ thống.

Hình 3.12 là lưu đồ chi tiết cho chương trình con này. Vi điều khiển sẽ kiểm tra và tự kết nốicấu hình đã lưu trước đó trên bộ nhớ. Nếu có kết nối thì hiển thị địa chỉ IP và thoát. Nếu không được kết nối, vi điều khiển sẽ tiến hành smart config và bắt đầu kết nối wifi. Việc này lặp đi lặp lại nhiều lần cho tới khi kết nối thành công. Khi kết nối thành công, vi điều khiển lưu lại cấu hình đó để phục vụ cho việc kết nối lần sau, hiển thị địa chỉ IP và kết thúc chương trình con.

Chương trình con lấy dữ liệu ở hình 3.13. Ở chương trình này, vi điều khiển sẽ kiểm tra, lấy dữ liệu và xử lý dữ liệu đã nhận được từ cảm biến thông qua giao thức SPI. Đầu tiên vi điều khiển sẽ kiểm tra tín hiệu dữ liệu sẵn sàng từ cảm biến. Nếu chưa có thì kết thúc chương trình con. Nếu có tín hiệu sẵn sàng, vi điều khiển sẽ tiến hành lấy dữ liệu. Tuy nhiên cần phải kiểm tra xem tín hiệu này có phải từ điện cực đã mắc vào cơ

thể hay chưa. Nếu chưa thì cho tín hiệu bằng 0 và kết thúc. Nếu đã là tín hiệu từ điện cực thì sẽ đưa vào xử lý tín hiệu số. Xử lý tín hiệu số bao gồm: Loại bỏ thành phần DC, Lọc thông thấp, Tính toán nhịp tim và thu thập thành mảng dữ liệu. Sau khi thực hiện xử lý tín hiệu số thì sẽ kết thúc chương trình con.

Hình 3.13: Chương trình con lấy dữ liệu

Sau khi xử lý và thu tập tín hiệu xong, tín hiệu được gửi lên điện thoại và hiển thị lên màng hình oled. Công việc này thể hiện ở chương trình con hình 3.14. Vi điều khiển sẽ lần lượt đi từ vị trí đầu tiên đến vị trí cuối cùng của mảng. Mỗi dữ liệu tại vị trí đó được hiển thị lên oled. Đi đến hết mảng dữ liệu, vi điều khiển sẽ gửi tất cả dữ liệu trong mảng lên điện thoại, sau đó sẽ kết thúc chương trình.

3.4.2. Phần mềm lập trình cho vi điều khiển

Arduino IDE là chương trình giúp cho việc lập trình các phần cứng mà nó hỗ trợ. IDE là môi trường phát triển tích hợp chạy trên trên các máy tính cơ bản cá nhân. Môi trường này là một ứng dụng đa nền tảng (cross-platform) được viết bằng ngôn ngữ java. IDE này sẽ được sử dụng cho ngôn ngữ lập trình vi xử lý và project writing. Được thiết kế cho đối tượng mới làm quen với phát triển phần mềm.

Các chương trình Arduino viết bằng C hoặc C++. Arduino IDE đi kèm với một thư viện phần mềm gọi là Writing. Việc sử dụng Writing gốc giúp các thao tác Input/Output và các xử lý khác dễ dàng hơn.

Để sử dụng phần mềm này, đầu tiên vào trang chủ Arduino.cc để tải phần mềm về.

Sau đó nhấn vào cài đặt, chọn thư mục và tiến hành cài đặt.

Giao diện hình 3.15 ta thấy một số thành phần như: Thanh bảng chọn (1), Thanh công cụ (2), vùng code editor (3), vùng thông báo trạng thái (4).

Thanh bản chọn gồm các chọn lựa như: File, Edit, Sketch, Tool và Help. Các chức năng hoạt động của phần mềm đều chứa trong các mục của bảng này. Thanh công cụ chứa: Biên dịch, nạp, new, open, save. Đây là các chức năng chính thường xuyên sử dụng của chương trình. Vùng Code editor dùng để soạn thảo code và vùng thông báo trạng thái dùng để hiển thị trạng thái của chương trình hoạt động như nạp, biên dịch, hiển thị lỗi.

Hình 3.16: Thêm đường dẫn cho Board

Để lập trình esp8266 Node MCU, ta thực hiện qua các bước: Khai báo Board, thêm thư viện, soạn thảo code, biên dịch và nạp. Đầu tiên phải khai báo hệ thống để có Writing gốc. Vào “File\Preferent\Addition Board Manager URLs” và điền vào đường link http://arduino.esp8266.com/stable/package_esp8266com_index.json như hình 3.16. Sau đó vào “Tool/Board/Board Manager” gõ chọn ESP8266 và cài đặt. như hình 3.17.

Một phần của tài liệu Thiết kế và thi công hệ thống thu thập tín hiệu điện tim ECG có hiển thị tín hiệu qua smart phone (Trang 68 - 73)

Tải bản đầy đủ (DOCX)

(105 trang)
w