資料介紹
描述
關注 Snap Circuits 平臺!
概述
什么是快速電路?
Snap Circuits? 讓電子學習變得輕松有趣!了解如何將 Snap Circuits? 與您的硬件集成。為孩子們帶來樂趣!
引進項目
如果您還沒有完成介紹,請轉到Snap Circuits - 介紹項目。該項目還包含 Snap Circuit 項目的完整索引。
讓我們開始吧
項目目標
展示如何使用 Arduino 草圖來監控按鈕。
構建電路
該項目的最低設置要求是SC-300。
打開下面的 PDF 并按照說明進行操作。PDF 文件也可以在 GitHub 存儲庫中找到。
Push_Button_Monitor.pdf
?
以下是您將用于構建電路的組件的圖像。
完成電路
這是完整電路的圖像。
我做了一個木箱來裝 Snap Circuits 板和 Arduino。我從當地的一家業余愛好商店購買了一些木頭,將其切割并粘在一起。如果您對細節感興趣,請告訴我,我會發布它們。
以與閃爍 LED 項目相同的方式將此草圖加載到 Arduino IDE 中?。加載后編譯并運行它。該項目的草圖會將輸出寫入串行端口,因此您需要從“工具”菜單中打開串行監視器(您可以按)。Ctrl-Shift M
這是如何工作的
電路
Arduino 上的數字引腳可以配置為輸出或輸入引腳。在項目一中,我們將模式設置為輸出,這樣我們就可以更改 LED 的狀態。添加到電路中的開關和電阻器允許我們切換 Arduino 上配置為輸入的第二個引腳的狀態;也就是說,我們要讀取引腳是高電平還是低電平。
為了達到高電平或低電平,我們將開關的一端連接到 Arduino 上的 5V 電源。我們可以將另一個連接到其中一個數字引腳,但這會導致我們在開關打開時處于“浮動”狀態。浮動狀態意味著當我們在軟件中讀取引腳時,我們將獲得隨機結果。我們想“鎖定”該值,使其為高或低。我們通過在電路中添加 10K 電阻來實現。該電阻器的一端接地,另一端連接到開關和數字引腳。當開關打開時,數字引腳通過電阻接地,該引腳上的讀數將為低電平。當開關閉合(通過按下它)時,開關將數字引腳直接連接到 5V,引腳上的讀數為高電平。
軟件
在草圖的設置功能中,首先設置串行輸出,以便我們可以在應用程序運行時獲得一些反饋。打開串行監視器以查看應用程序運行時的輸出。接下來將數字引腳設置為輸入,并讀取當前值以初始化循環功能。
void setup()
{
? // ***
? // *** Display the pin number
? // ***
? Serial.begin(115200);
? Serial.print("Monitoring push button on pin ");
? Serial.println(BUTTON_PIN);
? // ***
? // *** Initialize the digital pin for input.
? // ***
? pinMode(BUTTON_PIN, INPUT);
? // ***
? // *** Get the current value of the pin
? // ***
? _previousValue = digitalRead(BUTTON_PIN);
}
在 Loop 函數中,我們通過讀取值并將其與先前的值進行檢查來監控數字引腳。如果數字引腳的當前值與以前的版本不同,則會顯示該操作。當當前值為高時,按鈕關閉或按下。如果當前值為 LOW,則按鈕打開或已釋放。
// ***
// *** Read the current value from the pin
// ***
int currentValue = digitalRead(BUTTON_PIN);
在循環的底部是延遲下一次讀取的延遲語句。這是作為一個簡單的去抖功能完成的。
delay(DEBOUNCE_TIME);
什么是去抖?當開關的內部相互接觸以閉合電路或當它們分離以打開電路時,按下開關會產生錯誤的打開和關閉轉換。有很多方法可以在軟件和硬件中解決這個問題。對于這個項目,我使用了一個簡單的延遲來消除額外的轉換。
閱讀有關去抖動的更多信息:
下圖演示了應用程序的輸出。
嘗試的事情
- 很高興看到當數字引腳上的輸入“浮動”時會發生什么。松開綠線并將其放在不會與電路接觸的地方。現在啟動應用程序并反復按下和釋放按鈕。你要注意什么。有時應用程序運行正常,有時未檢測到切換事件。現在重新打開綠色并重試。現在一切正常。
- 在應用程序中,默認去抖時間設置為 100 毫秒。將此值設置為 0 并重試。發生什么了?現在試驗各種值,看看它如何改變應用程序的行為。
為按鈕 LED項目保留此電路!
?
- 使用電壓監控器上的手動復位來斷開按鈕開關
- 兒童樂高Arduino教程之眨眼草圖
- Arduino開關按鈕和紐扣電池電源
- Arduino Oled帶按鈕的反轉文本
- 使用按鈕來操作LED
- 使用Arduino和BRB(大紅色按鈕)按需播放戰歌
- 用Arduino UNO、LCD和按鈕構建的數字投擲器
- Arduino如何制作智能按鈕
- 帶按鈕的Arduino控制伺服電機位置
- 驅動I2S DAC以再現在Arduino草圖中計算的聲音
- 在Arduino中使用按鈕
- 用于Arduino UNO的8按鈕控制器屏蔽
- labview的按鈕控件匯總 384次下載
- 基于計數器按鈕控制的電機程序啟動與停止 16次下載
- Arduino板是什么如何使用IDE軟件創建和上傳Arduino程序到Arduino板
- 按鈕的使用和維護方法 按鈕的常見故障及其排除方法 2113次閱讀
- 如何區分按鈕的短按與長按? 3775次閱讀
- 實現按鈕的短按與長按的區分 1954次閱讀
- 基于Arduino與機智云的家居環境遠程監控系統 2517次閱讀
- 如何使用Arduino控制大型線性執行器 2166次閱讀
- 如何使用Arduino來制作一個簡單的歐姆表 6428次閱讀
- 一款按鈕互鎖正回轉操控電路 2919次閱讀
- 控制按鈕的結構和符號_控制按鈕的分類 1.4w次閱讀
- 如何通過草圖布線器來降低Layout的復雜性 1299次閱讀
- 一種將手和筆輸入優勢結合的三維草圖構圖方式 4514次閱讀
- arduino連接顯示屏方法詳解 4.7w次閱讀
- 分享10個cad繪制草圖的技巧 1.4w次閱讀
- arduino是什么以及arduino能干什么 4.5w次閱讀
- 急停按鈕工作原理_急停按鈕電氣符號_急停按鈕型號介紹 12.4w次閱讀
- 按鈕開關型號_按鈕開關型號有哪些_按鈕開關有幾種 7.4w次閱讀
下載排行
本周
- 1AN158 GD32VW553 Wi-Fi開發指南
- 1.51MB | 2次下載 | 免費
- 2嵌入式軟件開發符合ISO 26262 功能安全標準
- 1.61 MB | 1次下載 | 免費
- 3AN095 提高GD32溫度傳感器使用精度的方法
- 631.03KB | 1次下載 | 免費
- 4PZT驅動開關電路
- 0.09 MB | 1次下載 | 免費
- 5模擬電路仿真實現
- 2.94MB | 1次下載 | 免費
- 6PCB繪制基礎知識
- 2.44MB | 1次下載 | 免費
- 7電子線路板及仿真實現
- 1.54MB | 1次下載 | 免費
- 8AN4873-使用PIC單片機的集成運算放大器測量水中的總溶解固體
- 591.02KB | 1次下載 | 免費
本月
- 1ADI高性能電源管理解決方案
- 2.43 MB | 452次下載 | 免費
- 2免費開源CC3D飛控資料(電路圖&PCB源文件、BOM、
- 5.67 MB | 139次下載 | 1 積分
- 3基于STM32單片機智能手環心率計步器體溫顯示設計
- 0.10 MB | 132次下載 | 免費
- 4美的電磁爐維修手冊大全
- 1.56 MB | 24次下載 | 5 積分
- 5如何正確測試電源的紋波
- 0.36 MB | 19次下載 | 免費
- 6感應筆電路圖
- 0.06 MB | 10次下載 | 免費
- 7LZC3106G高性能諧振控制器中文手冊
- 1.29 MB | 9次下載 | 1 積分
- 8萬用表UT58A原理圖
- 0.09 MB | 9次下載 | 5 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935121次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
- 1.48MB | 420062次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233088次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191367次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183335次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81581次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73810次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65988次下載 | 10 積分
評論
查看更多