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 4.11: Lưu đồ khối chính của hệ thống
Sơ đồ khối chính của vi điều khiển được thể hiện ở hình 4.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 4.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ối cấ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.
Hình 4.12: Lưu đồ chương trình con kết nối wifi
Chương trình con lấy dữ liệu ở hình 4.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ữ
Hình 4.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 4.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.