資料介紹
描述
關(guān)注 Snap Circuits 平臺(tái)!
概述
什么是快速電路?
Snap Circuits? 讓電子學(xué)習(xí)變得輕松有趣!了解如何將 Snap Circuits? 與您的硬件集成。為孩子們帶來(lái)樂趣!
引進(jìn)項(xiàng)目
如果您還沒有完成介紹,請(qǐng)轉(zhuǎn)到Snap Circuits - 介紹項(xiàng)目。該項(xiàng)目還包含 Snap Circuit 項(xiàng)目的完整索引。
讓我們開始吧
項(xiàng)目目標(biāo)
展示如何使用 Arduino 草圖來(lái)監(jiān)控按鈕。
構(gòu)建電路
該項(xiàng)目的最低設(shè)置要求是SC-300。
打開下面的 PDF 并按照說(shuō)明進(jìn)行操作。PDF 文件也可以在 GitHub 存儲(chǔ)庫(kù)中找到。
Push_Button_Monitor.pdf
?
以下是您將用于構(gòu)建電路的組件的圖像。
完成電路
這是完整電路的圖像。
我做了一個(gè)木箱來(lái)裝 Snap Circuits 板和 Arduino。我從當(dāng)?shù)氐囊患覙I(yè)余愛好商店購(gòu)買了一些木頭,將其切割并粘在一起。如果您對(duì)細(xì)節(jié)感興趣,請(qǐng)告訴我,我會(huì)發(fā)布它們。
以與閃爍 LED 項(xiàng)目相同的方式將此草圖加載到 Arduino IDE 中?。加載后編譯并運(yùn)行它。該項(xiàng)目的草圖會(huì)將輸出寫入串行端口,因此您需要從“工具”菜單中打開串行監(jiān)視器(您可以按)。Ctrl-Shift M
這是如何工作的
電路
Arduino 上的數(shù)字引腳可以配置為輸出或輸入引腳。在項(xiàng)目一中,我們將模式設(shè)置為輸出,這樣我們就可以更改 LED 的狀態(tài)。添加到電路中的開關(guān)和電阻器允許我們切換 Arduino 上配置為輸入的第二個(gè)引腳的狀態(tài);也就是說(shuō),我們要讀取引腳是高電平還是低電平。
為了達(dá)到高電平或低電平,我們將開關(guān)的一端連接到 Arduino 上的 5V 電源。我們可以將另一個(gè)連接到其中一個(gè)數(shù)字引腳,但這會(huì)導(dǎo)致我們?cè)陂_關(guān)打開時(shí)處于“浮動(dòng)”狀態(tài)。浮動(dòng)狀態(tài)意味著當(dāng)我們?cè)谲浖凶x取引腳時(shí),我們將獲得隨機(jī)結(jié)果。我們想“鎖定”該值,使其為高或低。我們通過在電路中添加 10K 電阻來(lái)實(shí)現(xiàn)。該電阻器的一端接地,另一端連接到開關(guān)和數(shù)字引腳。當(dāng)開關(guān)打開時(shí),數(shù)字引腳通過電阻接地,該引腳上的讀數(shù)將為低電平。當(dāng)開關(guān)閉合(通過按下它)時(shí),開關(guān)將數(shù)字引腳直接連接到 5V,引腳上的讀數(shù)為高電平。
軟件
在草圖的設(shè)置功能中,首先設(shè)置串行輸出,以便我們可以在應(yīng)用程序運(yùn)行時(shí)獲得一些反饋。打開串行監(jiān)視器以查看應(yīng)用程序運(yùn)行時(shí)的輸出。接下來(lái)將數(shù)字引腳設(shè)置為輸入,并讀取當(dāng)前值以初始化循環(huán)功能。
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 函數(shù)中,我們通過讀取值并將其與先前的值進(jìn)行檢查來(lái)監(jiān)控?cái)?shù)字引腳。如果數(shù)字引腳的當(dāng)前值與以前的版本不同,則會(huì)顯示該操作。當(dāng)當(dāng)前值為高時(shí),按鈕關(guān)閉或按下。如果當(dāng)前值為 LOW,則按鈕打開或已釋放。
// ***
// *** Read the current value from the pin
// ***
int currentValue = digitalRead(BUTTON_PIN);
在循環(huán)的底部是延遲下一次讀取的延遲語(yǔ)句。這是作為一個(gè)簡(jiǎn)單的去抖功能完成的。
delay(DEBOUNCE_TIME);
什么是去抖?當(dāng)開關(guān)的內(nèi)部相互接觸以閉合電路或當(dāng)它們分離以打開電路時(shí),按下開關(guān)會(huì)產(chǎn)生錯(cuò)誤的打開和關(guān)閉轉(zhuǎn)換。有很多方法可以在軟件和硬件中解決這個(gè)問題。對(duì)于這個(gè)項(xiàng)目,我使用了一個(gè)簡(jiǎn)單的延遲來(lái)消除額外的轉(zhuǎn)換。
閱讀有關(guān)去抖動(dòng)的更多信息:
下圖演示了應(yīng)用程序的輸出。
嘗試的事情
- 很高興看到當(dāng)數(shù)字引腳上的輸入“浮動(dòng)”時(shí)會(huì)發(fā)生什么。松開綠線并將其放在不會(huì)與電路接觸的地方。現(xiàn)在啟動(dòng)應(yīng)用程序并反復(fù)按下和釋放按鈕。你要注意什么。有時(shí)應(yīng)用程序運(yùn)行正常,有時(shí)未檢測(cè)到切換事件。現(xiàn)在重新打開綠色并重試。現(xiàn)在一切正常。
- 在應(yīng)用程序中,默認(rèn)去抖時(shí)間設(shè)置為 100 毫秒。將此值設(shè)置為 0 并重試。發(fā)生什么了?現(xiàn)在試驗(yàn)各種值,看看它如何改變應(yīng)用程序的行為。
為按鈕 LED項(xiàng)目保留此電路!
?
- 兒童樂高Arduino教程之眨眼草圖
- Arduino開關(guān)按鈕和紐扣電池電源
- Arduino Oled帶按鈕的反轉(zhuǎn)文本
- 使用按鈕來(lái)操作LED
- 使用Arduino和BRB(大紅色按鈕)按需播放戰(zhàn)歌
- 用Arduino UNO、LCD和按鈕構(gòu)建的數(shù)字投擲器
- Arduino如何制作智能按鈕
- 帶按鈕的Arduino控制伺服電機(jī)位置
- 驅(qū)動(dòng)I2S DAC以再現(xiàn)在Arduino草圖中計(jì)算的聲音
- 在Arduino中使用按鈕
- 用于Arduino UNO的8按鈕控制器屏蔽
- labview的按鈕控件匯總 356次下載
- 基于計(jì)數(shù)器按鈕控制的電機(jī)程序啟動(dòng)與停止 16次下載
- Arduino集成開發(fā)環(huán)境的詳細(xì)資料簡(jiǎn)介
- Arduino板是什么如何使用IDE軟件創(chuàng)建和上傳Arduino程序到Arduino板
- 按鈕的使用和維護(hù)方法 按鈕的常見故障及其排除方法 1777次閱讀
- 如何區(qū)分按鈕的短按與長(zhǎng)按? 3235次閱讀
- 實(shí)現(xiàn)按鈕的短按與長(zhǎng)按的區(qū)分 1715次閱讀
- 基于Arduino與機(jī)智云的家居環(huán)境遠(yuǎn)程監(jiān)控系統(tǒng) 2260次閱讀
- 如何使用Arduino控制大型線性執(zhí)行器 1945次閱讀
- 如何使用Arduino來(lái)制作一個(gè)簡(jiǎn)單的歐姆表 5565次閱讀
- 一款按鈕互鎖正回轉(zhuǎn)操控電路 2736次閱讀
- 控制按鈕的結(jié)構(gòu)和符號(hào)_控制按鈕的分類 1.4w次閱讀
- 如何通過草圖布線器來(lái)降低Layout的復(fù)雜性 1188次閱讀
- 一種將手和筆輸入優(yōu)勢(shì)結(jié)合的三維草圖構(gòu)圖方式 4418次閱讀
- arduino連接顯示屏方法詳解 4.7w次閱讀
- 分享10個(gè)cad繪制草圖的技巧 1.4w次閱讀
- arduino是什么以及arduino能干什么 4.4w次閱讀
- 急停按鈕工作原理_急停按鈕電氣符號(hào)_急停按鈕型號(hào)介紹 12.2w次閱讀
- 按鈕開關(guān)型號(hào)_按鈕開關(guān)型號(hào)有哪些_按鈕開關(guān)有幾種 7.3w次閱讀
下載排行
本周
- 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開發(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開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
- 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ì)》 溫德爾著
- 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)論
查看更多