久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術學習與研究
當前位置:單片機教程網 >> Arduino >> 瀏覽文章

基于Proteus的Arduino學習02-按鍵與LED燈的使用

作者:我不是奔跑哥   來源:我不是奔跑哥的blog   點擊數:  更新時間:2014年06月08日   【字體:

按鍵是重要的人機交互的工具,可以通過按鍵將數據輸入給計算機(此處為Arduino),讓Arduino按照人所想的方式工作,或者輸入Arduino的一些工作參數。LED燈可以作為程序調試過程中的指示燈,讓調試者清楚地知道程序現在運行到哪一步,從而可以很快的找出程序的問題所在。

 

在上一節的學習筆記《Arduino UNO實驗板設計》中,我們帶著大家學會了如何使用Protues仿真軟件構建出軟件Arduino的實驗板,并在軟件Arduino UNO實驗板上驗證了閃爍燈的例子,下面我們接著第一節的學習筆記,繼續下面的學習,讓LED燈接受我們的控制,像平時我們打開和關閉房間的節能燈一樣方便。

首先,我們需要打開上次的Arduino UNO實驗板,如圖1所示。從下圖中,我們可以看到Arduino UNO的核心ATmega328P單片機,綠色LED燈LED-GREEN,串口通訊接口COMPIM,這個構成了Arduino的最小系統。

圖1 Arduino UNO實驗板

下面我們要在Arduino UNO實驗板上添加按鍵,在元器件選擇框中輸入“BUTTON”,如圖2所示。選擇上面一個按鍵,并點擊OK將其添加至元器件欄中。

圖2 "BUTTON"按鍵選擇

從元器件欄中將按鍵放置到Arduino UNO實驗板的合適位置,這里我們選擇數字口8,所以放置在其附近,并放置一個10KΩ的電阻,如圖3所示。將按鍵的一端連接至數字口8,一端連接至+5V電源端,電阻的一端連接至數字口8,一端接至低端,構成一個下拉電阻【注】,連接之后的圖如圖4所示。

【注】下拉電阻的一端接至低端,因而叫做下拉電阻,即將電路節點的電平向低方向(地)拉。下拉電阻的主要作用是在電路驅動器(此處為按鍵)斷開時給線路(節點)以一個固定的低電平。【文獻1】

圖3 在Arduino UNO實驗板上放置按鍵和電阻

 
圖4 連接好按鍵和電阻的Arduino UNO實驗板

最后,還需要完成Arduino軟件設計,驗證我們的設計是否可行。先打開ArduinoIDE自帶的例子,如圖5所示。

圖5 打開Arduino IDE的BUTTON示例

我們要對Arduino IDE自帶“BUTTON”例子進行修改,將const int buttonPin = 2;更改為const int buttonPin = 8;因為我們的按鍵連接在數字口8上面,更改之后的程序如下所示。

// set pin numbers:

const int buttonPin = 8;     // the number of the pushbutton pin

const int ledPin =  13;      // the number of the LED pin

 

// variables will change:

int buttonState = 0;         // variable for reading the pushbutton status

 

void setup() {

  // initialize the LED pin as an output:

  pinMode(ledPin, OUTPUT);     

  // initialize the pushbutton pin as an input:

  pinMode(buttonPin, INPUT);    

}

 

void loop(){

  // read the state of the pushbutton value:

  buttonState = digitalRead(buttonPin);

 

  // check if the pushbutton is pressed.

  // if it is, the buttonState is HIGH:

  if (buttonState == HIGH) {    

    // turn LED on:   

    digitalWrite(ledPin, HIGH); 

  }

  else {

    // turn LED off:

    digitalWrite(ledPin, LOW);

  }

}

將更改之后的程序,編譯通過之后,在Protues仿真環境中單擊ATmega328P單片機,將Arduino IDE生成的HEX文件調入到Arduino UNO實驗板中運行。

當按鍵斷開時,LED熄滅,如圖6所示;當按鍵閉合時,LED點亮。如圖7所示。

圖6 按鍵斷開時,LED熄滅
圖7 按鍵閉合時,LED點亮

我們對上面的設計進行一些更改,將按鍵和10KΩ電阻的GND和+5V交換位置,點擊GND彈出更改框為圖8所示。將GND改為+5V,+5V改為GND,實驗板即變為圖9所示。10KΩ的電阻也由下拉電阻變為上拉電阻。【注】

【注】上拉電阻就是將不確定的信號通過一個電阻鉗位在高電平,電阻同時起限流作用。【文獻2】

圖8 更改電源端與地端

圖9 更改之后的實驗板

當我們進行仿真時,出現了與前面相反的效果:當按鍵斷開時,LED點亮,如圖10所示;當按鍵閉合時,LED熄滅,如圖10所示。這就是上拉電阻與下拉電阻的作用。

 

圖10 當按鍵斷開時,LED點亮
 
圖11 當按鍵閉合時,LED熄滅

參考文獻:

文獻1:http://baike.baidu.com/view/1546676.htm

文獻2:http://baike.baidu.com/view/1106477.htm

關閉窗口

相關文章

主站蜘蛛池模板: 91精品国产综合久久福利软件 | 久久的色 | 亚洲国产精品久久人人爱 | 日韩中文字幕在线观看 | 色婷婷在线视频 | h视频免费在线观看 | 91精品国产乱码麻豆白嫩 | 91精品国产综合久久久久 | 在线视频成人 | 久久av影院 | 蜜桃在线视频 | 亚洲 欧美 激情 另类 校园 | 99视频免费在线观看 | 成人亚洲精品 | 久久国产综合 | 91在线免费视频 | 亚洲啊v在线 | 国产成人免费视频 | 亚洲美女网站 | 黄色免费观看 | 粉嫩一区二区三区性色av | 免费在线国产视频 | 欧美国产精品久久久 | 在线91| 狠狠干综合视频 | 亚洲国产精品一区二区三区 | 国产av毛片 | 成人av片在线观看 | 丝袜美腿一区二区三区动态图 | 欧美日韩美女 | 免费一级黄色电影 | 天天插天天操 | 97国产精品视频人人做人人爱 | 黑色丝袜三级在线播放 | 亚洲精品乱码久久久久久黑人 | 日韩欧美理论片 | 国产在线精品一区二区 | 国产一级片 | 免费日韩网站 | 日韩欧美三区 | 免费久久久 |