# 並列式驅動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
}
## 五、實驗結果

## 六、實驗討論
第一次在tinkercad上面用LCD來做實驗,跟平常在學校用板子做很不一樣,雖然需要一段時間適應,但最後還是做出來了。
## 七、實驗心得
這次實驗讓我了解如何使用LCD與Arduino,炳在LCD上顯示出想要的圖案。
## 八、參考文獻
作者 艾迪諾
書名 Arduino全能微處理機實習-強效解析
參考頁數 (7-27~7-30)
出版社 全華圖書