精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

怎樣將1個模擬輸入用于Arduino的6個按鈕

454398 ? 來源:wv ? 2019-10-25 10:21 ? 次閱讀

步驟1:電路

怎樣將1個模擬輸入用于Arduino的6個按鈕

Arduino模擬輸入可接受0V至5V輸入。此輸入具有10位分辨率,這意味著信號被分成2 ^ 10個段或1024個計數。基于此,在允許同時按下的同時,我們最多可能輸入到模擬輸入中的是10個按鈕到1個模擬輸入。但是,這不是一個完美的世界。導體中存在電阻,外部來源的噪聲以及功率不完善。因此,為了給自己帶來足夠的靈活性,我計劃設計6個按鈕。這在一定程度上受到TinkerCAD Circuits具有6開關DIP開關對象這一事實的影響,這將使測試變得容易。

設計的第一步是確保每個按鈕在按下時單獨按下,將提供獨特的電壓。這排除了所有電阻器的值相同。下一步是,并聯添加電阻值時,電阻值不能與任何單個電阻器值相同。當電阻并聯時,可以通過Rx = 1/[(1/R1)+(1/R2)]來計算得到的電阻。因此,如果R1 = 2000和R2 = 1000,則Rx = 667。我推測通過將每個電阻器的尺寸加倍,對于任何組合我都不會看到相同的電阻。

因此,到目前為止,我的電路是有6個開關,每個開關都有自己的電阻。但是,完成該電路還需要一個電阻。

最后一個電阻有3個用途。首先,它充當下拉電阻。如果沒有電阻,則當沒有按鈕按下時電路將不完整。這將使Arduino模擬輸入上的電壓浮動到任何電壓電位。下拉電阻器實質上將電壓下拉至0V。第二個目的是限制該電路的電流。歐姆定律指出,V = IR或電壓=電流乘以電阻。在給定的電壓源下,電阻越大,電流就越小。因此,如果將5V信號施加到500ohm電阻,則我們可以看到的最大電流為0.01A或10mA。第三個目的是提供信號電壓。流過最后一個電阻的總電流為:i = 5V/Rtotal,其中Rtotal = Rlast + {1/[(1/R1)+(1/R2)+(1/R3)+(1/R4)+ (1/R 5)+(1/R 6)]}。但是,對于每個按下了相應按鈕的電阻,僅包括1/Rx。從總電流中,提供給模擬輸入的電壓將為i * Rlast或i * 500。

步驟2:證明-Excel

證明該電路具有獨特的電阻和獨特的電壓的最快,最簡單的方法是使用Excel的功能。

我設置了所有可能的組合切換輸入并按照二進制模式順序組織這些。值“ 1”表示開關打開,空白表示開關關閉。在電子表格的頂部,我輸入了每個開關和下拉電阻的電阻值。然后,我計算了每種組合的等效電阻,但當所有電阻都關閉時除外,因為這些電阻在沒有電源的情況下不會產生影響。為了使我的計算變得容易,以便我可以復制和粘貼到每個組合,我通過將每個開關值(0或1)乘以其反向電阻值來將所有組合包括在計算中。如果開關斷開,這樣做可以從計算中消除其電阻。可以在電子表格的圖像中看到生成的方程式,但是Req = Rx + 1/(Sw1/R1 + Sw2/R2 + Sw3/R3 + Sw4/R4 + Sw5/R5 + Sw6/R6)。使用Itotal = 5V/Req,我們確定通過電路的總電流。這與流過下拉電阻的電流相同,并向我們的模擬輸入提供電壓。計算公式為Vin = Itotal x Rx。查看Req數據和Vin數據,我們可以發現我們確實有唯一的值。

在這一點上,我們的電路似乎可以正常工作。現在要弄清楚如何對Arduino進行編程

第3步:Arduino編程

當我開始考慮如何對Arduino進行編程時,我最初計劃設置各個電壓范圍來確定開關是打開還是關閉。但是,有一天晚上躺在床上時,我想到應該可以找到一個方程式來做到這一點。怎么樣? EXCEL。 Excel能夠計算方程以最適合圖表中的數據。為此,我需要一個開關(二進制)的整數值與對應于該值的電壓輸入之間的等式。在我的Excel工作簿中,將“整數值”放在電子表格的左側。現在確定我的方程式。

下面是有關如何在Excel中確定直線方程式的快速教程

1)選擇一個不包含任何數據的單元格。如果選擇了一個具有數據的單元格,Excel將嘗試猜測要趨勢的單元格。因為Excel很少能正確預測,所以這使設置趨勢變得更加困難。

2)選擇“插入”選項卡,然后選擇“散點圖”。

3)右鍵單擊圖表框,然后單擊“選擇數據。..”。這將彈出“選擇數據源”窗口。選擇“添加”按鈕繼續選擇數據。

4)給它指定一個系列名稱(可選)。通過單擊向上箭頭,然后選擇電壓數據,選擇X軸的范圍。通過單擊向上箭頭,然后選擇整數數據(0-63),選擇Y軸的范圍。

5)右鍵單擊數據點,然后選擇“添加趨勢線。..”。在“設置趨勢線格式”窗口中,選擇“多項式”按鈕。觀察趨勢,我們發現2的階數不太匹配。我選擇了3階,覺得這更準確。選中“在圖表上顯示方程式”復選框。現在,最終方程式顯示在圖表上。

6)完成。

確定。回到Arduino程序。現在我們有了方程式,對Arduino進行編程很容易。代表開關位置的整數以1行代碼計算。通過使用“ bitread”功能,我們可以獲取每個單獨位的值,從而了解每個按鈕的狀態。 (請參閱照片)

第4步:TinkerCAD電路

如果您尚未簽出TinkerCAD電路,請立即執行。等待!!!!完成閱讀我的Instructionable,然后將其簽出。 TinkerCAD Circuits使測試Arduino電路非常容易。它包括幾個電子對象和Arduino,甚至允許您對Arduino進行編程以進行測試。

要測試我的電路,我使用DIP開關組設置了6個開關并將它們與電阻器捆綁在一起。為了證明我的Excel電子表格中的電壓值正確,我在Arduino的輸入處顯示了一個電壓表。一切都按預期工作。

為證明Arduino編程工作正常,我使用Arduino的數字輸出將開關的狀態輸出到LED

然后我將每個開關切換為一切可能的組合,并為能說“ IT WORKS”而感到自豪!!

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 按鈕
    +關注

    關注

    0

    文章

    134

    瀏覽量

    12737
  • Arduino
    +關注

    關注

    187

    文章

    6464

    瀏覽量

    186642
  • 模擬輸入
    +關注

    關注

    0

    文章

    17

    瀏覽量

    10669
收藏 人收藏

    評論

    相關推薦

    TLV320AIC3106有10模擬輸入和7模擬輸出,這些模擬輸入輸出如何理解?

    請問,官網上說TLV320AIC3106有10模擬輸入和7模擬輸出,這些模擬
    發表于 10-25 07:35

    開源項目!基于 Arduino DIY 漂亮的宏機械鍵盤

    其與 Arduino 的 GND 引腳相連。隨后,我每個按鈕的電線焊接到 Arduino 的一數字引腳上,同時避開了
    發表于 08-19 17:02

    為什么可以GPIO引腳同時配置為輸入輸出模式呢?

    GPIO_MODE_INPUT_OUTPUT參數,即可將引腳配置為輸入輸出模式。 問題來了:1.為什么可以GPIO引腳同時配置為輸入
    發表于 06-05 07:37

    超酷!基于ESP32自制一藍牙游戲手柄

    按鈕編號。每個鍵名都有一對應的引腳編號。 /* * ANDROID游戲手柄 * {A=1, B=2, C=3, X=4, Y=5, Z=6, L
    發表于 05-06 16:59

    具有2降壓轉換器和4輸入電壓LDO的TPS65051-Q1 6通道電源管理IC數據表

    電子發燒友網站提供《具有2降壓轉換器和4輸入電壓LDO的TPS65051-Q1 6通道電源管理IC數據表.pdf》資料免費下載
    發表于 03-07 09:22 ?0次下載
    具有2<b class='flag-5'>個</b>降壓轉換器和4<b class='flag-5'>個</b>低<b class='flag-5'>輸入</b>電壓LDO的TPS65051-Q<b class='flag-5'>1</b> <b class='flag-5'>6</b>通道電源管理IC數據表

    沒有電位器,用兩按鈕可以實現變頻器調速嗎?

    沒有電位器,用兩按鈕可以實現變頻器調速嗎? 變頻器是一種廣泛應用于電機調速的設備,它能夠調節電機的轉速,提高電機的效率,并且降低能耗。電位器是變頻器調速中常用的組件,但是在某些情況下,由于種種原因
    的頭像 發表于 02-18 16:55 ?1721次閱讀

    構建一基于Arduino的空氣質量監測系統

    呼吸清潔、健康的空氣對我們的健康至關重要,但在許多環境中,空氣質量仍然是一問題。在本文中,我們深入探討如何創建一基于Arduino的空氣質量監測系統。我們將從討論各種組件開始,然
    的頭像 發表于 02-11 12:03 ?3990次閱讀
    構建一<b class='flag-5'>個</b>基于<b class='flag-5'>Arduino</b>的空氣質量監測系統

    如何按鈕連接到Arduino

    在本快速入門指南中,您將學習如何按鈕連接到Arduino板,并根據按鈕是否被按下來讀取HIGH或LOW。您將使用電路板上隨附的發光二極管 (LED)通過
    的頭像 發表于 02-11 10:52 ?3463次閱讀
    如何<b class='flag-5'>將</b><b class='flag-5'>按鈕</b>連接到<b class='flag-5'>Arduino</b>板

    如何HC-SR04連接到Arduino并編寫一簡單的程序來測量距離

    一種流行的Arduino超聲波傳感器是HC-SR04。它廣泛用于非接觸式距離測量,通常用于機器人和自動化項目。本指南向您展示如何HC-S
    的頭像 發表于 02-11 10:17 ?2203次閱讀
    如何<b class='flag-5'>將</b>HC-SR04連接到<b class='flag-5'>Arduino</b>并編寫一<b class='flag-5'>個</b>簡單的程序來測量距離

    三菱PLC模擬量模塊怎樣調節

    三菱PLC模擬量模塊是一種用于測量和控制模擬信號的設備。它可以模擬信號轉換為數字信號,并通過PLC進行處理和控制。本文
    的頭像 發表于 02-05 14:56 ?2776次閱讀

    關于PLC的模擬量模塊,怎樣來使用

    PLC(可編程邏輯控制器)是一種用于自動化控制系統的電子設備,用于監視輸入信號并根據預先設定的邏輯和算法來控制輸出。其中一重要的組成部分是模擬
    的頭像 發表于 02-05 14:52 ?1501次閱讀

    ESP32與Arduino板之間的區別差異

    Arduino板包括一ATmega328P8位微控制器,具有0至13數字引腳。這些引腳用于數字輸入和數字輸出,其中數字
    的頭像 發表于 02-02 14:36 ?6905次閱讀
    ESP32與<b class='flag-5'>Arduino</b>板之間的區別差異

    使用按鈕依次切換8輸出且可控制輸出通道

    本案例使用按鈕依次切換8輸出且可控制輸出通道,比如控制指示燈,可以輸入序號來點亮該序號指示燈,連接時鐘信號可以實現跑馬燈效果。
    的頭像 發表于 12-04 15:52 ?681次閱讀
    使用<b class='flag-5'>按鈕</b>依次切換8<b class='flag-5'>個</b>輸出且可控制輸出通道

    AD7124-4的6模擬輸入通道配置為3對差分輸入,配置好寄存器后,其中一對差分輸入通道上沒有正常采集到信號的原因?

    問題:AD7124-4的6模擬輸入通道配置為3對差分輸入,配置好寄存器后,其中一對差分輸入通道
    發表于 12-04 07:34

    ADAU1701的IO口怎樣實現瞬時按鈕和單極開關輸入電路圖的搭建?

    ADAU1701的IO口怎樣實現瞬時按鈕和單極開關輸入電路圖的搭建
    發表于 11-28 06:50