此教學文章由舊部落格(已不再更新)搬遷~

剛入門 Arduino 的初學者,想必會想試著顯示一些文字在 LCD 顯示器上,不過看著 LCD 上複雜的腳位,難免會看的眼花撩亂,不知從何下手,這裡講簡單介紹各個腳位的功能,即使不太熟悉照著教學依然能夠快速實現將文字顯示在 LCD 顯示器上。

♦沒有Arduino嗎?沒關係,我們可以使用免費的Arduino線上模擬平台Tinkercad。依然能達到一樣的效果。

所需材料

Arduino Uno R3 板子一塊,麵包版*1,1k電阻*1,雙極性電晶體*1,16*2 LCD 顯示器 *1,杜邦線樹根。

首先我們先來了解一下16*2 LCD 液晶腳位各是代表什麼,說明如下表。

Pin功能定義

Pin No.符號說明
1VSSGround(接地 0V)
2VDDPower supply for logic(電源 5V)
3VOContrast Adjustment(對比(0-5V),可接一個 1k 電阻,或利用可變電阻調整適當的對比)
4RSData/ Instruction  select signal (Register Select: 1: D0 – D7 當作資料解釋 0: D0 – D7 當作指令解釋)
5R/WRead/Write select signal(Read/Write mode: 1: 從 LCD 讀取資料 0: 寫資料到 LCD 因為很少從 LCD 這端讀取資料,可將此腳位接地以節省 I/O 腳位)
6EEnable signal
7~14DB0~DB7Data bus line
15APower supply for B/L +(背光(串接 330R 電阻到電源))
16KPower supply for B/L – (背光)

線路圖如下

再來就是程式碼部分

/* Lab9 - 在 2x16 LCD 上顯示 "Hello World" 訊息  
  線路:
 * LCD RS 腳位接到  12
 * LCD Enable 腳位接到  11
 * LCD D4 腳位接到  5
 * LCD D5 腳位接到  4
 * LCD D6 腳位接到  3
 * LCD D7 腳位接到  2
 * 10K Potentiometer:
 * ends to +5V and ground
 * wiper to LCD VO pin (pin 3)
 */

// 引用 LiquidCrystal Library
#include <LiquidCrystal.h>

// 建立 LiquidCrystal 的變數 lcd
// LCD 接腳:  rs, enable, d4, d5, d6, d7  
// 對應到 Arduino 接腳:  12, 11, 5, 4, 3, 2
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() {
  // 設定 LCD 的行列數目 (2 x 16)
  lcd.begin(16, 2);

  // 列印 "Hello World" 訊息到 LCD 上
  lcd.print("hello, world!");
}

void loop() {
  // 將游標設到 column 0, line 1
  // (注意: line 1 是第二行(row),因為是從 0 開始數起):
  lcd.setCursor(0, 1);

  // 列印 Arduino 重開之後經過的秒數
  lcd.print(millis()/1000);
}

教學影片: Arduino LCD 顯示器