chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

3天內(nèi)不再提示

如何通過(guò)1個(gè)Arduino引腳訪問(wèn)5個(gè)按鈕

454398 ? 來(lái)源:wv ? 2019-09-10 15:37 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

第1步:零件清單

1 x Arduino(或Arduino兼容板。我使用來(lái)自moderndevice.com的BBB)

1 x 100K電阻(棕黑黃)

1 x 1K電阻(棕黑紅)

1 x 10K電阻(棕色黑色橙色)

1 x 22K電阻器(紅色紅色橙色)

1 x 33K電阻器(橙色橙色橙色)

1 x 68K電阻器(藍(lán)色灰色橙色)

5 x按鈕開(kāi)關(guān)

面包板

一些連接它的電線

第二步:理論 - 快速回顧

如何通過(guò)1個(gè)Arduino引腳訪問(wèn)5個(gè)按鈕

《我建議您閱讀上一個(gè)Instructable的第2步和第3步了解詳細(xì)信息,但是如果你很懶(嗯,我很忙),我會(huì)給你一個(gè)快速的回顧。

通常的方法讀取按鈕是將其連接到數(shù)字輸入引腳和5V。當(dāng)您按下按鈕時(shí),輸入引腳連接到5V,您可以讀取引腳上的邏輯高電平。

對(duì)于Arduino的模擬引腳,您可以根據(jù)引腳上的電壓讀取介于0和1023之間的值。 。如果有0V,則讀取0,如果有5V,則讀取1023.中間的每個(gè)電壓將根據(jù)實(shí)際電壓返回一個(gè)比例值。從此可以看出,可以連接多個(gè)按鈕模擬引腳,如果你可以讓每個(gè)模塊引腳連接不同的電壓到模擬引腳。

事實(shí)證明,這很簡(jiǎn)單。您只需為每個(gè)按鈕設(shè)置不同的分壓器。我將告訴你如何。

如果看一下電路,當(dāng)按鈕打開(kāi)時(shí),R1充當(dāng)下拉電阻,但當(dāng)(例如)S4按鈕關(guān)閉時(shí),電流從5V流過(guò)R5,通過(guò)按鈕,通過(guò)R1和地面。 IO引腳將測(cè)量S4(或R5)與R1之間的電壓 - AKA由R1和R5形成分壓器。通過(guò)使用歐姆定律,我們可以計(jì)算出我們將在IO引腳上讀取大約2.75V或大約562.

PS:如果其中任何一個(gè)不清楚,你應(yīng)該真正閱讀以前的Instructable - 我會(huì)進(jìn)入更多詳情。另請(qǐng)參閱上面關(guān)于分壓器維基百科頁(yè)面的鏈接。

步驟3:面包板

您現(xiàn)在可以在面包板上構(gòu)建上一個(gè)電路。如果你看看前面的電路和我的面包板,你會(huì)注意到我使用了不同的電阻器。只要你記住一些事情,電阻就不是很關(guān)鍵。

首先,分壓器中兩個(gè)電阻之間的差異越大,值越接近地或者輸入電壓。

第二點(diǎn)是連接到按鈕的電阻值越接近,它們之間的差異越小,這可能使得難以讀取唯一值。

所以,我要做的主要是電路的變化是使R1成為47K電阻。通過(guò)使下拉電阻與范圍中間的值相同,您將獲得最大的讀數(shù)范圍。

在之前的Instructable中,我提到我有一些壞按鈕,而且有些讀數(shù)已經(jīng)全部結(jié)束了這個(gè)地方。我猜測(cè)電動(dòng)車和壞按鈕等。..。..事實(shí)證明,這是一個(gè)糟糕的面包板。我正在使用兩塊面包板,我已經(jīng)使用了超過(guò)10年,似乎有些地方不再有良好的接觸了。我訂購(gòu)了新的面包板,但我還在等。如果您的讀數(shù)不一致,請(qǐng)嘗試將按鈕移動(dòng)到面包板上的其他位置。

步驟4:獲取必要讀數(shù)

下一步是獲取您需要檢查按下哪些按鈕的值。下載附加的草圖,并按照上一步中的電路設(shè)置運(yùn)行它。將草圖上傳到電路板后打開(kāi)串行監(jiān)視器,然后按住按鈕(每次1個(gè))約2秒鐘。

對(duì)于每個(gè)按鈕,當(dāng)您按下并釋放它時(shí),您將看到值可能在很短的時(shí)間內(nèi)有點(diǎn)不一致,忽略那些不穩(wěn)定的值并記下剩下的最大和最小值。

這就是我的5個(gè)按鈕:

1(1K) - 》 930 - 935

2(10K) - 》 510 - 520

3(22K) - 》 315 - 326

4(47K) - 》 175 - 179

5(68K) - 》 127 - 135

正如您所看到的,通過(guò)可靠的連接,每個(gè)按鈕的范圍非常小。我所擁有的最大范圍是11點(diǎn),這意味著波動(dòng)幅度約為0.054V。一點(diǎn)都不差。.有一個(gè)小的范圍沒(méi)有理由你不能使用E12范圍的電阻值在10到100K(10k,12k,15k,18k,22k,27k,33k)之間擴(kuò)展到12個(gè)按鈕,39k,47k,56k,68k,82k和100k),下拉電阻為27K - 33K。

步驟5:編碼

這是我進(jìn)行改進(jìn)的主要領(lǐng)域。即使先前的硬件工作并且代碼可以確定按下了哪個(gè)按鈕,只要您按下按鈕就會(huì)報(bào)告多個(gè)按鈕按下。

我現(xiàn)在需要的是讓Arduino讀取一個(gè)按鈕每次按下并釋放按鈕時(shí)按。附加的代碼執(zhí)行此操作。我也只是在檢查按鈕狀態(tài)之間延遲了50ms,這似乎足以讓它去抖動(dòng)。

我改變的另一件事是清理代碼。前面的代碼為每個(gè)按鈕使用了3個(gè)常量。這個(gè)版本使用數(shù)組,使代碼更容易閱讀。為了使它適用于你的值,替換buttonLowRange和buttonHighRange數(shù)組中每個(gè)按鈕的值(你在上一步中得到的)。

完成后,您只需要在dealWithButtonPress方法中設(shè)置要將按鈕鏈接到的操作?,F(xiàn)在它只是在串行輸出上打印一條消息,指示按下了哪個(gè)按鈕。

步驟6:擴(kuò)展它

正如我在步驟4中提到的那樣,這可能會(huì)以最小的努力擴(kuò)展到12個(gè)按鈕。

模擬輸入有一個(gè)10位分辨率,使我們?cè)?V和參考電壓之間提供1023個(gè)值。如果將其除以12個(gè)按鈕,則可以看到每個(gè)按鈕必須在85個(gè)點(diǎn)的唯一范圍內(nèi)。為了安全起見(jiàn),我會(huì)稱它不超過(guò)40 - 50。如果你這樣做,你將不得不使用相當(dāng)精確的電阻器(或測(cè)量它們并使用接近E12值的電阻器)你會(huì)相當(dāng)可能需要更好的方法去除按鈕。

從我的所有值都在11點(diǎn)的最大范圍內(nèi)的事實(shí),這似乎是完全可行的。

第7步:最后的想法

這個(gè)版本比以前的版本要好很多。我不喜歡的一件事是依靠延遲進(jìn)行去抖動(dòng)。我會(huì)看看中斷,而不是那樣讀取按鈕,但是現(xiàn)在它運(yùn)行得很好。

正如我在步驟4中提到的,通過(guò)與開(kāi)關(guān)的牢固連接,每個(gè)按鈕的范圍非常小。我得到的最大范圍是11分,這意味著沒(méi)有理由不使用10到100K之間的E12電阻值(10k,12k,15k,18k,22k,27k,33k)來(lái)擴(kuò)展到12個(gè)按鈕,39k,47k,56k,68k,82k和100k),下拉電阻約為27K - 33K。

如果有任何不清楚的地方,請(qǐng)隨時(shí)詢問(wèn),我會(huì)在必要時(shí)回答并更新Instructable。

感謝您抽時(shí)間閱讀!我希望你發(fā)現(xiàn)這個(gè)版本比第一個(gè)版本更有用。任何反饋或評(píng)級(jí)(眨眼,眨眼)將不勝感激。此外,如果您發(fā)現(xiàn)這有用,請(qǐng)花時(shí)間在微控制器競(jìng)賽中為我投票。

這是一個(gè)非常大的項(xiàng)目的第一部分。希望這次我能完成它(我不打算在接下來(lái)的幾周里搬到另一個(gè)大陸)。請(qǐng)留意我創(chuàng)建時(shí)鐘的下一個(gè)教程,這個(gè)時(shí)鐘顯示多個(gè)時(shí)區(qū),一個(gè)RGB Orb,7段顯示,并將這一切與一個(gè)將更新?tīng)顟B(tài)的在線應(yīng)用程序連接起來(lái)(如果可能在單個(gè)Arduino上)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Arduino
    +關(guān)注

    關(guān)注

    190

    文章

    6527

    瀏覽量

    197501
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    無(wú)法通過(guò) ssh 訪問(wèn)怎么解決?

    我無(wú)法通過(guò) ssh 訪問(wèn) VisionFive V1,即使在本地子網(wǎng)/網(wǎng)絡(luò)中也無(wú)法訪問(wèn)。相比之下,我確實(shí)可以 ssh 訪問(wèn) V
    發(fā)表于 04-01 07:11

    請(qǐng)問(wèn)如何在不按下按鈕的情況下重置電路板?

    我有一臺(tái)舊的 Raspberry Pi 1B,我用它通過(guò) UART 照顧 VF2。如果 VF2 無(wú)法啟動(dòng)但 u-boot 仍然可以訪問(wèn),我可以 ssh 進(jìn)入 RPI 并運(yùn)行 picocom 來(lái)修復(fù)它。 如果 VF2 崩潰且無(wú)法
    發(fā)表于 03-20 08:01

    行業(yè)觀察 | 微軟1月修復(fù)112個(gè)漏洞,其中1個(gè)正被黑客主動(dòng)利用

    2026年1月微軟“補(bǔ)丁星期二”正式推送,本次共發(fā)布了112個(gè)微軟安全補(bǔ)丁,并重新發(fā)布了3個(gè)非微軟漏洞公告。此次更新范圍廣泛,涉及Windows核心組件、遠(yuǎn)程訪問(wèn)服務(wù)、文件系統(tǒng)及Off
    的頭像 發(fā)表于 01-22 16:58 ?1474次閱讀
    行業(yè)觀察 | 微軟<b class='flag-5'>1</b>月修復(fù)112<b class='flag-5'>個(gè)</b>漏洞,其中<b class='flag-5'>1</b><b class='flag-5'>個(gè)</b>正被黑客主動(dòng)利用

    本地智能家居系統(tǒng)ESPHome,實(shí)現(xiàn)遠(yuǎn)程訪問(wèn)調(diào)試

    ESPHome 是一個(gè)開(kāi)源固件框架,支持通過(guò) YAML 配置實(shí)現(xiàn)智能家居自動(dòng)化,可本地部署并公網(wǎng)訪問(wèn),便于遠(yuǎn)程開(kāi)發(fā)。
    的頭像 發(fā)表于 12-30 14:48 ?1562次閱讀
    本地智能家居系統(tǒng)ESPHome,實(shí)現(xiàn)遠(yuǎn)程<b class='flag-5'>訪問(wèn)</b>調(diào)試

    電能質(zhì)量在線監(jiān)測(cè)裝置的多維度統(tǒng)計(jì)報(bào)表支持遠(yuǎn)程訪問(wèn)導(dǎo)出嗎?

    是的,現(xiàn)代電能質(zhì)量在線監(jiān)測(cè)裝置的多維度統(tǒng)計(jì)報(bào)表全面支持遠(yuǎn)程訪問(wèn)導(dǎo)出功能 ,已成為主流產(chǎn)品標(biāo)配,可通過(guò)多種方式隨時(shí)隨地獲取分析數(shù)據(jù)。 一、遠(yuǎn)程訪問(wèn)導(dǎo)出方式全景 1. Web 瀏覽器直連(
    的頭像 發(fā)表于 12-17 15:39 ?525次閱讀
    電能質(zhì)量在線監(jiān)測(cè)裝置的多維度統(tǒng)計(jì)報(bào)表支持遠(yuǎn)程<b class='flag-5'>訪問(wèn)</b>導(dǎo)出嗎?

    SPI的4個(gè)引腳介紹

    SPI 一般通過(guò) 4 個(gè)引腳與外部設(shè)備相連: ?MOSI 主機(jī)輸出 / 從機(jī)輸入,用于主機(jī)模式下的數(shù)據(jù)發(fā)送和從機(jī)模式下的數(shù)據(jù)接收; ?MISO 主機(jī)輸入 / 從機(jī)輸出,用于主機(jī)模式下的數(shù)據(jù)接收和從機(jī)
    發(fā)表于 12-15 06:54

    Arduino × M5Stack重磅推出物聯(lián)網(wǎng)新旗艦—Arduino Nesso N1,重新定義開(kāi)發(fā)邊界!

    ArduinoNessoN1新品發(fā)布ArduinoNessoN1NewProductLaunchArduinoNessoN1Arduino與M5Stack聯(lián)合設(shè)計(jì)與打造,是一款緊湊、
    的頭像 發(fā)表于 11-14 17:49 ?4597次閱讀
    <b class='flag-5'>Arduino</b> × M<b class='flag-5'>5</b>Stack重磅推出物聯(lián)網(wǎng)新旗艦—<b class='flag-5'>Arduino</b> Nesso N<b class='flag-5'>1</b>,重新定義開(kāi)發(fā)邊界!

    AFE7989 4 個(gè)發(fā)射、4 個(gè)接收、1 個(gè)反饋的射頻采樣收發(fā)器技術(shù)手冊(cè)

    AFE79xx 是高性能、寬帶寬多通道收發(fā)器系列,集成了四個(gè)射頻采樣發(fā)射器鏈、四個(gè)射頻采樣接收器鏈和多達(dá)兩個(gè)射頻采樣數(shù)字化輔助鏈(反饋路徑)。發(fā)射器和接收器鏈的高動(dòng)態(tài)范圍使該器件能夠從無(wú)線基站生成
    的頭像 發(fā)表于 11-04 09:31 ?1448次閱讀
    AFE7989 4 <b class='flag-5'>個(gè)</b>發(fā)射、4 <b class='flag-5'>個(gè)</b>接收、<b class='flag-5'>1</b> <b class='flag-5'>個(gè)</b>反饋的射頻采樣收發(fā)器技術(shù)手冊(cè)

    AFE7988 4 個(gè)發(fā)射、4 個(gè)接收、1 個(gè)反饋的射頻采樣收發(fā)器技術(shù)手冊(cè)

    AFE79xx 是高性能、寬帶寬多通道收發(fā)器系列,集成了四個(gè)射頻采樣發(fā)射器鏈、四個(gè)射頻采樣接收器鏈和多達(dá)兩個(gè)射頻采樣數(shù)字化輔助鏈(反饋路徑)。發(fā)射器和接收器鏈的高動(dòng)態(tài)范圍使該器件能夠從無(wú)線基站生成
    的頭像 發(fā)表于 11-03 14:21 ?795次閱讀
    AFE7988 4 <b class='flag-5'>個(gè)</b>發(fā)射、4 <b class='flag-5'>個(gè)</b>接收、<b class='flag-5'>1</b> <b class='flag-5'>個(gè)</b>反饋的射頻采樣收發(fā)器技術(shù)手冊(cè)

    STM32 Nucleo-64開(kāi)發(fā)板技術(shù)解析:以NUCLEO-C092RC為例

    、一個(gè)ARDUINO^?^ 共享的用戶LED、一個(gè)用戶按鈕和一個(gè)重置按鈕。STM32 Nucl
    的頭像 發(fā)表于 10-16 10:26 ?855次閱讀
    STM32 Nucleo-64開(kāi)發(fā)板技術(shù)解析:以NUCLEO-C092RC為例

    推薦5個(gè)讓測(cè)試效率翻倍的MCP

    推薦5個(gè)讓測(cè)試效率翻倍的MCP
    的頭像 發(fā)表于 09-19 10:02 ?768次閱讀
    推薦<b class='flag-5'>5</b><b class='flag-5'>個(gè)</b>讓測(cè)試效率翻倍的MCP

    如何用Arduino Nano/UNO R3開(kāi)發(fā)板給另一個(gè)Arduino IDE不能下載的Arduino Nano/UNO R3開(kāi)發(fā)板重新燒錄引導(dǎo)程序bootlaoder

    本文介紹了如何用能夠Arduino IDE下載的Arduino Nano/UNO R3開(kāi)發(fā)板給另一個(gè)Arduino IDE不能下載的Arduino
    的頭像 發(fā)表于 08-08 20:16 ?3989次閱讀
    如何用<b class='flag-5'>Arduino</b> Nano/UNO R3開(kāi)發(fā)板給另一<b class='flag-5'>個(gè)</b><b class='flag-5'>Arduino</b> IDE不能下載的<b class='flag-5'>Arduino</b> Nano/UNO R3開(kāi)發(fā)板重新燒錄引導(dǎo)程序bootlaoder

    【RA4L1-SENSOR】觸摸按鍵LED+串口傳輸

    ” , 通過(guò)使用下拉菜單并選擇Create a newconfiguration創(chuàng)建一個(gè)新的Touch配置,可以通過(guò)Button添加電容觸摸按鈕,具體流程如下所示。
    發(fā)表于 07-03 21:20

    《ESP32S3 Arduino開(kāi)發(fā)指南》第二章 Arduino基礎(chǔ)知識(shí)

    門檻很低。幾乎任何人,即使不懂電腦編程也能用Arduino做出很酷的東西,比如點(diǎn)燈,控制馬達(dá),對(duì)傳感器進(jìn)行回應(yīng)。簡(jiǎn)單來(lái)說(shuō),使用Arduino去開(kāi)發(fā)優(yōu)勢(shì)非常明顯,可以歸納為一下5點(diǎn):1
    發(fā)表于 05-13 09:28

    無(wú)需接線!1個(gè)底板可測(cè)試海凌科5款人臉識(shí)別模塊

    測(cè)試。ONEFO101模組測(cè)試板1款測(cè)試底板51個(gè)FO101測(cè)試底板,支持測(cè)試海凌科5種人臉識(shí)別模塊,就如同鉛筆到自動(dòng)鉛筆的升級(jí),“筆芯”
    的頭像 發(fā)表于 05-12 12:06 ?1299次閱讀
    無(wú)需接線!<b class='flag-5'>1</b><b class='flag-5'>個(gè)</b>底板可測(cè)試海凌科<b class='flag-5'>5</b>款人臉識(shí)別模塊