物盡其用 ADKEY多按鍵製作與經驗分享

2021-08-21 09:38:56 字數 902 閱讀 3481

在開發中,如果需要使用多個按鍵時,使用adkey,往往可以節省很多io口,可以節省資源。下面,簡單介紹一下adkey的使用與經驗分享。

adkey原理:

通過不同的電阻進行分壓,使每個key按下時,io口讀到電壓值不同,來確認是keyn。

adkey原理圖:

如上圖,當啟動key按下時,上拉電阻10k通過3k電阻與gnd導通,adkey讀到電壓0.76v(理論值)。從而確認為啟動按鍵按下。

程式設計經驗分享:

1,key的電壓,與電阻的精度有關係。如電阻均採用±5%精度。

根據原理圖,可得adkey的電壓計算公式為:

vad = rn/(10+rn) *3.3v;

以上述啟動key來說:

當上拉電阻精度為+5%,3k精度為- 5%時,按鍵按下時,ad讀取電壓為2.85/(2.85+10.5)*3.3v = 0.705v,此時電壓最小;

當上拉電阻精度為-5%, 3k精度為+5%時,按鍵按下時,ad讀取電壓為3.15/(3.15+9.5 )*3.3v  = 0.822v,此時電壓最大;

2,程式設計

由1得知,啟動按鍵的ad值範圍為0.705v ≤ vad ≤ 0.822v;

a,如果adkey的參考電壓是內部的參考電壓,那麼你需要將ad值範圍設定寬一點,因為3.3v有時候會因為電路問題偏高或者偏低。

num =(rn/(10+rn) *3.3v ) / 3.3v * (取樣位數) = rn/(10+rn)  * (取樣位數)  ;  與電壓無關。

讓你的大疆在測繪領域物盡其用

去年雙十一買的大疆精靈3 advanced到現在已經整整1年了,當初的新鮮感已經沒有了,特別是最近半年飛機基本處於閒置狀態。兩塊電池的總迴圈數加起來也就40次左右,總的飛行時間將近7個小時,飛行里程7.5km。廢話不多說,進入我今天的正題。最近公司在開發定位軟體的新功能,需要疊加更精確的遙測影像和3...

物盡其(奇)用

去年acm競賽的獎金發下來了,但隊友都已經離開學校了,就趁週末回來領,順便大家聚一聚。席間很自然地聊起了我們當初因志同道合而相識,如何為ac而瘋狂,如何 保衛 我們的機房等等。我告訴他們說現在條件可不像我們那會兒了,學院已經設立乙個專門的實驗室供acm集訓隊使用,人手一台計算機,進門用指紋鎖,討論時...

用Tomcat繫結多網域名稱

一 首先將埠改為80埠 開啟server.xml檔案 將其中的8080埠改為80,即 maxthreads 150 minsparethreads 25 maxsparethreads 75 enablelookups false redirectport 8443 acceptcount 100 ...