---
# System prepended metadata

title: HW4_2_Arduino PC調光燈
tags: [Arduino]

---

# HW4_2_Arduino PC調光燈

>撰寫人[name=AmiYaku1049] [首頁--天空路1049號](https://skys-kid-lai.github.io/1004/)
>>最後編輯[time=Mon, Mar 28, 2022 11:33 PM]
___
## 實驗目的

透過序列埠監控視窗，進行調光燈實作

## 實驗原理

透過設計程式碼並使用Ktduino積極體驗板及Arduino UNO 開發版，透過序列埠監控視窗控制LED亮度

## 實驗材料

◎Ktduino積極體驗板 x1
◎Arduino UNO 開發版 x1
◎杜邦線 x1
◎跟你默契好的可愛電腦 x1
◎USB 線 x1

## 實驗步驟

1.在Ktduino積極體驗板及Arduino UNO 開發版連接電路
2.在電腦Aduino編譯程式碼（程式碼在下方↓）
3.確定程式碼無誤，將電路用USB線連接至電腦
4.再編譯及上傳程式碼
5.紀錄輸出

### 程式碼（已經過改良，並非為參考文獻內原始程式碼）

```clink=
const int led = 3;
int data_in = 0, pwm = 0;

void setup(){
  pinMode(led, OUTPUT);
  Serial.begin(9600);
}

void loop(){
  if(Serial.available()>0){      //檢查有沒有資料輸入
    data_in = Serial.read()-48;  //讀取資料後轉成數字
    if(data_in<0 || data_in>9){
      Serial.println("unavailable");  //如果不符規定則輸出unavailable
    }
    else{
      pwm = map(data_in,0,9,0,255);   //範圍調整
      Serial.print("pwm: ");  
      Serial.println(pwm);
      analogWrite(led,pwm);  //驅動LED
    }
  }
}
```

## 實驗結果

在序列埠監控視窗輸入數字（0~9），可更改LED亮度：
* 影片（雜音有點多，如果想看比較清楚的亮度對比，建議可以直接看實驗照片）
{%youtube 7G9aQSVWhEo %}

* 在序列埠間視窗輸入1，觀察LED亮度
![](https://i.imgur.com/knC6z4k.jpg =70%x)

* 在序列埠間視窗輸入8，觀察LED亮度
![](https://i.imgur.com/uN3W6NG.jpg =70%x)

* 在序列埠間視窗輸入9，觀察LED亮度
![](https://i.imgur.com/Z2E9HOq.jpg =70%x)

* 電線接法
![](https://i.imgur.com/gJCIfwR.jpg =70%x)







## 實驗討論

若是在序列埠監控視窗，設定「沒有行結尾」，則不會輸出unavailable。

## 實驗心得

有點可惜感覺沒有拍好結果照片，雖然我看了一下，放大的時候看得到監控視窗輸入欄的數字，但如果沒放大就看得很不清楚了。
不過還好我有想到要把照片亮度調成一樣暗，不然原本的直接每個都超亮（跟影片一樣），拍起來根本看不太出來有沒有變暗啊。

## 實驗文獻

>編者：艾迪諾
>出版日期：2017.01.06
>書名（頁數）：Arduino全能微處理機實習：強效解析（p3-28～p3-32）
>出版社：全華圖書
>[color=#CE0000]