# 微處理機課堂筆記-滑動式開關與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