作者berice152233 (WASHI)
看板Electronics
標題[問題] 請問有辦法共用輸入又不互相影響嗎
時間Mon Nov 2 10:00:18 2020
小弟正在自學arduino
想先找個目標來學習
就選了家人在夜市擺攤的機台來當範例
機台的概念其實滿簡單的
當碰觸到微動開關時增加分數
還有步進馬達和燈光的啟閉
按下歸零鈕分數歸零
這些都已經完成
現在只剩下一個功能想不到怎麼做
機台上有20個微動開關
當觸發一次時會加分
A持續ON時B也能正常觸發並加分
一般來說只要用20個輸入點就能解決
但我在想是否有辦法共用一個輸入點呢?
一開始的構想是在ON時觸發繼電器
將該點訊號斷開,但20個繼電器感覺有點笨
我不如再接一個ARDUINO或I/O拓展
我就想說是否有IC
在A腳即使持續ON著
在B腳也只會輸出一個短暫的訊號?
請各位前輩不吝賜教,謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 49.216.86.244 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Electronics/M.1604282420.A.78E.html
※ 編輯: berice152233 (211.22.240.28 臺灣), 11/02/2020 10:09:56
1F:→ samm3320: 欸我沒玩過離散電路,不過想像上按鍵按下去時觸發pulse11/02 10:21
2F:→ samm3320: 應該可以實現11/02 10:21
目前正在找有沒有能達成這個功能的硬體
3F:→ ureikaze: MUX11/02 10:41
感謝,我有查到CD4051這顆
透過二進制來讀取8個輸入
只是目前的範例好像都是輸出
仍在研究怎麼讀取輸入
4F:推 Schottky: 看不太懂你的需求,什麼是A腳ON B腳觸發11/02 11:33
不好意思,初學者可能用語不太精確
是想問說是否有IC,能在某一腳輸入時
對應的另一腳會輸出一個短暫的訊號
※ 編輯: berice152233 (49.216.86.244 臺灣), 11/02/2020 12:01:54
5F:→ mmonkeyboyy: 編碼啊 然後速度要夠快11/02 12:05
6F:→ samm3320: xor 跟 delay應該就可以做到吧,只是看你成本11/02 12:09
因為只是個人練習,成本其實還好
我可以只做三個極限開關來模擬動作就好
也會嘗試各種做法當練習
※ 編輯: berice152233 (49.216.86.244 臺灣), 11/02/2020 12:12:11
7F:→ samm3320: xor一端接input一端接delay input就可以實現edge trigge 11/02 12:18
8F:→ samm3320: r pulse generator,後面看你要怎麼把output or成一條線11/02 12:18
9F:→ samm3320: 送去給counter吧11/02 12:18
感謝,我再研究看看
10F:推 warfjragon: 用 arduino的 analog input port。利用開關並聯不同11/02 14:44
11F:→ warfjragon: 數目的電阻改變送入arduino的電壓值。11/02 14:44
看起來也是個很不錯的方法
當輸入的值有一定程度變動
就是有一個開關被觸發
剛好可以用手邊有的東西可以先試試看
12F:→ warfjragon: 不確定這樣準不準11/02 14:45
我有點擔心雜訊的問題
(或者有其他沒有考慮到的問題)
不過我先嘗試一下
※ 編輯: berice152233 (49.216.86.244 臺灣), 11/02/2020 14:50:20
13F:推 hsucheng: 20隻腳中只要有正緣(或負緣)就輸出一個pulse11/02 16:20
14F:→ hsucheng: 或者是 偵測20隻腳的狀態 做編碼11/02 16:22
不好意思
不太了解做編碼這個動作
是否有可以參考的關鍵字呢
我查都只能找到編碼旋轉器
※ 編輯: berice152233 (49.216.86.244 臺灣), 11/02/2020 16:24:18
15F:推 HiJimmy: 用ADC讀會有按鍵優先權的問題 I/O夠的話 4X5掃描 11/02 16:42
16F:推 HiJimmy: 用數組存值,100ms中斷掃描,三次數值比較,這樣反應速度 11/02 16:45
17F:→ HiJimmy: 差不多再0.5秒,因為有I/O的延遲時間 11/02 16:45
19F:推 HiJimmy: 然後再用DAC送資料出去 這樣主控就能只用一隻腳 11/02 16:50
20F:→ hsucheng: 要偵測20隻腳 要用到5個bits,寫程式判斷每次掃過去哪個 11/02 17:20
21F:→ hsucheng: bits變了 11/02 17:20
22F:推 DRQX: 你要的硬體功能叫做"單擊器".但是你的這種方法訊號會漏 11/04 09:12
23F:→ DRQX: 20個輸入用韌體去解算是最穩定作法. 11/04 09:14
24F:→ DRQX: 另個類似"單擊器"的就是"微分器"了 11/04 09:15
25F:推 kdjf: 這個問題應該是會有同時的按鍵,掃描的就很難解決 11/04 23:28
26F:→ kdjf: 其中一列分時的話,就是速度慢一些,程式要把腳改成High Z 11/04 23:35
27F:→ berice152233: 好的,感謝各位 11/05 09:45