


下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第二章 按鈕LED 的顯示一、按鈕LED 延時開關(guān)在上一章中我們使用了Arduino 語言編寫了程序,通過程序完成了流水燈的設(shè)計(jì)與實(shí)驗(yàn),在這一章中,更加深入,通過程序,來達(dá)到手動LED 燈的點(diǎn)亮熄滅,在按下按鈕時,LED 將被點(diǎn)亮,松開按鈕時,LED 將被熄滅,這樣動手參與其中,也會更有吧。二、實(shí)驗(yàn)器件板:1 塊UNOLED 燈:1 個220電阻:1 個10K電阻:1 個面包板:1 塊面包板跳線:若干按鈕:1 個三、連線示意圖:圖 2-1四、硬件連線圖圖 2-2五、硬件知識要點(diǎn)實(shí)驗(yàn)中使用到的按鈕開關(guān)為四腳按鈕開關(guān),其內(nèi)部電路如圖 2-3 所示:圖 2-3限流電阻一般 LED 的最大能承受的電流
2、為 25mA,如若直接將 LED 連接到電路中,當(dāng)其點(diǎn)亮?xí)r,如果電流過大,很容易燒毀。如圖 2-1 所示,我們在 LED 正極串聯(lián)了一個電阻 R2,這樣做可以流過 LED 的電流,防止損壞 LED。這個電阻我們稱之為限流電阻。下拉電阻在 UNO 的 2 號引腳到 GND 之前,連接了一個阻值 10K 的電阻。如果沒有該電阻,當(dāng)未按下按鍵時,2 號引腳會一直處于懸空 狀態(tài),此時使用 digitalRead()2 號引腳狀態(tài),會得到一個不穩(wěn)定的值(可能是高,也可能是低)。添加這個 R1 電阻到地就是為了穩(wěn)定引腳的電平,當(dāng)引腳懸空時,就會識別為低電平。而這種將某節(jié)點(diǎn)通過電阻接地的做法,叫做下拉, 這
3、個電阻叫做下拉電阻。當(dāng)未按下按鍵時,2 號引腳檢測到的輸入電壓為低電平;當(dāng)按下按鍵時,會導(dǎo)通 2 號引腳和VCC,此時 2 號引腳檢測到的輸入電壓為高電平。通過亮滅。按鍵是否被按下,來LED 的六、程序編寫我們可以在 Arduino IDE 菜單>文件>示例>02.Digital>Button中找到以下程序:/ 設(shè)置各引腳別名const int buttonPin = 2; const int ledPin = 13;/連接按鍵的引腳連接 LED 的引腳/ 變量定義int buttonState = 0;/按鍵狀態(tài)的變量void setup() / 初始化 LED 引腳
4、為輸出狀態(tài)pinMedPin, OUTPUT);/ 初始化按鍵引腳為輸入狀態(tài)pinMode(buttonPin, INPUT);void loop()/按鍵狀態(tài)并在變量中buttonState = digitalRead(buttonPin);/ if檢查按鍵是否被按下如果按鍵按下,那 buttonState 應(yīng)該為高電平(buttonState = HIGH) / 點(diǎn)亮 LEDdigitalWrite(ledPin, HIGH);else / 熄滅 LED digitalWrite(ledPin, LOW);七、程序知識要點(diǎn)const 關(guān)鍵字代表常量。它是一個變量限定符,用于修改變量的性質(zhì),
5、使其變?yōu)橹蛔x狀態(tài)。這意味著該變量,就像任何相同類型的其他變量一樣使用,但不能改變其值。buttonState:按鈕的狀態(tài)。八、拓展閱讀在上面的實(shí)驗(yàn)中,我們在按下按鈕之后,LED 會點(diǎn)亮,松開按鍵后,LED 熄滅,接下來我們將對于電路做一個小的修改,從而實(shí)現(xiàn)按下按鈕后,LED 點(diǎn)亮,再次按下按鈕后,LED熄滅。具體電路圖如圖 2-4 所示:圖 2-4在上圖 2-4 中,我們?nèi)サ袅嗽瓉黼娐分?2 號引腳連接的下拉電阻,并將按鍵的一端連接到GND;同時,原程序 setup()中的程序,pinMode(buttonPin,INPUT);改為 pinMode(buttonPin,INPUT_PULLUP
6、);這樣能使能該引腳上的內(nèi)部上拉電阻,等效于在該引腳到 VCC 之間連接一個外部上拉電阻。上拉電阻同下拉電阻一樣,可以穩(wěn)定 I/O 口電平,不同的是電阻連接到 VCC,將引腳穩(wěn)定在高電位。這種電阻叫做上拉電阻。這里使用的是內(nèi)部上拉電阻,也可以使用外部上拉電阻替代。穩(wěn)定懸空引腳的電平所用電阻 應(yīng)該選擇合適的阻值,例如 10K。修改之后的程序如下:int buttonPin = 2; int ledPin = 13;boolean ledState=false;/boolean buttonState=true; /LED 狀態(tài)按鍵狀態(tài)void setup()/ 初始化 I/O 口pinMode(buttonPin, INPUT_PULLUP);pinMedPin,OUTPUT);void loop()/ 等待按鍵按下while(digitalRead(buttonPin)=HIGH)/ 當(dāng)按鍵按下時,點(diǎn)亮或熄滅 LED if(ledState=true)digitalWrite(ledPin,LOW); ledState=!ledState;elsedigitalWrite
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 余熱鍋爐合同樣本
- 公園建材采購合同范例
- 光纖接口采購合同范例
- 供水住宅出租合同范例
- 個人檔案合同范例
- 公司班車出租合同范例
- 2014房租合同范例
- 買賣商品房合同范例
- 傳媒公司人事合同范例
- 喪葬安全合同范例
- 高中英語教師研修-羅馬建筑文化課件
- 貨物驗(yàn)收單(模板)
- 幼兒園教學(xué)課件小班社會《孤獨(dú)的小熊》課件
- 復(fù)旦大學(xué)大學(xué)生創(chuàng)業(yè)導(dǎo)論課件06創(chuàng)業(yè)的商業(yè)計(jì)劃書
- 客訴客退經(jīng)濟(jì)處罰準(zhǔn)則及要求
- 醫(yī)療糾紛和解協(xié)議書(6篇)
- 293219民事訴訟法(第六版)教學(xué)PPT完整版課件全套ppt教學(xué)教程最全電子教案
- 人教版小學(xué)五年級數(shù)學(xué)競賽試題及答案
- 農(nóng)村不動產(chǎn)權(quán)籍調(diào)查工作指南
- 氧氣安全標(biāo)簽
- 管道天然氣改造普及工程(PE管)定向鉆專項(xiàng)施工方案
評論
0/150
提交評論