電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>使用Arduino草圖來監(jiān)控按鈕

使用Arduino草圖來監(jiān)控按鈕

2022-12-23 | zip | 0.14 MB | 次下載 | 免費(fèi)

資料介紹

描述

關(guān)注 Snap Circuits 平臺(tái)!

概述

什么是快速電路?

Snap Circuits? 讓電子學(xué)習(xí)變得輕松有趣!了解如何將 Snap Circuits? 與您的硬件集成。為孩子們帶來樂趣!

引進(jìn)項(xiàng)目

如果您還沒有完成介紹,請(qǐng)轉(zhuǎn)到Snap Circuits - 介紹項(xiàng)目。該項(xiàng)目還包含 Snap Circuit 項(xiàng)目的完整索引。

讓我們開始吧

項(xiàng)目目標(biāo)

展示如何使用 Arduino 草圖來監(jiān)控按鈕。

構(gòu)建電路

該項(xiàng)目的最低設(shè)置要求是SC-300。

?
pYYBAGOkGZiAIzFAAAC26Dv4wu4121.png
快速電路圖(有關(guān)詳細(xì)信息,請(qǐng)參閱 PDF)
?

打開下面的 PDF 并按照說明進(jìn)行操作。PDF 文件也可以在 GitHub 存儲(chǔ)庫中找到。

Push_Button_Monitor.pdf

?

?

?

以下是您將用于構(gòu)建電路的組件的圖像。

?
?
?
?
poYBAGOkGcKAObqVAAijL1ifUEg178.jpg
?
1 / 7 ?來自 OSEPP 的我的 Arduino
?

完成電路

這是完整電路的圖像。

?
?
?
?
pYYBAGOkGfqATAPcAAxCHqmKCyw715.jpg
?
1 / 3
?

我做了一個(gè)木箱來裝 Snap Circuits 板和 Arduino。我從當(dāng)?shù)氐囊患覙I(yè)余愛好商店購買了一些木頭,將其切割并粘在一起。如果您對(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);也就是說,我們要讀取引腳是高電平還是低電平。

為了達(dá)到高電平或低電平,我們將開關(guān)的一端連接到 Arduino 上的 5V 電源。我們可以將另一個(gè)連接到其中一個(gè)數(shù)字引腳,但這會(huì)導(dǎo)致我們在開關(guān)打開時(shí)處于“浮動(dòng)”狀態(tài)。浮動(dòng)狀態(tài)意味著當(dāng)我們在軟件中讀取引腳時(shí),我們將獲得隨機(jī)結(jié)果。我們想“鎖定”該值,使其為高或低。我們通過在電路中添加 10K 電阻來實(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í)的輸出。接下來將數(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)行檢查來監(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)的底部是延遲下一次讀取的延遲語句。這是作為一個(gè)簡單的去抖功能完成的。

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è)簡單的延遲來消除額外的轉(zhuǎn)換。

閱讀有關(guān)去抖動(dòng)的更多信息:

下圖演示了應(yīng)用程序的輸出。

?
pYYBAGOkGf-AdkoRAACbW1ZNLAU011.png
?

嘗試的事情

  1. 很高興看到當(dāng)數(shù)字引腳上的輸入“浮動(dòng)”時(shí)會(huì)發(fā)生什么。松開綠線并將其放在不會(huì)與電路接觸的地方。現(xiàn)在啟動(dòng)應(yīng)用程序并反復(fù)按下和釋放按鈕。你要注意什么。有時(shí)應(yīng)用程序運(yùn)行正常,有時(shí)未檢測到切換事件。現(xiàn)在重新打開綠色并重試。現(xiàn)在一切正常。
  2. 在應(yīng)用程序中,默認(rèn)去抖時(shí)間設(shè)置為 100 毫秒。將此值設(shè)置為 0 并重試。發(fā)生什么了?現(xiàn)在試驗(yàn)各種值,看看它如何改變應(yīng)用程序的行為。

為按鈕 LED項(xiàng)目保留此電路

?


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
  2. 1.06 MB  |  532次下載  |  免費(fèi)
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費(fèi)
  5. 3TC358743XBG評(píng)估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費(fèi)
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費(fèi)
  9. 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費(fèi)
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費(fèi)
  13. 7元宇宙底層硬件系列報(bào)告
  14. 13.42 MB  |  182次下載  |  免費(fèi)
  15. 8FP5207XR-G1中文應(yīng)用手冊
  16. 1.09 MB  |  178次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21549次下載  |  免費(fèi)
  9. 5電氣工程師手冊免費(fèi)下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191187次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)