Mỗi Slave có cấu trúc gồm có 3 Port, mỗi Port được thiết kế tương thích với các chuẩn giao tiếp khác nhau, cụ thể như sau:
- Port 1, 2 có thể tương thích với các chuẩn UART, Analog, Digital.
- Port 3 tương thích với các chuẩn Analog, Digital, I2C, UART, SPI.
Ngoài ra, còn có bộ nguồn tùy chỉnh cho người dùng lựa chọn nguồn 5V hay 3.3V tùy loại cảm biến khác nhau.
Chi tiết hoạt động: mỗi Port của Slave sẽ được gắn với một loại cảm biến tại một thời điểm cụ thể tùy theo yêu cầu. Như vậy sẽ có thể có các trường hợp sau:
Trường hợp 1: gắn cảm biến vào đầy đủ các Port, như vậy sẽ có 3 cảm biến (cùng loại hoặc khác loại) được gắn tương ứng với 3 Port.
Trường hợp 2: một hoặc một số Port không được cài đặt cảm biến
Do thiết kế mỗi Slave gồm có 3 Port, tuy nhiên do nhu cầu tại mộtthời điểm cụ thể nào đó chỉ cần sử dụng có 1 (hoặc 2) Port để đọc giá trị của 1 (hoặc 2) cảm biến, thì người dùng chỉ cần thực hiện các bước đơn giản sau: để trống vị trí Port không sử dụng, vào Menu ở Master hoặc Giao diện người dùng ở Google Sheets để tiến hành xóa Port tương ứng là xong, khi muốn sử dụng lại Port đã bỏ trống chỉ việc thực hiện việc điều khiển tương tự và gắn cảm biến tương ứng vào. Tất cả mọi thay đổi đó được tự động hoàn toàn, và không cần nạp lại chương trình phần mềm cho cả Master và Slave.
SVTH: Huỳnh Văn Biên –Nguyễn Nhật Linh Trang 29
Trường hợp 3: tất cả các Port đều không được cài đặt cảm biến
Trường hợp này là khi hệ thống không cần nhiều Slave hoạt động, mà chỉ cần duy nhất một Slave chẳng hạn. Khi đó người dùng muốn xóa đi các Slave không cần sử dụng, người dùng chỉ việc sử dụng Menu ở Master hoặc Giao diện người dùng ở Google Sheets để tiến hành xóa Slave đó đi, khi muốnkết nối lại thì chỉ cần bật Slave lên là thiết bị sẽ được tự động kết nối. Tất cả mọi thay đổi đó được tự động hoàn toàn, và không cần nạp lại chương trình phần mềm cho cả Master và Slave.
Nói chung, tất cả mọi sự thay đổi từ: gắn cảm biến mới, đổi cảm biến, xóa Port, xóa Slave,... đều được diễn ra tự động, không cần nạp lại chương trình cho cả hệ thống.
SVTH: Huỳnh Văn Biên –Nguyễn Nhật Linh Trang 30
CHƯƠNG 4: THIẾT KẾ PHẦN MỀM
Trên cơ sở những công việc đã xây dựng từ luận văn trước đó như: xây dựng toàn bộ hệ thống dựa trên Kit Arduino, sử dụng các thư viện cảm biến có sẵn để đọc cảm biến, sử dụng các thư viện chuẩn giao tiếp đãđược thiết lập sẵn trên Kit Arduino, thu thập và cập nhật dữ liệu lên Google Sheets,…Chúng em sẽ xây dựng lại hệ thống với:
- Sử dụng lại chức năng của bộ xử lí trung tâm của Master, nhưng đồng bộ về phần số byte của cảm biến giữa Slave và Master, nhằm tinh gọn hệ thống, tiết kiệm thời gian và hạn chế sai sót khi thiết lập sử dụng.
- Xây dựng lại hoàn toàn hệ thống các Slave trên chip MSP430G2553.
- Tự xây dựng các thư viện cho cảm biến để đọc các giá trị cảm biến mà không sử dụng thư viện có sẵn như trên Arduino.
- Xây dựng mới thư viện cho chuẩn giao tiếp UART trên chân GPIO của chip MSP430G2553 của các Slave.
- Số hóa các lệnh, thông tin cài đặt trên Google Sheets để việc điều khiển diễn ra nhanh chóng so với việc sử dụng các lệnh ở dạng chuỗi trước đó.
4.1. Giải thuật chạy trên bộ xử lí trung tâm 4.1.1. Chức năng