# 微處理機課堂筆記-滑動式開關與1W LED 實驗
### 班級:資工三乙
### 座號:046
### 姓名:陳德恩
### 一.實驗標題:滑動式開關與1W LED 實驗
### 二.指導老師:林宏益 老師
### 三.報告內容:
#### 1.實驗目的:
透過滑動電位計位置的改變來觀察電位的改變對於LED亮度的影響。
#### 2.實驗原理:
透過Arduino C程式語言以及KTduino積極開發版來進行電位控制燈泡亮度的實驗,藉此觀察兩者之間的關係。
#### 3實驗材料:
|開發版 | 傳輸線 | 杜邦線 |變壓器|
| -------- | -------- | -------- |-------- |
| KTduino積極開發版 x1 | usb A to mini usb cable x1 | 共3條|專用變壓器|
#### 4.實驗簡介:
(1).開關向左移,燈泡電壓會變大,因此亮度提升。
(2).開關向右移,燈泡電壓會變小,因此亮度減少。
#### 5.實驗步驟:
STEP1:建立Arduino 程式碼,透過Arduino專用編譯器撰寫所需之程式碼,程式碼可參考課本與老師提供的上課簡報。
STEP2:開始組裝硬體的線路,參考課本的接線圖,進行線路串接。
STEP3:通電,燒錄程式碼,開始測試裝置是否運作成功。
STEP4:<strong >修改程式的不當撰寫方式,增加程式可讀性,減少未來開發時的技術負載,同時也可增加未來的擴充性,改善程式的品質也可以減少維護所需的時間。</strong>
#### 6.成品說明:
(1).開關向左移,燈泡電壓會變大,因此亮度提升。
(2).開關向右移,燈泡電壓會變小,因此亮度減少。
#### 7.原本的程式碼:
``` clike=
//experiment report which writed by Andy Chen(1110832098).
// date:2022/3/23
//project theme:LED PWM Control
const int LED=3;
const int POT=A0;
int val=0;
void setup()
{
Serial.begin(9600);
pinMode(LED,OUTPUT);
}
void loop()
{
val=analogRead(POT);
analogWrite(LED,val/4);
Serial.begin(val);
//the denominator varible under the val should use the multiple of 2.
//if we don't use these kinds of varibles,we will face some difficulties in this project.
Serial.println(val);
}
```
### 8.延伸實驗-聲控LED(參考3-6聲音量測):
``` clike=
//experiment report which writed by Andy Chen(1110832098).
// date:2022/3/23
//project theme:MIC-detection.
const int MIC=A0;
const int LED=3;
int val =0;
int s=0;
void setup()
{
Serial.begin(9600);
}
void loop()
{
val =analogRead(MIC);
while(val>1)
{
Serial.println(val);
digitalWrite(LED,HIGH);
delay(1000);
}
delay(100);
}
//idea: When we detect the voice, we turn on the light on the develop board.
//usage: I think this simple device can allow us to live a better life,For instance,we can hold a perfect singing anniversary which contain music and this creative product
///when the singer sing,the light will shine as the beautiful melody.
```
#### 9.實驗結果:
實驗1-LED調整:
實驗成功,燈泡可以正常開關,此外,若val變數的分母不是2的倍數,則程式的執行會發生問題,觀察下來發現可變電位計在中間時燈泡最亮,在兩端是最暗的,但是還是無法完全關閉。
實驗2-聲控電路:
實驗成功了一半,系統的偵測視窗可以抓到聲波的變化數值,但是卻無法隨著數值變化去調整燈泡開關與否。
![](https://i.imgur.com/QOSiumC.jpg)
#### 圖一.燈泡沒有亮(開關在右側)
![](https://i.imgur.com/HlOsruf.jpg)
#### 圖二.燈泡亮起來(開關在左側)
![](https://i.imgur.com/fQ796Xn.png)
#### 圖三.編譯器視窗讀取聲波參數
#### 10.實驗討論:
這次的實驗主要探討電壓高低對於燈泡亮暗的影響,觀察之後發現電壓高的時候燈泡會亮,電壓低的時候燈泡會變暗,然後<Strong>滑動開關則是在控制電壓(電位)。</Strong>
#### 11.實驗心得:
這次的實驗我覺得很有趣,後面的實驗雖然沒有完全做出來(發出聲音無法正常開燈),但是這個過程也讓我了解到如何設計微處理機,希望之後有機會能夠把完整的聲控電路做出來。
#### 12.參考文獻:
艾迪諾 西元2015年 Arduino全能微處理機實習強效解析 p.4-50~p.4-55