Osetreni zakmitu tlacitka
Moderátor: Moderátoři
Osetreni zakmitu tlacitka
Ahoj, tak jsem tu zase. Tentokrat resim osetreni zakmitu tlacitka. Na tlacitku detekuji obe hrany. SW cekani mi moc nevyhovuje tak jsem chtel vymyslet neco HW.
Popis problemu: Snazim se rozeznat kratky a dlouhy stisk. Pokud nastavim SW osetreni zakmitu na 100ms a k pusteni tlacitka dojde behem tech 100ms, mikrokontroler zjisti, ze bylo tlacitko stisknuto, ale ze bylo pusteno uz nepostrehne. A tim padem si mysli, ze je tl. stale drzeno...pote si mysli, ze uzivatel provadi dlouhy stisk.
Moje reseni: Navrhl jsem si takovy obvod, ale jsem amater (spise programator nez el.). Tak bych chtel znat nejake nazory. Dekuji za ne.
Odkaz na obvod
Odpory u OZ jsem zvolil tak velke, aby mi neovlivnovaly dobu vyijeni kondenzatoru. Pokud je to spatne, napiste .
EDIT:
+soubor
Popis problemu: Snazim se rozeznat kratky a dlouhy stisk. Pokud nastavim SW osetreni zakmitu na 100ms a k pusteni tlacitka dojde behem tech 100ms, mikrokontroler zjisti, ze bylo tlacitko stisknuto, ale ze bylo pusteno uz nepostrehne. A tim padem si mysli, ze je tl. stale drzeno...pote si mysli, ze uzivatel provadi dlouhy stisk.
Moje reseni: Navrhl jsem si takovy obvod, ale jsem amater (spise programator nez el.). Tak bych chtel znat nejake nazory. Dekuji za ne.
Odkaz na obvod
Odpory u OZ jsem zvolil tak velke, aby mi neovlivnovaly dobu vyijeni kondenzatoru. Pokud je to spatne, napiste .
EDIT:
+soubor
- Přílohy
-
- obvod.JPG
- (20.54 KiB) Staženo 66 x
Naposledy upravil(a) Beranek dne 18 bře 2013, 21:06, celkem upraveno 1 x.
- ZdenekHQ
- Administrátor
- Příspěvky: 25593
- Registrován: 21 črc 2006, 02:00
- Bydliště: skoro Brno
- Kontaktovat uživatele:
S těma 100ms si děláš legraci. Na zákmity bohatě stačí 3 čtení po 1ms (já používám dokonce jen 200us) a v případě shody se to bere jako výsledek, jinak se čte znovu. Zjistit potom krátký a dlouhý stisk není žádný problém, stejně musíš reagovat až na puštění tlačítka, tak jen měříš čas.
Pro moje oslovení klidně použijte jméno Zdeněk
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?]
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?]
No, takoví experti jako ty asi dělají sw do mobilů. Po dvou letech se na něm nedalo psát, protože co stisk, to vygenerovaný dvoj a více stisk. Já používám konzervativních 10ms, to je člověkem nepostřehnutelný čas a je to bomben fest i pro hodně jetý tlačítka.ZdenekHQ píše:S těma 100ms si děláš legraci. Na zákmity bohatě stačí 3 čtení po 1ms (já používám dokonce jen 200us)
Vzdyt by snad stacilo po te, co zjistim zmenu, zacit pocitat cas treba po 1ms a s kazdym vzorkem testovat vstup. Pokud nastane zmena zpet, tak citac casu resetovat. Pokud citac casu presahne protizakmitovou dobu Tfilt, prohlasi se stisk za validni a pokud presahne hodnotu definovanou pro dlouhy stisk, prohlasi se za dlouhy...
de omnibus dubitandum est
- ZdenekHQ
- Administrátor
- Příspěvky: 25593
- Registrován: 21 črc 2006, 02:00
- Bydliště: skoro Brno
- Kontaktovat uživatele:
Dej si tam klidně hodinu, já používám klasický mikrospínače a když přičtu zpoždění díky obsluze funkce, v životě se mě dvojstisk nepovedl a to už ten algoritmus včetně zkušebních tlačítek používám asi 5 let. Původně jsem tam měl víc, ale je to zbytečný. Tři čtení po 200us a jakákoliv změna zavolá algoritmus opět od začátku, takže si to tlačítko klidně může kmitat půl hodiny.Andrea píše:No, takoví experti jako ty asi dělají sw do mobilů. Po dvou letech se na něm nedalo psát, protože co stisk, to vygenerovaný dvoj a více stisk. Já používám konzervativních 10ms, to je člověkem nepostřehnutelný čas a je to bomben fest i pro hodně jetý tlačítka.
Pro moje oslovení klidně použijte jméno Zdeněk
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?]
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?]
100ms mam proto, ze pri mensich casech tam mam zakmity. Ja nectu stav vstupu, o to se stara kod trochu blize HW nez jsem ja. Ja pouze zachytavam udalosti (kdyz byla detekovana vzestupna nebo sestupna hrana). Plus si muzu nastavit jak dlouho se ma cekat aby se clovek vyhnul zakmitum.
Nic vam nenutim instalovat. Je to normalni JAVA. Muzu sem dat i obrazek no. Ale kdyz jsem se tu ptal naposled, byla mi taky odpoved zaslana v teto podobe. Tak se snad nic tak tragickeho nestalo.
JInak to vase SW reseni zkusim muzu. Po prvni hrane nastartovat casovac a udelat si par vzorku po urcitem case zda jsou stejne. Proc ne no.
A nejaky komentar k obvodu nebude?
Nic vam nenutim instalovat. Je to normalni JAVA. Muzu sem dat i obrazek no. Ale kdyz jsem se tu ptal naposled, byla mi taky odpoved zaslana v teto podobe. Tak se snad nic tak tragickeho nestalo.
JInak to vase SW reseni zkusim muzu. Po prvni hrane nastartovat casovac a udelat si par vzorku po urcitem case zda jsou stejne. Proc ne no.
A nejaky komentar k obvodu nebude?
Tak ta vrstva "blize HW" je proste nevhodna, protoze neumi detekovat vhodne typy udalosti. Honit to nekde vyse, zvlaste, kdyz ty udalosti nejsou oznaceny timestampama je pakarna...
Naposledy upravil(a) WLAB dne 18 bře 2013, 21:20, celkem upraveno 1 x.
de omnibus dubitandum est
timestamp dostavam. Muzu to zkusit odecitat ty dva casy po sobe no. Ale rikal jsem si, ze kdo vi zda to bude fungovat. Zda nebude stejny vysledek jako u toho jejich osetreni. Nevim jakto, ze tam mam nekdy dvoukliky i po takove dobe, kdyz tu kazdy pise ze po par ms je to pryc...
"ale tohle?"..no nekde jsem cetl, ze to lze resit kondikem. Ale jen kondik si myslim nestaci...kdyz chytate obe hrany.
"ale tohle?"..no nekde jsem cetl, ze to lze resit kondikem. Ale jen kondik si myslim nestaci...kdyz chytate obe hrany.
No OZ tam mam proto, ze ja chci merit napeti na kondiku..Abych osetril oba druhy zakmitu. Ale pin mikrokontroleru mi muze merit jen napeti vuci zemi. Tak jsem to udelal pres OZ. Ten mi veme jen napeti na kondiku a to pak uz je stahnute vuci zemi...ale jak rikam. Jsem hodne velky amater, takze mozna je to blbost nevim.
Kdyz nastavim filtr zakmitu(ten co tam uz je udelany) na 50ms, tak mam kazdy druhy stisk 2x Osciloskop nemam abych se na to podival poradne.
Kdyz nastavim filtr zakmitu(ten co tam uz je udelany) na 50ms, tak mam kazdy druhy stisk 2x Osciloskop nemam abych se na to podival poradne.