此教學文章由舊部落格(已不再更新)搬遷~
剛入門 Arduino 的初學者,想必會想試著顯示一些文字在 LCD 顯示器上,不過看著 LCD 上複雜的腳位,難免會看的眼花撩亂,不知從何下手,這裡講簡單介紹各個腳位的功能,即使不太熟悉照著教學依然能夠快速實現將文字顯示在 LCD 顯示器上。
♦沒有Arduino嗎?沒關係,我們可以使用免費的Arduino線上模擬平台Tinkercad。依然能達到一樣的效果。
所需材料
Arduino Uno R3 板子一塊,麵包版*1,1k電阻*1,雙極性電晶體*1,16*2 LCD 顯示器 *1,杜邦線樹根。
首先我們先來了解一下16*2 LCD 液晶腳位各是代表什麼,說明如下表。
Pin功能定義
Pin No. | 符號 | 說明 |
---|---|---|
1 | VSS | Ground(接地 0V) |
2 | VDD | Power supply for logic(電源 5V) |
3 | VO | Contrast Adjustment(對比(0-5V),可接一個 1k 電阻,或利用可變電阻調整適當的對比) |
4 | RS | Data/ Instruction select signal (Register Select: 1: D0 – D7 當作資料解釋 0: D0 – D7 當作指令解釋) |
5 | R/W | Read/Write select signal(Read/Write mode: 1: 從 LCD 讀取資料 0: 寫資料到 LCD 因為很少從 LCD 這端讀取資料,可將此腳位接地以節省 I/O 腳位) |
6 | E | Enable signal |
7~14 | DB0~DB7 | Data bus line |
15 | A | Power supply for B/L +(背光(串接 330R 電阻到電源)) |
16 | K | Power 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);
}