» »

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

crush ::

evo se slika, ce kaj pomaga:
 debouncer

debouncer

Zgodovina sprememb…

  • spremenilo: crush ()

misek ::

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..

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.

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 ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Elektricna poraba naprav , elektricna stikala in podobna vprasanja

Oddelek: Elektrotehnika in elektronika
193963 (2053) radoha62
»

vezava zvonca

Oddelek: Elektrotehnika in elektronika
2812503 (5055) mirator
»

delovanje timerja

Oddelek: Elektrotehnika in elektronika
181863 (1089) birtija
»

programiranje procesorja (strani: 1 2 3 48 9 10 11 )

Oddelek: Elektrotehnika in elektronika
50536137 (25538) icek
»

Pedala za narekovanje na COM port

Oddelek: Elektrotehnika in elektronika
161804 (1429) vuego

Več podobnih tem