# HW6_Arduino_漂浮的愛心
>撰寫人[name=AmiYaku1049] [首頁--天空路1049號](https://skys-kid-lai.github.io/1004/)
>>最後編輯[time=Mon, May 16, 2022 3:31 PM]
___
## 實驗目的
透過設計程式碼並使用Tinkercad 網頁版模擬器及Arduino UNO 開發版,做出漂移的心和捲動的字。
## 實驗原理
應用LCD的移位技巧及自建字型,讓LCD顯示漂移的心和捲動的字。
## 實驗材料
**◆透過Tinkercad網頁模擬器線上實作◆**
◎Arduino UNO 開發版 x1
◎歐姆板 x1
◎可變電阻 330Ω x1
◎電阻 220Ω x1
◎滑動式開關 x1
◎AA電池 1.5V x3
◎跟你默契好的可愛電腦 x1
## 實驗步驟
1.在Tinkercad網頁模擬器連接電路
2.在程式編譯區進行程式碼編譯(程式碼在下方↓)
3.確定程式碼無誤,按左上方即可開始模擬
4.紀錄輸出
### 電路連接完整圖

#### 電路部分放大
▽下

▽上

### 程式碼(已經過改良,並非為參考文獻內原始程式碼)
```clink= c
#include <LiquidCrystal.h>
LiquidCrystal LCD(12,11,10,5,4,3,2);
byte heart[8] = {0b00000,
0b01010,
0b11111,
0b11111,
0b01110,
0b00100,
0b00000,
0b00000 };
void setup()
{
LCD.begin(16,2);
LCD.createChar(0,heart);
}
void loop()
{
LCD.home();
LCD.print("I love you baby.");
LCD.setCursor(8,1);
LCD.write(byte(0));
for(int i=0; i<8; i++)
{
LCD.scrollDisplayLeft();
delay(200);
}
for(int i=0; i<15; i+=2)
{
for(int j=0; j<(15-i); j++)
{
LCD.scrollDisplayRight();
delay(200);
}
for(int j=0; j<(15-i-1); j++)
{
LCD.scrollDisplayLeft();
delay(200);
}
}
LCD.clear();
delay(1000);
}
```
## 實驗結果
**◎第一行顯示字元"I love you baby",第二行顯示愛心圖案。**
* 字元會先往左捲動,再往右捲動(此處放電路圖接上電源的照片,以供參考)

**◎觀察調整可變電阻或滑動式開關時,螢幕亮度的變化**
* 滑動式開關開啟,慢慢調整可變電阻(字的亮度變暗)

* 滑動式開關不開,可變電阻維持調整後(字以及螢幕亮度都變暗)

* 滑動式開關不開,可變電阻調整回原樣(螢幕亮度維持變暗,字的亮度變亮)

* 滑動式開關開啟,可變電阻維持原樣(螢幕亮度變亮,字的亮度維持變亮)

## 實驗討論
* **運作過程中,LCD不會亮**
我的解決方法:先檢查程式碼,確認程式碼沒有編譯上的錯誤後,再調整電路。
原因是沒有將Arduino的GND接腳接地。
## 實驗心得
我想知道加分題做成功的都是怎麼做的!
在模擬器上面對於怎麼輸入還不大清楚。
## 實驗文獻
>編者:艾迪諾
>出版日期:2017.01.06
>書名(頁數):Arduino全能微處理機實習:強效解析(p7-27~p7-30)
>出版社:全華圖書
>[color=#CE0000]