資料介紹
描述
該項(xiàng)目添加了用戶輸入:一種以硬件語(yǔ)言向您的 Arduino 發(fā)送消息的方法。
讓我們加載文件 > 示例 > 數(shù)字 > 按鈕
該草圖在開(kāi)場(chǎng)評(píng)論中包含對(duì)電路的很好描述。像這樣連接起來(lái):
請(qǐng)注意 LED 的電路部分現(xiàn)在的樣子。大多數(shù)面包板都有電源和接地導(dǎo)軌貫穿整個(gè)長(zhǎng)度。這樣一來(lái),只需一根電線就可以更輕松地將電路連接到每個(gè)運(yùn)行回控制器的電路。因此,按鈕上的電阻器和 LED 都被鉤回這個(gè)接地軌——而不是占用 Arduino 的兩個(gè) GND 引腳。
我們剛剛添加的電阻是下拉電阻。我們的代碼將通過(guò)按下按鈕檢查我們的數(shù)字引腳 2 是否連接到電源。但是在未連接時(shí),引腳的值會(huì)浮動(dòng)在 HIGH(通電)和 LOW(接地)之間。因此,我們一直通過(guò)這個(gè) 10 kΩ 電阻器讓一點(diǎn)功率流到接地引腳,這會(huì)將其“拉低”為低電平。但是當(dāng)按下按鈕時(shí),電源開(kāi)始在 5V 引腳和引腳 2 之間流動(dòng),因此變?yōu)楦唠娖健?/font>
代碼
這一次,我們從將要使用的不同變量的一些聲明開(kāi)始。在 Blink 草圖中,如果您想更改 LED 所在的引腳,您必須在三個(gè)不同的位置更改引腳 13。這一次,我們告訴 Arduino 我們將使用“buttonPin”來(lái)表示引腳 2,并使用“l(fā)edPin”來(lái)表示引腳 13?,F(xiàn)在,無(wú)論何時(shí)我們?cè)谖锢砩辖粨Q東西,我們只需要在一個(gè)地方更改該引腳號(hào).
這些變量將在程序運(yùn)行的整個(gè)過(guò)程中保持不變,因此我們稱它們?yōu)槌A俊虼朔Q為 const int。我們擁有的另一個(gè)變量將改變以反映我們的按鈕按下,所以它只是一個(gè)普通的 int。
這一次,我們?cè)谠O(shè)置部分有輸入(按鈕)和輸出(LED)。
在我們的循環(huán)中,我們要做的第一件事是使用 digitalRead 檢查引腳 2 是高電平還是低電平。然后,根據(jù)結(jié)果,我們使用 if/else 語(yǔ)句來(lái)觸發(fā)正確的操作。如果它是 HIGH(按下按鈕),也將 LED 設(shè)置為 HIGH。否則(否則),將 LED 設(shè)置為低電平。
僅供參考,您可以有兩個(gè)以上的條件 - 在這種情況下,您告訴它“如果按鈕打開(kāi),則打開(kāi) LED;否則如果未按下按鈕,則關(guān)閉 LED;否則(假設(shè)按鈕有不復(fù)存在或薛定諤來(lái)訪)聳聳肩,什么也不做?!?/font>
備用電路
使用 Arduino 的內(nèi)置上拉電阻器連接這個(gè)電路有一個(gè)稍微簡(jiǎn)單的方法。正如您可能懷疑的那樣,這些與下拉電阻相反:它們?cè)试S電壓源和引腳之間的少量功率流動(dòng),而無(wú)需進(jìn)行任何物理連接,因此引腳通常保持高電平,除非您已連接它接地。超級(jí)方便!
您需要做的就是將按鈕的類型更改為 INPUT_PULLUP,然后將按鈕直接連接到引腳 d2 和 GND——無(wú)需外部電阻。
您可能會(huì)懷疑,這會(huì)改變 Arduino 的行為。由于該引腳現(xiàn)在通常為高電平,因此 LED 將一直亮著,直到您按下按鈕。因此,您可以切換您的條件:
if (buttonState == LOW) {
digitalWrite(ledPin, HIGH);
} else {
digitalWrite(ledPin, LOW);
}
適應(yīng)這個(gè)
所以,在這種情況下,我們使用了一個(gè)按鈕,但這只是一種數(shù)字輸入!你還能用什么?
- Switch – 添加物理控制來(lái)切換不同的代碼部分。
- 簧片開(kāi)關(guān) - 使用這些兩部分磁性開(kāi)關(guān)感應(yīng)門(mén)是打開(kāi)還是關(guān)閉。
- 電線——你甚至不需要一個(gè)“真正的”按鈕……將兩根電線或金屬片粘在不同的表面上,并檢測(cè)它們何時(shí)接觸。我曾經(jīng)以這種方式制造了一個(gè)可怕的儀器,使用加重的錫箔球連接兩根電線作為原始開(kāi)關(guān)。
此外,請(qǐng)參閱下面的代碼以獲取 LATCHING / TOGGLE 版本 - 一個(gè)保持“按下”狀態(tài)的按鈕,直到您再次按下它。
下一步
使用串行監(jiān)視器從您的按鈕獲取實(shí)時(shí)文本反饋!
- 一種全新的遙感圖像描述生成方法 2次下載
- 一種針對(duì)有向網(wǎng)絡(luò)表示學(xué)習(xí)的優(yōu)化方法 10次下載
- 一種側(cè)重于學(xué)習(xí)情感特征的預(yù)訓(xùn)練方法 4次下載
- Arduino編程基礎(chǔ)(一)——Arduino語(yǔ)言資料下載
- 一種支持用戶隱私保護(hù)的信息傳播方法 6次下載
- 一種基于FPGA的時(shí)鐘同功耗步信息采集方法 6次下載
- 一種融合條件隨機(jī)場(chǎng)與規(guī)則的識(shí)別方法 7次下載
- 一種基于表結(jié)構(gòu)和內(nèi)容的問(wèn)句理解方法 14次下載
- 一種新的導(dǎo)向式灰盒模糊測(cè)試方法 7次下載
- 一種針對(duì)DoT算法的模板攻擊方法 8次下載
- 一種針對(duì)DoT算法的模板攻擊方法 12次下載
- 一種針對(duì)中英混合文本的多維度多情感分析方法 16次下載
- 如何使用一種形式化方法的3D虛擬祭祀場(chǎng)景建模語(yǔ)言與環(huán)境 9次下載
- DSP硬件驅(qū)動(dòng)程序的一種方法 1次下載
- 基于Processing與Arduino有線OTG聯(lián)機(jī)方法 9次下載
- 一種簡(jiǎn)單高效配置FPGA的方法 746次閱讀
- 一種基于自然語(yǔ)言的軌跡修正方法 473次閱讀
- 如何使用Python和PinPong庫(kù)控制Arduino 1033次閱讀
- 一種高效的串口收發(fā)思路及方案 707次閱讀
- 一種可重構(gòu)的硬件處理器方法 957次閱讀
- 如何設(shè)置Arduino IoT將消息發(fā)送到云板顯示器 2303次閱讀
- 使用PIC16F628A和SIM900A發(fā)送SMS的方法 2424次閱讀
- 基于一種特殊的有向圖Tangle介紹 2243次閱讀
- 一種自動(dòng)生成反向傳播方程的方法 3857次閱讀
- Java編程和c語(yǔ)言哪一種更有優(yōu)勢(shì)_C語(yǔ)言與JAVA的區(qū)別是什么 2.4w次閱讀
- verilog語(yǔ)言與c語(yǔ)言的區(qū)別 1.2w次閱讀
- 一種基于FPGA的數(shù)字秒表設(shè)計(jì)方法 9992次閱讀
- 一種基于FPGA硬件求解函數(shù)的簡(jiǎn)化方法 2452次閱讀
- arduino用什么語(yǔ)言編程 6.9w次閱讀
- 一種matlab調(diào)用signaltap采集數(shù)據(jù)的方法 3949次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費(fèi)
- 5元宇宙深度解析—未來(lái)的未來(lái)-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費(fèi)
- 6迪文DGUS開(kāi)發(fā)指南
- 31.67 MB | 194次下載 | 免費(fèi)
- 7元宇宙底層硬件系列報(bào)告
- 13.42 MB | 182次下載 | 免費(fèi)
- 8FP5207XR-G1中文應(yīng)用手冊(cè)
- 1.09 MB | 178次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書(shū))
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德?tīng)栔?/a>
- 0.00 MB | 6656次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191187次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論
查看更多