Forum » Elektrotehnika in elektronika » multi-switch debouncer (filter za odboje za vec stikal)
multi-switch debouncer (filter za odboje za vec stikal)
crush ::
lep pozrav,
rab bi naredu "multi-switch debouncer", pa rabim pomoc.
Na moj mikrokontroler bi rad prikljucil 3 stikala (po domace switche). To pa bi rad naredu tako, da bi vse tri stikala vezal na svoj pin, poleg tega pa se na prekinitveni vhod. Ob pritisku na katerokoli stikalo se prozila prekinitev - v prekinitvenem ciklu pa bi preveril katero stikalo je pritisnjeno.
Do tukaj vse uredu. Zataknilo se mi je pri "debounce logiki". Realiziral sem en RC debouncer, ki deluje vredu. Problem je, ker bi rabu eno tako vezje za vsako stikalo, kar pa se mi zdi prevec potratno.
Nisem kej prevec elektrotehnik po dusi, pa me zanima, ce bi to lahko resil tko, da bi vezal izhode iz vseh treh skikal v eno IN (AND) vezje in hkrati v vhode mikrokontrolerja (vhodi mikrontrolerja imajo notranje pull-up upore).
Bom dodal kako slikco, da bo stvar bolj jasna :)
lp,
crush
rab bi naredu "multi-switch debouncer", pa rabim pomoc.
Na moj mikrokontroler bi rad prikljucil 3 stikala (po domace switche). To pa bi rad naredu tako, da bi vse tri stikala vezal na svoj pin, poleg tega pa se na prekinitveni vhod. Ob pritisku na katerokoli stikalo se prozila prekinitev - v prekinitvenem ciklu pa bi preveril katero stikalo je pritisnjeno.
Do tukaj vse uredu. Zataknilo se mi je pri "debounce logiki". Realiziral sem en RC debouncer, ki deluje vredu. Problem je, ker bi rabu eno tako vezje za vsako stikalo, kar pa se mi zdi prevec potratno.
Nisem kej prevec elektrotehnik po dusi, pa me zanima, ce bi to lahko resil tko, da bi vezal izhode iz vseh treh skikal v eno IN (AND) vezje in hkrati v vhode mikrokontrolerja (vhodi mikrontrolerja imajo notranje pull-up upore).
Bom dodal kako slikco, da bo stvar bolj jasna :)
lp,
crush
misek ::
To narediš v programu. Nekaj navodil:
http://www.ikalogic.com/debouncing.php
http://www.best-microcontroller-project...
http://www.rentron.com/Myke6.htm
http://www.ikalogic.com/debouncing.php
http://www.best-microcontroller-project...
http://www.rentron.com/Myke6.htm
crush ::
Oj,
ja vem da lahko naredim programsko, samo ce naredim programsko ne morem prozit prekinitev ob pritisku na stikalo (morem nonstop gledat ce je katero stikalo pritisnjeno), kar mi nekako ne disi. Sej ce ne bo druge bo treba tako..
ja vem da lahko naredim programsko, samo ce naredim programsko ne morem prozit prekinitev ob pritisku na stikalo (morem nonstop gledat ce je katero stikalo pritisnjeno), kar mi nekako ne disi. Sej ce ne bo druge bo treba tako..
misek ::
V prekinitveni rutini glej, če se je zgodil debounce (nek števec, timer). Malce preberi še tole, morda je kaj uporabnega.
int47 ::
Rešitev je uporabna za tipke, če je hkrati pritisnjena le ena.
V primeru uporabe stikal, se bo sprožila prekinitev le, kadar boš sklenil eno stikalo in bosta ostali dve stikali razklenjeni.
P.S. Če naj vezava deluje, bo potrebno poskrbeti za definirano log. stanje vhodov, ko so stikala izključena.
V primeru uporabe stikal, se bo sprožila prekinitev le, kadar boš sklenil eno stikalo in bosta ostali dve stikali razklenjeni.
P.S. Če naj vezava deluje, bo potrebno poskrbeti za definirano log. stanje vhodov, ko so stikala izključena.
crush ::
V prekinitveni rutini glej, če se je zgodil debounce (nek števec, timer). Malce preberi še tole, morda je kaj uporabnega.
@misek
Hmm, mogoce ne razumem tocno, ampak ti predlagas, da se znebil samo RC vezja, ostali del vezja (in vrata) pa bi rabu ohranit - se pravi je delujoc? :)
Al obstaja kaka druga vezava, ki mi ne pride na pamet, da bi s pritiskom na tipko prozil prekinitev in preveril katera tipka je bila pritisnjena?
@int47
problem ce sta dve tipki hkrati pritisnjeni, me ne moti.
P.S. Če naj vezava deluje, bo potrebno poskrbeti za definirano log. stanje vhodov, ko so stikala izključena.
Ce prav razumem, bi za to morali skrbet interni pull-up upori?
hvala in lp
edit: glede nespaporazuma o uporabi stikal oz. tipk. dejansko uporabljam tipke (ang. Tactile Switches?), malo me matra izrazoslovje - se opravicujem.
Zgodovina sprememb…
- spremenilo: crush ()
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Elektricna poraba naprav , elektricna stikala in podobna vprasanjaOddelek: Elektrotehnika in elektronika | 4022 (2112) | radoha62 |
» | vezava zvoncaOddelek: Elektrotehnika in elektronika | 12705 (5257) | mirator |
» | delovanje timerjaOddelek: Elektrotehnika in elektronika | 1905 (1131) | birtija |
» | programiranje procesorja (strani: 1 2 3 4 … 8 9 10 11 )Oddelek: Elektrotehnika in elektronika | 36555 (25956) | icek |
» | Pedala za narekovanje na COM portOddelek: Elektrotehnika in elektronika | 1822 (1447) | vuego |