---
# System prepended metadata

title: 並列式驅動LCD

---

# 並列式驅動LCD
     班級：資工三乙 
     姓名：李至詠
     學號：1110832068 
## 一、實驗目的
     在此將應用LCD的移位技巧，以及自建字型，讓LCD顯示漂移的心。
## 二、實驗原理
     透過在tinkercad輸入的程式碼，加上線路連接完成後，就能在LCD上顯示漂移的心。
## 三、實驗材料
     麵包版                  一個
     Arduino Uno R3         一個
     LCD 16 x 2             一個
## 四、實驗步驟
     1.開啟tinkercad，然後依據課本的需求，將線路連接完成。
     2.開啟程式碼，然後按照課本的程式輸入。
     3.輸入完成後，點擊開始模擬，就能跑出字和圖形出來了。
#### 程式碼如下
     #include <LiquidCrystal.h> // 包含LiquidCrystal.h標頭檔
     LiquidCrystal LCD(12,11,10,5,4,3,2); // 建構LiquidCrystal物件
     byte heart[8] = {
     0b00000,
     0b01010,
     0b11111,
     0b11111,
     0b01110,
     0b00100,
     0b00000,
     0b00000
     };
     // 初始設定
     void setup() {
     LCD.begin(16,2); // 啟用16x2 LCD
     LCD.createChar(0, heart); // 載入自建字型編碼陣列
     }

     // 主程式
     void loop() {
     LCD.home(); // 移至左上角
     LCD.print("I love you baby."); // 顯示第0列
     LCD.setCursor(8,1); // 移至第1列中間
     LCD.write(byte(0)); // 顯示愛心
     for (int i=0; i<8; i++){ // 由中間開始左偏
     LCD.scrollDisplayLeft(); // 左捲一位
     delay(200); // 持續顯示0.2s
     }
     for (int i=0; i<15; i+=2){ // 由左邊往右偏
     for (int j=0; j<(15-i); j++){ // 由左邊往右偏
     LCD.scrollDisplayRight(); // 右捲一位
     delay(200); // 持續顯示0.2s
     }

     for (int j=0; j<(15-i-1); j++){ // 由右邊往左偏
     LCD.scrollDisplayLeft(); // 左捲一位
     delay(200); // 持續顯示0.2s
     }
     }
     LCD.clear(); // 清除螢幕
     delay(1000); // 暫停顯示1s
     }
## 五、實驗結果
![](https://i.imgur.com/gT1Np6v.png =700x850)
## 六、實驗討論
     第一次在tinkercad上面用LCD來做實驗，跟平常在學校用板子做很不一樣，雖然需要一段時間適應，但最後還是做出來了。
## 七、實驗心得
     這次實驗讓我了解如何使用LCD與Arduino，炳在LCD上顯示出想要的圖案。
## 八、參考文獻
     作者  艾迪諾
     書名  Arduino全能微處理機實習-強效解析
     參考頁數  (7-27~7-30)
     出版社  全華圖書