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