Shield LCD Keypad

Từ ChipFC Wiki
Bước tới: chuyển hướng, tìm kiếm

Editor.png

Bài viết này đang được phát triển hoặc chỉnh sửa lớn.
Bạn có thể đóng góp để bài viết hoàn thiện hơn.
Sau khi chỉnh sửa xong thông báo này sẽ được gỡ bỏ.

Giới thiệu

  • Đây là LCD keypad shield rất phổ biến cho Arduino Uno, Diecimila, Duemilanove, Freeduino boards và một số Uno boards khác như Sparkfun Redboard.
  • Gồm màn hình LCD 16x2 và 6 nút nhấn tạm thời. Pin 4,5,6,7,8,9 và 10 được sử dụng để giao tiếp với màn hình LCD. Pin Analog 0(A0) được sử dụng để đọc các nút nhấn. Các LCD shield hỗ trợ điều chỉnh tương phản và chức năng bật/tắt đèn nền. Ngoài ra, boards được mở rộng chân tương tự để tự đọc cảm biến và hiện thị dễ dàng.


Hinh1.jpg

Đặc điểm

  • Khung LCD keypad shield được phát triển cho tương thích với Arduino boards, cung cấp giao diện đơn giản thân thiện cho phép người dùng sử dụng menu, lựa chọn...
  • Màn hình LCD 1602 nền xanh với những từ trắng, sử dụng thư viện 4 BIT Arduino LCD Library. Tích hợp 1 biến trở để điều chỉnh đèn nền.
  • 6 nút cung cấp bảng điều khiển tùy chỉnh (SELECT, LEFT, UP, DOWN, RIGHT, RST(reset)). Các nút được kết nối với 1 đầu Analog thông qua điện trở để cấp cho mỗi nút một điện áp khác nhau.
Pin Connections
Pin chức năng
Analog 0 Button (SELECT,UP,DOWN,RIGHT,LEFT)
Digital 4 DB4
Digital 5 DB5
Digital 6 DB6
Digital 7 DB7
Digital 8 RS (điều khiển địa chỉ nào được ghi dữ liệu)
Digital 9 Enable (cho phép ghi vào LCD)
Digital 10 Backlight(Backlight Anode(+) và Backlight Cathode(-)): Bật/tắt đèn màn hình

sơ đồ chân

Sử dụng

Sơ đồ kết nối


Source code mẫu:

 /*xuất dòng chữ đơn giản*/
#include <LiquidCrystal.h>
//khởi tạo chân cho LCD
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);

void setup() {
  //thông báo đây là lcd 1602:
  lcd.begin(16, 2);
  //in ra màn hình lcd dòng chữ: 
  lcd.print("LCD KEYPAD SHIELD");
}

void loop() {
  //đặt con trỏ vào cột 0 , dòng 1: 
  lcd.setCursor(0, 1);
  //in chữ:
  lcd.print("Chipfc.com");
     
}
 /*xuất ký tự và dịch ký tự*/
#include <LiquidCrystal.h>

LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
//tạo biến với gia trị đầu tiên
int thisChar = 'A';

void setup() {
  lcd.begin(16, 2);
  lcd.cursor();
}

void loop() {
 //hiện từng chữ từ A->M từ trái sang phải
  if (thisChar == 'M') {
    //đến M thì dịch trái
    lcd.rightToLeft();   //dịch thay thế 
  }
  
  if (thisChar == 'S') {
    //đến S dịch sang phải
    lcd.leftToRight();
  }
  //reset khi đến Z
  if (thisChar > 'Z') {
    // đưa con trở từ từ trở về vị trí đầu (không thay thế khi di chuyển qua)
    lcd.home();
    //bắt đầu lại đầu
    thisChar = 'A';
  }
  // print các chữ cái
  lcd.write(thisChar);
  //đợi 1s:
  delay(1000);
  // tăng giá trị biến để xuất ký tự:
  thisChar++;
    
}

Các rắc rối có thể bạn gặp phải

Tham khảo thêm

Link hướng dẫn tiếng Anh