資料介紹
描述
該項目添加了用戶輸入:一種以硬件語言向您的 Arduino 發送消息的方法。
讓我們加載文件 > 示例 > 數字 > 按鈕
該草圖在開場評論中包含對電路的很好描述。像這樣連接起來:
請注意 LED 的電路部分現在的樣子。大多數面包板都有電源和接地導軌貫穿整個長度。這樣一來,只需一根電線就可以更輕松地將電路連接到每個運行回控制器的電路。因此,按鈕上的電阻器和 LED 都被鉤回這個接地軌——而不是占用 Arduino 的兩個 GND 引腳。
我們剛剛添加的電阻是下拉電阻。我們的代碼將通過按下按鈕檢查我們的數字引腳 2 是否連接到電源。但是在未連接時,引腳的值會浮動在 HIGH(通電)和 LOW(接地)之間。因此,我們一直通過這個 10 kΩ 電阻器讓一點功率流到接地引腳,這會將其“拉低”為低電平。但是當按下按鈕時,電源開始在 5V 引腳和引腳 2 之間流動,因此變為高電平。
代碼
這一次,我們從將要使用的不同變量的一些聲明開始。在 Blink 草圖中,如果您想更改 LED 所在的引腳,您必須在三個不同的位置更改引腳 13。這一次,我們告訴 Arduino 我們將使用“buttonPin”來表示引腳 2,并使用“ledPin”來表示引腳 13。現在,無論何時我們在物理上交換東西,我們只需要在一個地方更改該引腳號.
這些變量將在程序運行的整個過程中保持不變,因此我們稱它們為常量——因此稱為 const int。我們擁有的另一個變量將改變以反映我們的按鈕按下,所以它只是一個普通的 int。
這一次,我們在設置部分有輸入(按鈕)和輸出(LED)。
在我們的循環中,我們要做的第一件事是使用 digitalRead 檢查引腳 2 是高電平還是低電平。然后,根據結果,我們使用 if/else 語句來觸發正確的操作。如果它是 HIGH(按下按鈕),也將 LED 設置為 HIGH。否則(否則),將 LED 設置為低電平。
僅供參考,您可以有兩個以上的條件 - 在這種情況下,您告訴它“如果按鈕打開,則打開 LED;否則如果未按下按鈕,則關閉 LED;否則(假設按鈕有不復存在或薛定諤來訪)聳聳肩,什么也不做。”
備用電路
使用 Arduino 的內置上拉電阻器連接這個電路有一個稍微簡單的方法。正如您可能懷疑的那樣,這些與下拉電阻相反:它們允許電壓源和引腳之間的少量功率流動,而無需進行任何物理連接,因此引腳通常保持高電平,除非您已連接它接地。超級方便!
您需要做的就是將按鈕的類型更改為 INPUT_PULLUP,然后將按鈕直接連接到引腳 d2 和 GND——無需外部電阻。
您可能會懷疑,這會改變 Arduino 的行為。由于該引腳現在通常為高電平,因此 LED 將一直亮著,直到您按下按鈕。因此,您可以切換您的條件:
if (buttonState == LOW) {
digitalWrite(ledPin, HIGH);
} else {
digitalWrite(ledPin, LOW);
}
適應這個
所以,在這種情況下,我們使用了一個按鈕,但這只是一種數字輸入!你還能用什么?
- Switch – 添加物理控制來切換不同的代碼部分。
- 簧片開關 - 使用這些兩部分磁性開關感應門是打開還是關閉。
- 電線——你甚至不需要一個“真正的”按鈕……將兩根電線或金屬片粘在不同的表面上,并檢測它們何時接觸。我曾經以這種方式制造了一個可怕的儀器,使用加重的錫箔球連接兩根電線作為原始開關。
此外,請參閱下面的代碼以獲取 LATCHING / TOGGLE 版本 - 一個保持“按下”狀態的按鈕,直到您再次按下它。
下一步
使用串行監視器從您的按鈕獲取實時文本反饋!
- 一種全新的遙感圖像描述生成方法 2次下載
- 一種針對有向網絡表示學習的優化方法 10次下載
- 一種側重于學習情感特征的預訓練方法 4次下載
- Arduino編程基礎(一)——Arduino語言資料下載
- 一種支持用戶隱私保護的信息傳播方法 6次下載
- 一種基于FPGA的時鐘同功耗步信息采集方法 6次下載
- 一種融合條件隨機場與規則的識別方法 7次下載
- 一種基于表結構和內容的問句理解方法 14次下載
- 一種新的導向式灰盒模糊測試方法 7次下載
- 一種針對DoT算法的模板攻擊方法 8次下載
- 一種針對DoT算法的模板攻擊方法 12次下載
- 一種針對中英混合文本的多維度多情感分析方法 16次下載
- 如何使用一種形式化方法的3D虛擬祭祀場景建模語言與環境 9次下載
- DSP硬件驅動程序的一種方法 1次下載
- 基于Processing與Arduino有線OTG聯機方法 9次下載
- 一種基于自然語言的軌跡修正方法 328次閱讀
- 一種基于表征工程的生成式語言大模型人類偏好對齊策略 374次閱讀
- 如何使用Python和PinPong庫控制Arduino 718次閱讀
- 一種高效的串口收發思路及方案 574次閱讀
- 一種可重構的硬件處理器方法 795次閱讀
- 如何設置Arduino IoT將消息發送到云板顯示器 2121次閱讀
- 使用PIC16F628A和SIM900A發送SMS的方法 2161次閱讀
- 基于一種特殊的有向圖Tangle介紹 2178次閱讀
- 一種自動生成反向傳播方程的方法 3737次閱讀
- Java編程和c語言哪一種更有優勢_C語言與JAVA的區別是什么 2.4w次閱讀
- verilog語言與c語言的區別 1.2w次閱讀
- 一種基于FPGA的數字秒表設計方法 9775次閱讀
- 一種基于FPGA硬件求解函數的簡化方法 2356次閱讀
- arduino用什么語言編程 6.9w次閱讀
- 一種matlab調用signaltap采集數據的方法 3866次閱讀
下載排行
本周
- 1使用單片機實現七人表決器的程序和仿真資料免費下載
- 2.96 MB | 44次下載 | 免費
- 2Keysight B1500A 半導體器件分析儀用戶手冊、說明書 (中文)
- 19.00 MB | 4次下載 | 免費
- 3BT134雙向可控硅手冊
- 1.74 MB | 2次下載 | 1 積分
- 4一種新型高效率的服務器電源系統
- 0.85 MB | 1次下載 | 1 積分
- 5PR735,使用UCC28060的600W交錯式PFC轉換器
- 540.03KB | 1次下載 | 免費
- 6WTS-100(1.1) UWB 信標定位系統 彩頁
- 540.48 KB | 1次下載 | 免費
- 7DV2004S1/ES1/HS1快速充電開發系統
- 2.08MB | 1次下載 | 免費
- 8MATLAB繪圖合集
- 27.12 MB | 1次下載 | 5 積分
本月
- 1使用單片機實現七人表決器的程序和仿真資料免費下載
- 2.96 MB | 44次下載 | 免費
- 2UC3842/3/4/5電源管理芯片中文手冊
- 1.75 MB | 15次下載 | 免費
- 3DMT0660數字萬用表產品說明書
- 0.70 MB | 13次下載 | 免費
- 4ST7789V2單芯片控制器/驅動器英文手冊
- 3.07 MB | 11次下載 | 1 積分
- 5TPS54202H降壓轉換器評估模塊用戶指南
- 1.02MB | 8次下載 | 免費
- 6STM32F101x8/STM32F101xB手冊
- 1.69 MB | 8次下載 | 1 積分
- 7TPS92682-Q1幀定義和示例
- 891.71KB | 6次下載 | 免費
- 8HY12P65/HY12P66數字萬用表芯片規格書
- 0.69 MB | 6次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935119次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
- 1.48MB | 420061次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233084次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191367次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183335次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81581次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73807次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65987次下載 | 10 積分
評論
查看更多