CHƯƠNG 3 : CHẾ TẠO MƠ HÌNH
3.5. Khối hiển thị
Phần hiển thị của mơ hình dùng LCD16x2 có 16 chân trong đó 8 chân dữ liệu (D0 - D7) và 3 chân điều khiển (RS, RW, EN), 5 chân còn lại dùng để cấp nguồn và đèn nền cho LCD 16x2. Các chân điều khiển giúp quá trình cấu hình LCD ở chế độ lệnh hoặc chế độ dữ liệu được thực hiện dễ dàng. Có thể cấu hình cho LCD ở chế độ đọc hoặc ghi. LCD 16x2 có thể sử dụng ở chế độ 4 bit hoặc 8 bit tùy theo ứng dụng ta đang làm. Nhưng LCD có quá nhiều nhiều chân gây khó khăn trong q trình đấu nối và chiếm dụng nhiều chân trên vi điều khiển. Để khắc phục khó khăn đó Module I2C
LCD ra đời để giải quyết vấn để này.Thay vì phải mất 6 chân vi điều khiển để kết nối
với LCD 16x2 (RS, EN, D7, D6, D5 và D4) thì module IC2 chúng ta chỉ cần tốn 2 chân (SCL, SDA) để kết nối. Module I2C hỗ trợ các loại LCD sử dụng driver
D44780(LCD 16x2, LCD 20x4, ...) và tương thích với hầu hết các vi điều khiển hiện nay.I2C sử dụng hai đường truyền tín hiệu.
- Một đường xung nhịp đồng hồ (SCL) chỉ đo Master phát đi (thông thường ở 100kHz và 400kHz. Mức cao nhất là 1 Mhz và 3,4 Mhz).
- Một đường dữ liệu (SDA) theo 2 hướng.
Có rất nhiều thiết bị có thể cùng được kết nối vào một bus I2C, tuy nhiên sẽkhông xảy ra chuyện nhầm lẫn giữa các thiết bị, bởi mỗi thiết bị sẽ nhận ra bởi một địachỉ duy nhất với một quan hệ chủ/tớ tồn tại trong suốt thời gian kết nối. Mỗi thiết bị cóthể hoạt động như là thiết bị nhận hoặc truyền dữ liệu hay có thể vừa truyền vừa nhận.
Hoạt động truyền hay nhận cịn tùy thuộc vào việc thiết bị đó là chủ (master) hay tớ (Slae). Một thiết bị hay một IC khi kết nới với bus I2C, ngoài một địa chỉ (duy nhất) đểphân biệt, nó cịn được cấu hình là thiết bị chủ hay tớ. Tại sao lại có sự khác biệt này? Đó là vì trên một bus I2C thì truyền điều khiển thuộc về thiết bị chủ. Thiết bị chủ nắm vai trị tạo xung đồng hồ cho tồn hệ thống, khi giữa hai thiết bị chủ-tớ giao tiếp thì thiết bị chủ có nhiệm vụ tạo xung đồng hồ và quản lý địa chỉ của thiết bị trong suốtquá trình giao tiếp. Thiết bị chủ giữ vai trị chủ động, còn thiết bị tớ giữ vai trò bị động trong việc giao tiếp.
Về lý thuyết lẫn thực tế I2C sử dụng 7 bit để định địa chỉ, do đó trên một bus cóthể có tới 2^7 địa chỉ tương ứng với 128 thiết bị có thể kết nối, 16 địa chỉ cịn lại được sử dụng vào mục đích tiêng. Bit cịn lại quy định việc đọc hay ghi dữ liệu (1 là write, 0 là read).
Điểm mạnh của I2C chính là hiệu suất và sự đơn giảm của nó: Một khối điều khiển trung tâm có thể điều khiển cả một mạng thiết bị mà chỉ cần hai lối ra điều khiển.
Ngồi I2C cịn có chế độ 10 bit địa chỉ tương đương cới 1024 địa chỉ, tương tựnhư 7 bit, chỉ có 1008 thiết bị có thể kết nối, cịn lại 16 địa chỉ sẽ dùng để sử dụng mục đích riêng.
Ưu điểm Module I2C LCD
- Tiết kiệm chân cho vi điều khiển. - Dễ dàng kết nối với LCD.
Thông số kĩ thuật Module I2C LCD
- Hỗ trợ màn hình: LCD1602,1604,2004 (driver HD44780). - Giao tiếp: I2C.
- Địa chỉ mặc định: 0X27 (có thể điều chỉnh bằng ngắn mạch chân A0/A1/A2). - Tích hợp Jump chốt để cung cấp đèn cho LCD hoặc ngắt.
- Tích hợp biến trở xoay điều chỉnh độ tương phản cho LCD.
Module I2C LCD thể hiện ở hình 3.5a. Kết nối LCD với vi điều khiển thông qua Module I2C LCD được thể hiện hình 3.5b.
a)
Hình 3. 5 a. Module I2C;
b. Sơ đồ kết nối phần LCD với cổng ra của Arduino thông qua IC2