|
Hi,大家好!在之前獲取輸入模擬信號(hào)的學(xué)習(xí)中,我們很早就是知道了如何使用旋轉(zhuǎn)電位計(jì)。但在那一次的學(xué)習(xí)中,我們并沒(méi)有進(jìn)一步來(lái)完成控制LED神燈的亮度。今天呢,我們一方面復(fù)習(xí)之前的學(xué)習(xí),另一方面完成用旋轉(zhuǎn)電位計(jì)來(lái)控制LED神燈的亮度。
好!還是老規(guī)矩,先來(lái)看看這次我們需要哪些硬件吧!
硬件方面
arduino-switch-led-parts.jpg (136.94 KB, 下載次數(shù): 190)
下載附件
2016-1-30 18:40 上傳
圖片來(lái)源:Arduino電路配件
具體包括如下:
- Arduino UNO電路板(1塊)
- 面包板(1塊)
- 220Ω電阻(1個(gè))
- LED神燈(1盞)
- 面包線(xiàn)(若干)
上面配件中,都是熟悉的面孔,不多說(shuō)。
軟件方面Arduino官方提供的IDE
連接電路
arduino-switch-led.jpg (116.74 KB, 下載次數(shù): 176)
下載附件
2016-1-30 18:40 上傳
圖片來(lái)源:Arduino電路連接
電路的連接也很清晰,不多說(shuō)。
最后一步!
添加幾行代碼首先,還是新建項(xiàng)目一個(gè)窗口。
arduino-ide-new.jpg (70.98 KB, 下載次數(shù): 187)
下載附件
2016-1-30 18:40 上傳
圖片來(lái)源:Arduino官方IDE
向其中添加幾行代碼:
- // 定義旋轉(zhuǎn)電位計(jì)模擬信號(hào)輸入針腳號(hào)
- const int analogInPin = A0;
- // 定義LED神燈數(shù)字信號(hào)針腳號(hào)
- const int analogOutPin = 9;
- // 定義存儲(chǔ)旋轉(zhuǎn)電位計(jì)模擬信號(hào)數(shù)值
- int sensorValue = 0;
- // 控制LED神燈亮暗的模擬信號(hào)數(shù)值
- int outputValue = 0;
- // 對(duì)Arduino電路板或相關(guān)狀態(tài)進(jìn)行初始化方法
- void setup() {
- // 開(kāi)啟串行通信,并設(shè)置其頻率為9600。
- // 如果沒(méi)有特別要求,此數(shù)值一般都為9600。
- Serial.begin(9600);
- }
- // 系統(tǒng)調(diào)用,無(wú)限循環(huán)方法
- void loop() {
- // 讀取旋轉(zhuǎn)電位計(jì)的數(shù)值
- sensorValue = analogRead(analogInPin);
- // 轉(zhuǎn)換電位計(jì)的數(shù)值范圍,
- // 將0~1023數(shù)值范圍映射到0~255
- outputValue = map(sensorValue, 0, 1023, 0, 255);
- // 將轉(zhuǎn)換后的數(shù)值,應(yīng)用給LED神燈,
- // 以此控制LED神燈的亮度。
- analogWrite(analogOutPin, outputValue);
- // 向串口調(diào)試窗口打印數(shù)值
- Serial.print("sensor = ");
- Serial.print(sensorValue);
- Serial.print(" output = ");
- Serial.println(outputValue);
- // 延遲2毫秒,進(jìn)入下一個(gè)loop循環(huán)。
- delay(2);
- }
復(fù)制代碼
好!代碼輸入完畢!沒(méi)有新內(nèi)容,調(diào)用的方法也都是之前見(jiàn)用過(guò)的。
arduino-menu.jpg (9.87 KB, 下載次數(shù): 173)
下載附件
2016-1-30 18:40 上傳
圖片來(lái)源:Arduino官方IDE的文件編輯菜單選項(xiàng)
點(diǎn)擊上圖中標(biāo)有向右指向的箭頭圖標(biāo),將編寫(xiě)完成的代碼燒入Arduino電路板。如果一切順利,現(xiàn)在就可以通過(guò)控制旋轉(zhuǎn)電位計(jì)來(lái)調(diào)控LED神燈的亮度啦!
如果想查看串口調(diào)試窗口里的輸出信息,可以點(diǎn)擊上圖中最右側(cè)的放大鏡圖標(biāo),即可查看實(shí)時(shí)輸出信息。
arduino-switch-led-serial.jpg (122.4 KB, 下載次數(shù): 171)
下載附件
2016-1-30 18:40 上傳
圖片來(lái)源:Arduino串口調(diào)試窗口
總結(jié)這一次的試驗(yàn),沒(méi)有新內(nèi)容,總的來(lái)說(shuō)呢,是對(duì)之前所學(xué)的內(nèi)容重新做了復(fù)習(xí)。這里需要特別注意的是map()方法,這個(gè)方法還是蠻常用到的。
下期預(yù)告下一次,我們將介紹一個(gè)新的Arduino家族的成員給大家認(rèn)識(shí),會(huì)是誰(shuí)呢?Mega2560:http://www.zg4o1577.cn/bbs/dpj-43094-1.html
|
|