找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 12669|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

Arduino教程-旋鈕控制LED神燈

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:99556 發(fā)表于 2016-1-30 18:36 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
Hi,大家好!在之前獲取輸入模擬信號的學(xué)習(xí)中,我們很早就是知道了如何使用旋轉(zhuǎn)電位計。但在那一次的學(xué)習(xí)中,我們并沒有進一步來完成控制LED神燈的亮度。今天呢,我們一方面復(fù)習(xí)之前的學(xué)習(xí),另一方面完成用旋轉(zhuǎn)電位計來控制LED神燈的亮度。
好!還是老規(guī)矩,先來看看這次我們需要哪些硬件吧!
硬件方面
圖片來源:Arduino電路配件
具體包括如下:
  • Arduino UNO電路板(1塊)
  • 面包板(1塊)
  • 220Ω電阻(1個)
  • LED神燈(1盞)
  • 面包線(若干)
上面配件中,都是熟悉的面孔,不多說。
軟件方面Arduino官方提供的IDE
連接電路
圖片來源:Arduino電路連接
電路的連接也很清晰,不多說。
最后一步!
添加幾行代碼首先,還是新建項目一個窗口。

圖片來源:Arduino官方IDE
向其中添加幾行代碼:


  1. // 定義旋轉(zhuǎn)電位計模擬信號輸入針腳號
  2. const int analogInPin = A0;
  3. // 定義LED神燈數(shù)字信號針腳號
  4. const int analogOutPin = 9;
  5. // 定義存儲旋轉(zhuǎn)電位計模擬信號數(shù)值
  6. int sensorValue = 0;
  7. // 控制LED神燈亮暗的模擬信號數(shù)值
  8. int outputValue = 0;
  9. // 對Arduino電路板或相關(guān)狀態(tài)進行初始化方法
  10. void setup() {
  11.   // 開啟串行通信,并設(shè)置其頻率為9600。
  12.   // 如果沒有特別要求,此數(shù)值一般都為9600。
  13.   Serial.begin(9600);
  14. }
  15. // 系統(tǒng)調(diào)用,無限循環(huán)方法
  16. void loop() {
  17.   // 讀取旋轉(zhuǎn)電位計的數(shù)值
  18.   sensorValue = analogRead(analogInPin);
  19.   // 轉(zhuǎn)換電位計的數(shù)值范圍,
  20.   // 將0~1023數(shù)值范圍映射到0~255
  21.   outputValue = map(sensorValue, 0, 1023, 0, 255);
  22.   // 將轉(zhuǎn)換后的數(shù)值,應(yīng)用給LED神燈,
  23.   // 以此控制LED神燈的亮度。
  24.   analogWrite(analogOutPin, outputValue);
  25.   // 向串口調(diào)試窗口打印數(shù)值
  26.   Serial.print("sensor = ");
  27.   Serial.print(sensorValue);
  28.   Serial.print("         output = ");
  29.   Serial.println(outputValue);
  30.   // 延遲2毫秒,進入下一個loop循環(huán)。
  31.   delay(2);
  32. }
復(fù)制代碼


好!代碼輸入完畢!沒有新內(nèi)容,調(diào)用的方法也都是之前見用過的。

圖片來源:Arduino官方IDE的文件編輯菜單選項
點擊上圖中標(biāo)有向右指向的箭頭圖標(biāo),將編寫完成的代碼燒入Arduino電路板。如果一切順利,現(xiàn)在就可以通過控制旋轉(zhuǎn)電位計來調(diào)控LED神燈的亮度啦!
如果想查看串口調(diào)試窗口里的輸出信息,可以點擊上圖中最右側(cè)的放大鏡圖標(biāo),即可查看實時輸出信息。

圖片來源:Arduino串口調(diào)試窗口
總結(jié)這一次的試驗,沒有新內(nèi)容,總的來說呢,是對之前所學(xué)的內(nèi)容重新做了復(fù)習(xí)。這里需要特別注意的是map()方法,這個方法還是蠻常用到的。
下期預(yù)告下一次,我們將介紹一個新的Arduino家族的成員給大家認識,會是誰呢?Mega2560:http://www.torrancerestoration.com/bbs/dpj-43094-1.html

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表