Skip to content
Home » Arduino Uno R3 Lcd1602 | Introduction: Lcd 1602 With Arduino Uno R3

Arduino Uno R3 Lcd1602 | Introduction: Lcd 1602 With Arduino Uno R3

Giao Tiếp I2C Với LCD 16x2 Bằng Arduino Uno R3 | Điện tử DAT

Cụ thể hoạt động của mạch hiển thị thông tin lên màn hình LCD1602 giao tiếp Arduino

Ngoài ra còn nhiều Phần và các môn khác

Đồ án điện tử, Lập trình vi điều khiển tổng hợp File đồ án – Phần 1 Mạch điện tử, Lập trình vi điều khiển tổng hợp File đồ án – Phần 2 Thiết kế mạch điện tử, Lập trình vi điều khiển tổng hợp File đồ án – Phần 3 Vi xử lý, Lập trình vi điều khiển Pic – 8051 – Avr – Phần 4 Tổng hợp File ĐỒ ÁN Điện tử cơ bản Tổng hợp File ĐỒ ÁN Viễn thông Tổng hợp File ĐỒ ÁN PLC Tổng hợp File ĐỒ ÁN Cung cấp điện

Chúc các bạn thành công…!!!

Tổng quan LCD 16×2 và giao tiếp I2C LCD sử dụng Arduino

Step 5: Code

//LCD1602

//You should now see your LCD1602 display the flowing characters “PRIMEROBOTICS” and “hello, world”

//Email:[email protected]

//Website:www.primerobotics.in

#include

// include the library code

/**********************************************************/

char array1[]=” PrimeRobotics “; //the string to print on the LCD

char array2[]=”hello, world! “; //the string to print on the LCD

int tim = 250; //the value of delay time

// initialize the library with the numbers of the interface pins

LiquidCrystal lcd(4, 6, 10, 11, 12, 13);

/*********************************************************/

void setup()

lcd.begin(16, 2); // set up the LCD’s number of columns and rows:

/*********************************************************/

void loop()

lcd.setCursor(15,0); // set the cursor to column 15, line 0

for ( int positionCounter1 = 0; positionCounter1 < 26; positionCounter1++)

lcd.scrollDisplayLeft(); //Scrolls the contents of the display one space to the left.

lcd.print(array1[positionCounter1]); // Print a message to the LCD.

delay(tim); //wait for 250 microseconds

lcd.clear(); //Clears the LCD screen and positions the cursor in the upper-left corner.

lcd.setCursor(15,1); // set the cursor to column 15, line 1

for (int positionCounter2 = 0; positionCounter2 < 26; positionCounter2++)

lcd.scrollDisplayLeft(); //Scrolls the contents of the display one space to the left.

lcd.print(array2[positionCounter2]); // Print a message to the LCD.

delay(tim); //wait for 250 microseconds

lcd.clear(); //Clears the LCD screen and positions the cursor in the upper-left corner.

/**********************************************************/

    • Tổng tiền thanh toán:
Code test cơ bản

#include

void loop()

Code Đếm số 0 đến 9 LCD 16×2 I2C

#include

void loop()

Code test cơ bản

#include

void loop()

Code Đếm số 0 đến 9 LCD 16×2 I2C

#include

void loop()

    • Tổng tiền thanh toán:

Mã sản phẩm: HH004050

Thương hiệu: (Đang cập nhật …) Loại: (Đang cập nhật …)

Module LCD1602 Keypad Shield

Chân Chức năng
Digital4 DB4
Digital5 DB5
Digital6 DB6
Digital7 DB7
Digital8 RS (data or signal display selection)
Digital9 Enable
Analog0 Buttons (select, up, right, down, left)

—————————-CODE THAM KHẢO—————————–

#include #include

LiquidCrystal lcd(8,9,4,5,6,7); DFR_LCD_Keypad keypad(A0, &lcd); int led=13; int last_key, key; void setup() { lcd.begin(16,2); lcd.setCursor(0,0); lcd.print(“PRESS KEYS NOW”); pinMode(led, OUTPUT); delay(1000); lcd.clear(); } void loop() { last_key = keypad.get_last_key(); key = keypad.read_key(); if (key != last_key) { lcd.clear(); lcd.setCursor(0,0); switch (key) { case KEY_RIGHT: lcd.print(“RIGHT”); break; case KEY_UP: lcd.print(“UP”); break; case KEY_DOWN: lcd.print(“DOWN”); break; case KEY_LEFT: lcd.print(“LEFT”); break; case KEY_SELECT: lcd.print(“SELECT”); digitalWrite(led, HIGH); break; case KEY_NONE: default: lcd.print(“NO KEYS PRESSED”); lcd.setCursor(0,1); lcd.print(“PRESS KEYS NOW”); digitalWrite(led, LOW); break; } } delay(10); }

ĐỊNH NGHĨA SẢN PHẨM

– Sản phẩm chính hãng: Là những sản phẩm được đính kèm nhóm từ “chính hãng…”, đây là những sản phẩm chính hãng như TI, ST, NS, HANTEK, UNI-T,… Chúng tôi khuyến khích khách hàng mua các sản phẩm này. Chất lượng sản phẩm tốt và không gặp phải rủi ro khi sử dụng.

– Các sản phẩm khác: Không đính kèm nhóm từ “chính hãng…”: Đây có thể là những sản phẩm chính hãng nhưng chưa được cập nhật thông tin, hoặc là 1 sản phẩm like new, refubished, sản phẩm Trung Quốc, …. Việc sử dụng sản phẩm có thể gặp phải rủi ro nhỏ.

– Sản phẩm tháo máy: Là những sản phẩm đã qua sử dụng, trong 1 số trường hợp sẽ được tân trang lại để đảm bảo thẩm mỹ đến tay khách hàng. Việc sử dụng sản phẩm có thể gặp phải rủi ro nhỏ.

ĐỐI VỚI NHỮNG ĐƠN HÀNG COD BỊ HOÀN LẠI

Đối với những đơn hàng gửi COD (nhận hàng – thu tiền tại nhà) bị hoàn trả lại do lỗi chủ quan của khách hàng như khách hàng đổi ý không mua sản phẩm, đi vắng không nhận sản phẩm được, không nghe điện thoại từ nhân viên bưu chính,… thì chúng tôi sẽ từ chối gửi bằng hình thức COD cho quý khách từ những đơn hàng tiếp theo. Nếu quý khách vẫn có nhu cầu mua hàng qua dịch vụ chuyển phát xin vui lòng thanh toán 100% tiền hàng trước thông qua ngân hàng, sau khi nhận được tiền chúng tôi sẽ gửi hàng theo đơn hàng đã đặt.

Thành tiền

Table of Contents

Giao Tiếp I2C Với LCD 16x2 Bằng Arduino Uno R3 | Điện tử DAT
Giao Tiếp I2C Với LCD 16×2 Bằng Arduino Uno R3 | Điện tử DAT

Step 2: Principle

Generally, LCD1602 has parallel ports, that is, it

would control several pins at the same time. LCD1602 can be categorized into eight-port and four-port connections. If the eight-port connection is used, then all the digital ports of the Arduino Uno board are almost completely occupied. If you want to connect more sensors, there will be no ports available. Therefore, the four-port connection is used here for better application.

Pins of LCD1602 and their functions

VSS: connected to ground

VDD: connected to a +5V power supply

VO: to adjust the contrast

RS: A register select pin that controls where in the LCD’s memory you are writing data to. You can select either the data register, which holds what goes on the screen, or an instruction register, which is where the LCD’s controller looks for instructions on what to do next.

R/W: A Read/Write pin to select between reading and writing mode

E: An enabling pin that reads the information when High level (1) is received. The instructions are run when the signal changes from High level to Low level.

D0-D7: to read and write data

A and K: Pins that control the LCD backlight. Connect K to GND and A to 3.3v. Open the backlight and you will see clear characters in a comparatively dark environment.

Giới thiệu LCD 16×2

Thông số kỹ thuật LCD 16×2

LCD 16×2 được sử dụng để hiển thị trạng thái hoặc các thông số.

  • LCD 16×2 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 16×2.
  • Các chân điều khiển giúp ta dễ dàng cấu hình LCD ở chế độ lệnh hoặc chế độ dữ liệu.
  • Chúng còn giúp ta cấu hình ở chế độ đọc hoặc ghi.

LCD 16×2 có thể sử dụng ở chế độ 4 bit hoặc 8 bit tùy theo ứng dụng ta đang làm.

Cách Tạo Chế Độ Nghỉ Trên Màn Hình LCD 16X2 Với Arduino Uno R3 | Điện tử DAT
Cách Tạo Chế Độ Nghỉ Trên Màn Hình LCD 16X2 Với Arduino Uno R3 | Điện tử DAT

Step 4: Procedures

Connect K to GND and A to 3.3 V, and then the backlight of the LCD1602 will be turned on. Connect VSS to GND and the LCD1602 to the power source. Connect VO to the middle pin of the potentiometer – with it you can adjust the contrast of the screen display. Connect RS to D4 and R/W pin to GND, which means then you can write characters to the LCD1602. Connect E to pin6 and the characters displayed on the LCD1602 are controlled by D4-D7. For programming, it is optimized by calling function libraries.

Step 1:

Build the circuit.

Step 2:

Download the code from https://github.com/primerobotics/Arduino

Step 3:

Upload the sketch to the Arduino Uno board

Click the Upload icon to upload the code to the control board.

If “Done uploading” appears atthe bottom of the window, it means the sketch has been successfully uploaded.

Note: you may need to adjust the potentiometer on the LCD1602 until it can display clearly.

Lời kết

Qua bài hôm nay các bạn biết cách làm thế nào để hiển thị các ký tự và chuỗi ký tự lên LCD 16×2 và biết cách giao tiếp I2C.

Để nhận được nhiều kiến thức mới các bạn Đăng ký để nhận được thông báo sớm nhất.

Tham gia Cộng đồng Arduino KIT để cùng nhau thảo luận và chia sẽ kiến thức về lập trình Arduino.

Nếu các bạn thấy bài viết bổ ích nhớ Like và Share cho mọi người cùng đọc nhé.

Chúc các bạn thành công.

Trân trọng.

Arduino | Hướng dẫn sử dụng chi tiết LCD
Arduino | Hướng dẫn sử dụng chi tiết LCD

Các lỗi thường gặp khi sử dụng I2C LCD

  • Hiển thị một dãy ô vuông.
  • Màn hình chỉ in ra một ký tự đầu.
  • Màn hình nhấp nháy.

Các lỗi này chủ yếu là do sai địa chỉ bus, để fix lỗi các bạn thay địa chỉ mặc định là “0x27” thành “0x3F.

Trong trường hợp vẫn không được các bạn fix lỗi bằng cách nạp code tìm địa chỉ bus của I2C.

Sau khi tìm xong các bạn thay địa chỉ vừa tìm được vào vị trí “0x27” là xong.

  • Các bạn có thể tải code tìm địa chỉ bus ở đây. Tải ngay.

Module I2C Arduino

LCD có quá nhiều nhiều chân gây khó khăn trong quá trình đấu nối và chiếm dụng nhiều chân trên vi điều khiển.

Module I2C LCD ra đời và giải quyết vấn để này cho bạn.

Thay vì phải mất 6 chân vi điều khiển để kết nối với LCD 16×2 (RS, EN, D7, D6, D5 và D4) thì module IC2 bạn 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 HD44780(LCD 16×2, LCD 20×4, …) và tương thích với hầu hết các vi điều khiển hiện nay.

Ưu điểm

  • 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

  • Điện áp hoạt động: 2.5-6V DC.
  • 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.

Để sử dụng màn hình LCD giao tiếp I2C sử dụng Arduino thì ta cần cài đặt thư viện Liquidcrystal_I2C. Tại đây

🔴 Arduino #26 | Màn Hình LCD 16x2 Kết Hợp Module I2C Hiển Thị Thông Tin
🔴 Arduino #26 | Màn Hình LCD 16×2 Kết Hợp Module I2C Hiển Thị Thông Tin

Introduction: LCD 1602 With Arduino Uno R3

In this lesson, we will learnhow to use an LCD1602 to display characters and strings. LCD1602, or 1602 character-type liquid crystal display, is a kind of dot matrix module to show letters, numbers, and characters and so on. It’s composed of 5×7 or 5×11 dot matrix positions; each position can display one character. There’s a dot pitch between two characters and a space between lines, thus separating characters and lines. The number 1602 means on the display, 2 rows can be showed and 16 characters in each. Now let’s check more details!

Hướng dẫn đồ án hiển thị thông tin lên màn hình LCD1602 giao tiếp Arduino

Phần này chưa được chia sẻ.

LIÊN HỆ thông tin ở TẠI ĐÂY để được hổ trợ tốt hơn.

Phần cứng

Cách 1: Hiển thị bằng cách nối trực tiếp vào Arduino
Cách 2: Hiển thị bằng cách nối qua module I2C LCD giúp tiết kiệm chân cho vi điều khiển

Phần mềm

  • Thư viện LiquidCrystal_I2C.h tải : https://github.com/HuanVo/LiquidCrystal_I2C
  • Các thư viện khác hổ trợ tải trên phần mềm Arduino IDE
Cách 1: Hiển thị bằng cách nối trực tiếp vào Arduino

Cách này có hai phương pháp là dùng : LCD1602 4bit hoặc LCD1602 8bit. Ở đây mình chỉ dùng 4bit sẽ tiết kiệm được chân IO của vi điều khiển. Bạn nào làm giao tiếp LCD1602 8bit thì liên hệ thông tin ở TẠI ĐÂY để được hổ trợ

#include // Initialize the library with the interface pins LiquidCrystal lcd(12, 11, 5, 4, 3, 2); void setup() { // set up the LCD’s number of columns and rows lcd.begin(16, 2); // Print a message to the LCD lcd.print(” Dientunhattung “); } void loop() { // set the cursor to column 0, line 1 // (line 1 is the second row, since counting begins with 0) lcd.setCursor(0, 1); // print the number of seconds since reset: lcd.print(millis()/1000); }

Cách 2: Hiển thị bằng cách nối qua module I2C LCD giúp tiết kiệm chân cho vi điều khiển

#include

#include LiquidCrystal_I2C lcd(0x3F,16,2); void setup() { lcd.init(); lcd.backlight(); lcd.setCursor(2,0); lcd.print(” Dientunhattung”); lcd.setCursor(0,1); lcd.print(“Huynh Nhat Tung “); } void loop() { }

Cách 3: Hiển thị bằng mở rộng bằng IC mở rộng chân như 74HC595, MBI5026…. giúp tiết kiệm chân cho vi điều khiển

Phần này Bạn nào làm giao tiếp mở rộng chân cho LCD thì liên hệ thông tin ở TẠI ĐÂY để được hổ trợ

Hiển Thị Thông Tin Lên LCD 1602 Với Arduino Thành Công 100% | Display With LCD and Arduino
Hiển Thị Thông Tin Lên LCD 1602 Với Arduino Thành Công 100% | Display With LCD and Arduino

Giao tiếp I2C LCD Arduino

Module I2C LCD 16×2 Arduino UNO
GND GND
VCC 5V
SDA A4/SDA
SCL A5/SCL

Sơ đồ đấu nối

Các linh kiện cần thiết cho dự án:

Tên linh kiện Số lượng Shopee
Arduino UNO R3 Mua ngay
Dây cáp nạp Mua ngay
Màn hình LCD 16×2 Mua ngay
Module I2C LCD 16×2 Mua ngay
Dây cắm (Đực – Cái) Mua ngay

Bạn sẽ học được gì

  • Có kiến thức cơ bản về Robotics
  • Chế tạo Robot dò đường thông minh
  • Đánh thức nhà khoa học bên trong bạn
  • Tìm hiểu thêm về Robotics, các thuật toán Robot tự động
  • Kiến thức nền tảng để chế tạo các máy móc tự động phục vụ đời sống sinh hoạt, lao động sản xuất
  • Kiến thức để chế tạo sản phẩm, tham gia các cuộc thi khoa học công nghệ trong nước và quốc tế

Linh kiện cần thiết làm mạch hiển thị thông tin lên màn hình LCD1602 giao tiếp Arduino

1.1 Vi điều khiển Arduino trong mạch hiển thị thông tin lên màn hình LCD1602 giao tiếp Arduino

Giới thiệu LCD1602 giao tiếp Arduino

Arduino Uno R3 (Dip) có 14 chân digital dùng để đọc hoặc xuất tín hiệu. Chúng chỉ có 2 mức điện áp là 0V và 5V với dòng vào/ra tối đa trên mỗi chân là 40mA. Ở mỗi chân đều có các điện trở pull-up từ được cài đặt ngay trong vi điều khiển ATmega328 (mặc định thì các điện trở này không được kết nối).

Các chức năng khác

Arduino Uno R3 là một bảng mạch vi điều khiển nguồn mở dựa trên vi điều khiển Microchip ATmega328 được phát triển bởi Arduino.cc. Bảng mạch được trang bị các bộ chân đầu vào/ đầu ra Digital và Analog có thể giao tiếp với các bảng mạch mở rộng khác nhau. Mạch Arduino Uno thích hợp cho những bạn mới tiếp cận và đam mê về điện tử, lập trình…Dựa trên nền tảng mở do Arduino.cc cung cấp các bạn dễ dàng xây dựng cho mình một dự án nhanh nhất ( lập trình Robot, xe tự hành, điều khiển bật tắt led…).

Chức năng của Arduino R3:
  • 2 chân Serial: 0 (RX) và 1 (TX): dùng để gửi (transmit – TX) và nhận (receive – RX) dữ liệu TTL Serial. Arduino Uno có thể giao tiếp với thiết bị khác thông qua 2 chân này. Kết nối bluetooth thường thấy nói nôm na chính là kết nối Serial không dây. Nếu không cần giao tiếp Serial, bạn không nên sử dụng 2 chân này nếu không cần thiết
  • Chân PWM (~): 3, 5, 6, 9, 10, và 11: cho phép bạn xuất ra xung PWM với độ phân giải 8bit (giá trị từ 0 → 28-1 tương ứng với 0V → 5V) bằng hàm analogWrite(). Nói một cách đơn giản, bạn có thể điều chỉnh được điện áp ra ở chân này từ mức 0V đến 5V thay vì chỉ cố định ở mức 0V và 5V như những chân khác.
Các chức năng khác
  • Chân giao tiếp SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Ngoài các chức năng thông thường, 4 chân này còn dùng để truyền phát dữ liệu bằng giao thức SPI với các thiết bị khác.
  • LED 13: trên Arduino UNO có 1 đèn led màu cam (kí hiệu chữ L). Khi bấm nút Reset, bạn sẽ thấy đèn này nhấp nháy để báo hiệu. Nó được nối với chân số 13. Khi chân này được người dùng sử dụng, LED sẽ sáng.
  • Arduino Uno R3 có 6 chân analog (A0 → A5) cung cấp độ phân giải tín hiệu 10bit (0 → 210-1) để đọc giá trị điện áp trong khoảng 0V → 5V. Với chân AREF trên board, bạn có thể để đưa vào điện áp tham chiếu khi sử dụng các chân analog. Tức là nếu bạn cấp điện áp 2.5V vào chân này thì bạn có thể dùng các chân analog để đo điện áp trong khoảng từ 0V → 2.5V với độ phân giải vẫn là 10bit. Đặc biệt, Arduino UNO có 2 chân A4 (SDA) và A5 (SCL) hỗ trợ giao tiếp I2C/TWI với các thiết bị khác.
c.Thông số kỹ thuật Arduino Uno R3 (Dip)
Datasheets Atmega328
Standard Package 27
Category Integrated Circuits (ICs)
Family Embedded – Atmel
Series Atmega
Packaging Tube
Core Processor AVR
Core Size 8-Bit
Speed 16MHz
Connectivity I²C, SPI, UART / USART, USB
Peripherals Brown-out Detec t/ Reset, HLVD, POR, PWM, WDT
Number of I /O 14
Program Memory Size 32KB
Program Memory Type FLASH
EEPROM Size 1KB
RAM Size 2K
Voltage – Supply (Vcc/Vdd) 4.2 V ~ 5.5 V
Data Converters A/D 6 x 10bit
Oscillator Type Internal
Operating Temperature -40°C ~ 85°C
Package / Case 28-SOIC (0.295″, 7.50mm Width)
Other Names Atmega328
Power
  • LED: Có 1 LED được tích hợp trên bảng mạch và được nối vào chân D13. Khi chân có giá trị mức cao (HIGH) thì LED sẽ sáng và LED tắt khi ở mức thấp (LOW).
  • VIN: Chân này dùng để cấp nguồn ngoài (điện áp cấp từ 7-12VDC).
  • 5V: Điện áp ra 5V (dòng điện trên mỗi chân này tối đa là 500mA).
  • 3V3: Điện áp ra 3.3V (dòng điện trên mỗi chân này tối đa là 50mA).
  • GND: Là chân mang điện cực âm trên board.
  • IOREF: Điệp áp hoạt động của vi điều khiển trên Arduino UNO và có thể đọc điện áp trên chân IOREF. Chân IOREF không dùng để làm chân cấp nguồn.
e.Bộ nhớ

Vi điều khiển ATmega328:

  • 32 KB bộ nhớ Plash: trong đó bootloader chiếm 0.5KB.
  • 2 KB cho SRAM: (Static Random Access Menory): giá trị các biến khai báo sẽ được lưu ở đây. Khai báo càng nhiều biến thì càng tốn nhiều bộ nhớ RAM. Khi mất nguồn dữ liệu trên SRAM sẽ bị mất.
  • 1 KB cho EEPROM: (Electrically Eraseble Programmable Read Only Memory): Là nơi có thể đọc và ghi dữ liệu vào đây và không bị mất dữ liệu khi mất nguồn.
Các chân đầu vào và đầu ra

Trên Board Arduino Uno có 14 chân Digital được sử dụng để làm chân đầu vào và đầu ra và chúng sử dụng các hàm pinMode(), digitalWrite(), digitalRead(). Giá trị điện áp trên mỗi chân là 5V, dòng trên mỗi chân là 20mA và bên trong có điện trở kéo lên là 20-50 ohm. Dòng tối đa trên mỗi chân I/O không vượt quá 40mA để tránh trường hợp gây hỏng board mạch. Ngoài ra, một số chân Digital có chức năng đặt biệt:

  • Serial: 0 (RX) và 1 (TX): Được sử dụng để nhận dữ liệu (RX) và truyền dữ liệu (TX) TTL.
  • Ngắt ngoài: Chân 2 và 3.
  • PWM: 3, 5, 6, 9 và 11 Cung cấp đầu ra xung PWM với độ phân giải 8 bit bằng hàm analogWrite ().
  • SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Các chân này hỗ trợ giao tiếp SPI bằng thư viện SPI.
  • LED: Có 1 LED được tích hợp trên bảng mạch và được nối vào chân D13. Khi chân có giá trị mức cao (HIGH) thì LED sẽ sáng và LED tắt khi ở mức thấp (LOW).
  • TWI/I2C: A4 (SDA) và A5 (SCL) hỗ trợ giao tiếp I2C/TWI với các thiết bị khác.

1.2 LCD1602 cho đề tài mạch hiển thị thông tin lên màn hình LCD1602 giao tiếp Arduino

Giới thiệu
Thông số kỹ thuật
  • Điện áp hoạt động là 5 V.
  • Kích thước: 80 x 36 x 12.5 mm
  • Chữ đen, nền xanh lá
  • Khoảng cách giữa hai chân kết nối là 0.1 inch tiện dụng khi kết nối với Breadboard.
  • Tên các chân được ghi ở mặt sau của màn hình LCD hổ trợ việc kết nối, đi dây điện.
  • Có đèn led nền, có thể dùng biến trở hoặc PWM điều chình độ sáng để sử dụng ít điện năng hơn.
  • Có thể được điều khiển với 6 dây tín hiệu
  • Có bộ ký tự được xây dựng hổ trợ tiếng Anh và tiếng Nhật, xem thêm HD44780 datasheet để biết thêm chi tiết.
Sơ đồ chân LCD 16×2
Số chân Ký hiệu chân Mô tả chân
Vss Cấp điện 0v
Vcc Cấp điện 5v
V0 Chỉnh độ tương phản
RS Lựa chọn thanh ghi địa chỉ hay dữ liệu
RW Lựa chọn thanh ghi Đọc hay Viết
EN Cho phép xuất dữ liệu
D0 Đường truyền dữ liệu 0
D1 Đường truyền dữ liệu 1
D2 Đường truyền dữ liệu 2
10 D3 Đường truyền dữ liệu 3
11 D4 Đường truyền dữ liệu 4
12 D5 Đường truyền dữ liệu 5
13 D6 Đường truyền dữ liệu 6
14 D7 Đường truyền dữ liệu 7
15 Chân dương đèn màn hình
16 Chân âm đèn màn hình
  • Các chân cấp nguồn: Chân số 1 là chân nối mass (0V), chân thứ 2 là Vdd nối với nguồn+5V. Chân thứ 3 dùng để chỉnh contrast thường nối với biến trở.
  • Các chân điều khiển: Chân số 4 là chân RS dùng để điều khiển lựa chọn thanh ghi. ChânR/W dùng để điều khiển quá trình đọc và ghi. Chân E là chân cho phép dạng xung chốt.
  • Các chân dữ liệu D7÷D0: Chân số 7 đến chân số 14 là 8 chân dùng để trao đổi dữ liệu giữa thiết bị điều khiển và LCD.
Địa chỉ ba vùng nhớ
  • Bộ điều khiển LCD có ba vùng nhớ nội, mỗi vùng có chức năng riêng. Bộ điều khiển phải khởi động trước khi truy cập bất kỳ vùng nhớ nào. a. Bộ nhớ DDRAM
  • Bộ nhớ chứa dữ liệu để hiển thị (Display Data RAM: DDRAM) lưu trữ những mã ký tự để hiển thị lên màn hình. Mã ký tự lưu trữ trong vùng DDRAM sẽ tham chiếu với từng bitmap kí tự được lưu trữ trong CGROM đã được định nghĩa trước hoặc đặt trong vùng do người sử dụng định nghĩa. b. Bộ phát kí tự ROM – CGROM
  • Bộ phát kí tự ROM (Character Generator ROM: CGROM) chứa các kiểu bitmap cho mỗi kí tự được định nghĩa trước mà LCD có thể hiển thị, như được trình bày bảng mã ASCII. Mã kí tự lưu trong DDRAM cho mỗi vùng kí tự sẽ được tham chiếu đến một vị trí trong CGROM. Ví dụ: mã kí tự số hex 0x53 lưu trong DDRAM được chuyển sang dạng nhị phân 4 bit cao là DB[7:4] = “0101” và 4 bit thấp là DB[3:0] = “0011” chính là kí tự chữ ‘S’ sẽ hiển thị trên màn hình LCD. c. Bộ phát kí tự RAM – CGRAM
  • Bộ phát kí tự RAM (Character Generator RAM: CG RAM) cung cấp vùng nhớ để tạo ra 8 kí tự tùy ý. Mỗi kí tự gồm 5 cột và 8 hàng.
Các lệnh điều khiển của LCD
  • Lệnh thiết lập chức năng giao tiếp “Function set”:

    • Bit DL (data length) = 1 thì cho phép giao tiếp 8 đường data D7 ÷ D0, nếu bằng 0 thì cho phép giao tiếp 4 đường D7 ÷ D4.
    • Bit N (number of line) = 1 thì cho phép hiển thị 2 hàng, nếu bằng 0 thì cho phép hiển thị 1 hàng.
    • Bit F (font) = 1 thì cho phép hiển thị với ma trận 5×8, nếu bằng 0 thì cho phép hiển thị với ma trận 5×11.
    • Các bit cao còn lại là hằng số không đổi.
  • Lệnh xoá màn hình “Clear Display”: khi thực hiện lệnh này thì LCD sẽ bị xoá và bộ đếm địa chỉ được xoá về 0.
  • Lệnh di chuyển con trỏ về đầu màn hình “Cursor Home”: khi thực hiện lệnh này thì bộ đếm địa chỉ được xoá về 0, phần hiển thị trở về vị trí gốc đã bị dịch trước đó. Nội dung bộ nhớ RAM hiển thị DDRAM không bị thay đổi.
  • Lệnh thiết lập lối vào “Entry mode set”: lệnh này dùng để thiết lập lối vào cho các kí tự hiển thị,

    • Bit I/D = 1 thì con trỏ tự động tăng lên 1 mỗi khi có 1 byte dữ liệu ghi vào bộ hiển thị, khi I/D = 0 thì con trỏ sẽ tự động giảm đi 1 mỗi khi có 1 byte dữ liệu ghi vào bộ hiển thị.
    • Bit S = 1 thì cho phép dịch chuyển dữ liệu mỗi khi nhận 1 byte hiển thị.
  • Lệnh điều khiển con trỏ hiển thị “Display Control”:
    • Bit D: cho phép LCD hiển thị thì D = 1, không cho hiển thị thì bit D = 0.
    • Bit C: cho phép con trỏ hiển thị thì C= 1, không cho hiển thị con trỏ thì bit C = 0.
    • Bit B: cho phép con trỏ nhấp nháy thì B= 1, không cho con trỏ nhấp nháy thì bit B = 0.
    • Với các bit như trên thì để hiển thị phải cho D = 1, 2 bit còn lại thì tùy chọn, trong thư viện thì cho 2 bit đều bằng 0, không cho phép mở con trỏ và nhấp nháy, nếu bạn không thích thì hiệu chỉnh lại.
  • Lệnh di chuyển con trỏ “Cursor /Display Shift”: lệnh này dùng để điều khiển di chuyển con trỏ hiển thị dịch chuyển

    • Bit SC: SC = 1 cho phép dịch chuyển, SC = 0 thì không cho phép.
    • Bit RL xác định hướng dịch chuyển: RL = 1 thì dịch phải, RL = 0 thì dịch trái. Nội dung bộ nhớ DDRAM vẫn không đổi.
    • Vậy khi cho phép dịch thì có 2 tùy chọn: dịch trái và dịch phải.
  • Lệnh thiết lập địa chỉ cho bộ nhớ RAM phát kí tự “Set CGRAM Addr”: lệnh này dùng để thiết lập địa chỉ cho bộ nhớ RAM phát kí tự.
  • Lệnh thiết lập địa chỉ cho bộ nhớ RAM hiển thị “Set DDRAM Addr”: lệnh này dùng để thiết lập địa chỉ cho bộ nhớ RAM lưu trữ các dữ liệu hiển thị.
  • Hai lệnh cuối cùng là lệnh đọc và lệnh ghi dữ liệu LCD.
Bảng mã ASCII sử dụng cho LCD
Bảng địa chỉ cho LCD
Arduino Using LCD1602 Display with I2C module (Experiment # 6 - Get Started with Arduino)
Arduino Using LCD1602 Display with I2C module (Experiment # 6 – Get Started with Arduino)

Code mẫu

#include

#include LiquidCrystal_I2C lcd(0x3F,16,2); void setup() { lcd.init(); lcd.backlight(); lcd.setCursor(2,0); lcd.print(“Arduinokit.vn”); lcd.setCursor(0,1); lcd.print(“Xin chao cac ban”); } void loop() { }

Giải thích code

LiquidCrystal_I2C lcd(0x3F,16,2);

  • Đặt địa chỉ LCD là 0x3F cho màn hình LCD 16×2.
  • 16 là số cột của màn hình (nếu dùng loại màn hình 20×4) thì thay bằng 20.
  • 2 là số dòng của màn hình (nếu dùng loại màn hình 20×4) thì thay bằng 4.

lcd.init();

Khởi động màn hình LCD, bắt đầu cho phép Arduino sử dụng màn hình.

lcd.backlight();

Bật đèn nền LCD 16×2.

lcd.setCursor(2,0);

Đưa con trỏ tới hàng 1, cột 3.

Lưu ý: giá trị hàng và cột bắt đầu từ số 0 có nghĩa 0 là hàng(cột) 1.

lcd.print(“Arduinokit.vn”);

Xuất ra dòng chữ Arduinokit.vn tại vị trí con trỏ ở hàng 1, cột 3.

lcd.setCursor(0,1); lcd.print(“Xin chao cac ban”);

Đoạn code này thì tương tự như trên, xuất ra dòng chữ “Xin chao cac ban” tại vị trí con trỏ ở hàng 2, cột 1.

Bây giờ thì các bạn upload chương trình và xem kết quả nhé.

Keywords searched by users: arduino uno r3 lcd1602

Giao Tiếp Lcd 16X2 I2C Với Arduino Uno | Điện Tử Dat
Giao Tiếp Lcd 16X2 I2C Với Arduino Uno | Điện Tử Dat
Learn To Use Lcd 1602 (I2C & Parallel) With Arduino Uno 📺 - Hackster.Io
Learn To Use Lcd 1602 (I2C & Parallel) With Arduino Uno 📺 – Hackster.Io
Module Lcd1602 Keypad Shield Cho Arduino Uno R3 - S3H21 | Công Ty Cổ Phần  Linh Kiện Việt Nam
Module Lcd1602 Keypad Shield Cho Arduino Uno R3 – S3H21 | Công Ty Cổ Phần Linh Kiện Việt Nam
Màn Hình Lcd Xanh I2C 1602 Cho Arduino 1602 Lcd Uno R3 Mega2560 Lcd1602 +  Ic2 | Shopee Việt Nam
Màn Hình Lcd Xanh I2C 1602 Cho Arduino 1602 Lcd Uno R3 Mega2560 Lcd1602 + Ic2 | Shopee Việt Nam
Mô Đun Màn Hình Lcd Iic / I2C 1602 Cho Arduino 1602 Lcd Uno R3 Mega2560  Lcd1602 | Shopee Việt Nam
Mô Đun Màn Hình Lcd Iic / I2C 1602 Cho Arduino 1602 Lcd Uno R3 Mega2560 Lcd1602 | Shopee Việt Nam
Mô Đun Màn Hình Lcd 1602 Iic / I2C 1602 Cho Arduino 1602 Lcd Uno R3  Mega2560 | Shopee Việt Nam
Mô Đun Màn Hình Lcd 1602 Iic / I2C 1602 Cho Arduino 1602 Lcd Uno R3 Mega2560 | Shopee Việt Nam
Epictac ® Beginners Starter Kit For Arduino Uno R3, Lcd1602, Breadboard, Dc  Motor, With Tutorial And Code - A Gift Worth Rs 200 : Amazon.In: Industrial  & Scientific
Epictac ® Beginners Starter Kit For Arduino Uno R3, Lcd1602, Breadboard, Dc Motor, With Tutorial And Code – A Gift Worth Rs 200 : Amazon.In: Industrial & Scientific
Lcd1602 Giao Tiếp Arduino, Hiển Thị Lên Màn Hình Lcd1602 + Arduino
Lcd1602 Giao Tiếp Arduino, Hiển Thị Lên Màn Hình Lcd1602 + Arduino
Electronics Project Lcd1602 Beginners Starter Kit For Compatible With Arduino  Uno R3, Mega2560, Nano, Servo, Relay, Without Tutorial & Code,Multi :  Amazon.In: Industrial & Scientific
Electronics Project Lcd1602 Beginners Starter Kit For Compatible With Arduino Uno R3, Mega2560, Nano, Servo, Relay, Without Tutorial & Code,Multi : Amazon.In: Industrial & Scientific
Mô Đun Màn Hình Lcd Iic / I2C 1602 Dành Cho Arduino 1602 Lcd Uno R3  Mega2560 Lcd1602 | Shopee Việt Nam
Mô Đun Màn Hình Lcd Iic / I2C 1602 Dành Cho Arduino 1602 Lcd Uno R3 Mega2560 Lcd1602 | Shopee Việt Nam
Iduino Ultimate Starter Kit For Arduino Uno R3, Lcd1602, Servo Motor,  Relay, Processing And C Code, Beginner Starter Kit, Multi : Amazon.In:  Industrial & Scientific
Iduino Ultimate Starter Kit For Arduino Uno R3, Lcd1602, Servo Motor, Relay, Processing And C Code, Beginner Starter Kit, Multi : Amazon.In: Industrial & Scientific
Trung Quốc Giá Thấp Lcd1602 Plus I2C Lcd 1602 Mô-Đun Màn Hình Xanh Lam/Xanh  Lục Pcf8574 Iic/I2C Lcd1602 Tấm Chuyển Đổi Cho Arduino Uno R3 Mega25 - Báo  Giá - Thành Phần
Trung Quốc Giá Thấp Lcd1602 Plus I2C Lcd 1602 Mô-Đun Màn Hình Xanh Lam/Xanh Lục Pcf8574 Iic/I2C Lcd1602 Tấm Chuyển Đổi Cho Arduino Uno R3 Mega25 – Báo Giá – Thành Phần
First Steps With The Arduino-Uno R3 And Nano | Maker, Makered, Makerspaces,  Coding | How-To Transform An Lcd1602 Spi Sketch To An Lcd1602 I2C Sketch |  Edu: Digital Citizenship, Cybersecurity, Eskills, Modern
First Steps With The Arduino-Uno R3 And Nano | Maker, Makered, Makerspaces, Coding | How-To Transform An Lcd1602 Spi Sketch To An Lcd1602 I2C Sketch | Edu: Digital Citizenship, Cybersecurity, Eskills, Modern
Trung Quốc Giá Thấp Lcd1602 Plus I2C Lcd 1602 Mô-Đun Màn Hình Xanh Lam/Xanh  Lục Pcf8574 Iic/I2C Lcd1602 Tấm Chuyển Đổi Cho Arduino Uno R3 Mega25 - Báo  Giá - Thành Phần
Trung Quốc Giá Thấp Lcd1602 Plus I2C Lcd 1602 Mô-Đun Màn Hình Xanh Lam/Xanh Lục Pcf8574 Iic/I2C Lcd1602 Tấm Chuyển Đổi Cho Arduino Uno R3 Mega25 – Báo Giá – Thành Phần
Epictac ® Beginners Super Starter Kit For Arduino Uno R3, Lcd1602,  Breadboard, Dc Motor, 8X8 Dot-Matrix, With Tutorial And Code : Amazon.In:  Industrial & Scientific
Epictac ® Beginners Super Starter Kit For Arduino Uno R3, Lcd1602, Breadboard, Dc Motor, 8X8 Dot-Matrix, With Tutorial And Code : Amazon.In: Industrial & Scientific
Lcd 1602 With Arduino Uno R3 : 6 Steps - Instructables
Lcd 1602 With Arduino Uno R3 : 6 Steps – Instructables
How To Use Lcd Lcd1602 With I2C Module For Arduino - Robojax - Youtube
How To Use Lcd Lcd1602 With I2C Module For Arduino – Robojax – Youtube
Trung Quốc Giá Thấp Lcd1602 Plus I2C Lcd 1602 Mô-Đun Màn Hình Xanh Lam/Xanh  Lục Pcf8574 Iic/I2C Lcd1602 Tấm Chuyển Đổi Cho Arduino Uno R3 Mega25 - Báo  Giá - Thành Phần
Trung Quốc Giá Thấp Lcd1602 Plus I2C Lcd 1602 Mô-Đun Màn Hình Xanh Lam/Xanh Lục Pcf8574 Iic/I2C Lcd1602 Tấm Chuyển Đổi Cho Arduino Uno R3 Mega25 – Báo Giá – Thành Phần
Màn Hình Lcd Xanh I2C 1602 Cho Arduino 1602 Lcd Uno R3 Mega2560 Lcd1602 +  Ic2 | Shopee Việt Nam
Màn Hình Lcd Xanh I2C 1602 Cho Arduino 1602 Lcd Uno R3 Mega2560 Lcd1602 + Ic2 | Shopee Việt Nam
Điều Khiển Lcd1602 Bằng Arduino Uno | Cộng Đồng Arduino Việt Nam
Điều Khiển Lcd1602 Bằng Arduino Uno | Cộng Đồng Arduino Việt Nam
Arduino Uno R3, Đọc Nhiệt Độ Cảm Biến Lm35 Hiển Thị Lcd1602
Arduino Uno R3, Đọc Nhiệt Độ Cảm Biến Lm35 Hiển Thị Lcd1602
Điều Khiển Lcd1602 Bằng Arduino Uno | Cộng Đồng Arduino Việt Nam
Điều Khiển Lcd1602 Bằng Arduino Uno | Cộng Đồng Arduino Việt Nam
First Steps With The Arduino-Uno R3 And Nano | Maker, Makered, Coding |  Rfid Rc522 Tag-Card Reader With Lcd1602-I2C | Edu: Digital Citizenship,  Cybersecurity, Eskills, Modern Edu By Gust Mees
First Steps With The Arduino-Uno R3 And Nano | Maker, Makered, Coding | Rfid Rc522 Tag-Card Reader With Lcd1602-I2C | Edu: Digital Citizenship, Cybersecurity, Eskills, Modern Edu By Gust Mees
Mạch Arduino Uno R3 Giá Tốt T12/2023 | Mua Tại Lazada.Vn
Mạch Arduino Uno R3 Giá Tốt T12/2023 | Mua Tại Lazada.Vn
Lcd1602 Lcd Module Blue Green Screen Iic/I2C 1602 For Arduino 1602 Lcd For Uno  R3 Mega2560
Lcd1602 Lcd Module Blue Green Screen Iic/I2C 1602 For Arduino 1602 Lcd For Uno R3 Mega2560
Dht11 E Lcd 1602 Con Arduino Uno R3 - Youtube
Dht11 E Lcd 1602 Con Arduino Uno R3 – Youtube
Upgraded Advanced Version Starter Kit The Rfid Learn Suite Kit Lcd 1602 For Arduino  Uno R3 | Lazada Ph
Upgraded Advanced Version Starter Kit The Rfid Learn Suite Kit Lcd 1602 For Arduino Uno R3 | Lazada Ph
Iic/I2C/Twi Lcd 1602 16X2 Serial Interface Adapter Module Blue Backlight  For Arduino Uno R3 Mega2560 : Amazon.In: Computers & Accessories
Iic/I2C/Twi Lcd 1602 16X2 Serial Interface Adapter Module Blue Backlight For Arduino Uno R3 Mega2560 : Amazon.In: Computers & Accessories
Starter Kit Rfid Learn Suite Lcd 1602 Uno R3 Electrical Driver Board For  Arduino | Ebay
Starter Kit Rfid Learn Suite Lcd 1602 Uno R3 Electrical Driver Board For Arduino | Ebay
Buy Tự Án Elegoo Mega R3 Bội Kho Online Vietnam | Ubuy
Buy Tự Án Elegoo Mega R3 Bội Kho Online Vietnam | Ubuy
Discontinued] Sainsmart Uno R3+ Sensor V5 + Iic Lcd1602 Y-G Module Di –  Sainsmart.Com
Discontinued] Sainsmart Uno R3+ Sensor V5 + Iic Lcd1602 Y-G Module Di – Sainsmart.Com

See more here: kientrucannam.vn

Leave a Reply

Your email address will not be published. Required fields are marked *