Khối hiển thị

Một phần của tài liệu Thiết kế và thi công hệ thống báo chuông giờ học (Trang 38 - 43)

Lựa chọn linh kiện

- Có rất nhiều thiết bị phục vụ cho quá trình hiển thị, để theo dõi giờ giấc, điều khiển thiết bị

- Các loại phổ biến như màn hình lcd, oled,vv…Tuy nhiên nhóm muốn tùy chỉnh hiển thị màu sắc phong phú và điều chỉnh thời gian bằng cảm ứng . Chọn màn hình HMI nextion là lựa chọn tối ưu nhất đáp ứng đầy đủ các yêu cầu.

Tính năng

- Màn hình HMI UART cảm ứng điện trở Nextion 3.2 inch được phát triển với mục đích giúp người sử dụng có thể thiết kế các giao diện điều khiển và hiển thị (GUI) trên màn cảm ứng 1 cách dễ dàng và trực quan nhất. Các điểm mạnh về tính năng

- Giao tiếp UART, với chỉ 2 dây tín hiệu (TX, RX) rất dễ dàng giao tiếp và điều khiển.

- Phần phểm thiết kế giao diện trên máy tính Nextion Editor trực quan và dễ sử dụng, giao tiếp với màn hình qua giao tiếp UART

- Có bộ nhớ lưu trữ và xử lý hình ảnh, tích hợp khe thẻ nhớ, nên giảm thiểu được hầu hết các tác vụ về xử lý hình cho mạch điều khiển trung tâm, chỉ truyền về trung tâm các dữ liệu thao tác cảm ứng.

- Thiết kế cảm ứng điện trở giúp dễ dàng thao tác khi mang găng tay trong môi trường lao động.

- Mạch có chất lượng gia công tốt, độ bền cao, Giao tiếp qua UART (USART) như TFT, có thêm cảm ứng điện trở.

+ IC chính: TJC3224T032_011R + Độ phân giải: 400x240 + Mức logic: 3.3/5V TTL + RAM: 2048BYTE + Điện áp sử dụng: 4.75-7V + Flash: 4MB

- Lưu ý: đây là phiên bản Trung Quốc tương đương màn hình HMI (Human Machine Interface) UART Nextion. Sử dụng phần mềm tiếng Trung nhưng phần cứng và cách sử dụng gần như tương đương bản tiếng Anh. Có thể tải bản tiếng Anh của Nextion để đối chiếu và sử dụng.

3.4 Khối thời gian thực IC DS3231

Hình 3. 24 Sơ đồ chân của ICDS3231

DS3231 là IC thời gian thực giá rẻ, rất chính xác với thạch anh tích hợp sẵn có khả năng điều chỉnh nhiệt. IC có đầu vào cho pin riêng, tách biệt khỏi nguồn chính đảm bảo cho việc giữ thời gian chính xác. Thạch anh tích hợp sẵn giúp tăng độ chính xác trong thời gian dài hoạt động và giảm số lượng linh kiện cần thiết khi làm board.

Thời gian trong IC được giữ ở dạng: giờ, phút, giây, ngày, thứ, tháng, năm. Các tháng có ít hơn 31 ngày sẽ tự động được điều chỉnh, các năm Nhuận cũng được chỉnh đúng số ngày. Thời gian có thể hoạt động ở chế độ 24h hoặc 12h

AmPm. IC còn có chức năng báo động, có thể cài đặt 2 thời gian báo và lịch, có tín hiệu ra là xung vuông. Giao tiếp với IC được thực hiện thông qua I2C bus.

Hình 3. 21 Giao diện thiết màn hình cảm ứng

Hình 3. 22 Màn hình HMI-Nextion

Trong chip có mạch điện áp chuẩn dùng để theo dõi trạng thái của nguồn VCC, phát hiện lỗi nguồn, tự động chuyển nguồn khi có vấn đề. Có tín hiệu Reset xuất ra cho mạch ngoài, MCU khi nguồn điện phục hồi trạng thái. Ngoài ra trong IC còn có sẵn cảm biến nhiệt độ, có độ chính xác là ± 3°C.

Bảng 3. 4 Chức năng của các chân IC DS3231

Chân Tên Chức năng

1 32kHz Ngõ ra 32kHZ.

2 𝑉𝐶𝐶 Chân cung cấp nguồn DC, điện áp cung cấp là 5V. 3 INT̅̅̅̅̅/SQW Ngõ ra phụ tạo xung dao động (xung vuông).

4 𝑅𝑆𝑇̅̅̅̅̅ Hoạt động ở mức thấp, có chức năng reset lại dữ liệu. 5-12 N.C. Không kết nối.

13 GND Chân nối đất.

14 𝑉𝐵𝐴𝑇 Chân là nguồn nuôi cho chip. Nguồn này từ ( 2V- 3.5V) ta lấy pin có nguồn 3V. Đây là nguồn cho chip hoạt động liên tục khi không có nguồn Vcc mà DS3231 vẫn hoạt động theo thời gian.

15 SDA Chân nhập xuất dữ liệu. Giao tiếp theo chuẩn I2C. 16 SCL Chân xung clock. Giao tiếp theo chuẩn I2C.

Sơ đồ khối:

Hình 3. 25 Sơ đồ khối DS3231

Các lệnh giao tiếp:

Đây là các Timekeeper registers của DS3231, chúng ta sẽ dựa vào bảng này để read/write IC DS3231 qua I2C.

Cấu trúc lệnh

Bảng 3. 5 Chức năng các lệnh giao tiếp

Hàm Chức năng

Wire.begin(address (optional)); Khởi tạo thư viện “Wire.h” và tham gia vào I2C bus. address: 7-bit địa chỉ của thiết bị "Slave" (optional); nếu không có địa chỉ thì coi như "Master".

Wire.beginTransmission(address); Bắt đầu truyền dữ liệu đến thiết bị “Slave” với address đã có.

Wire.endTransmission(); Kết thúc truyền dữ liệu đến thiết bị “Slave” đã được bắt đầu bởi Wire.beginTransmission (address). Wire.write(value); Ghi dữ liệu lên thiết bị "Slave", được gọi giữa

beginTransmission() và endTransmission().

Wire.read(); Đọc dữ liệu được truyền từ thiết bị "Slave" đến mạch sử lý trung tâm, được gọi sau requestFrom(). Wire.requestFrom(address, quantity); Được sử dụng bởi thiết bị "Master" để yêu cầu dữ

liệu từ thiết bị "Slave".

address: là địa chỉ của thiết bị "Slave". quantity: số lượng bytes yêu cầu.

Một phần của tài liệu Thiết kế và thi công hệ thống báo chuông giờ học (Trang 38 - 43)

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

(104 trang)