Forum www.nestor-electronic.pl Strona Główna www.nestor-electronic.pl
Forum sterowników procesorowych- programy BASCOM
 
 FAQFAQ   SzukajSzukaj   UżytkownicyUżytkownicy   GrupyGrupy   RejestracjaRejestracja 
 ProfilProfil   Zaloguj się, by sprawdzić wiadomościZaloguj się, by sprawdzić wiadomości   ZalogujZaloguj 

Opuźnienia, obsługa przycisków...

 
Napisz nowy temat   Odpowiedz do tematu    Forum www.nestor-electronic.pl Strona Główna -> Pomoc w programowaniu BASCOM
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
lukaszs59
Nowy


Dołączył: 10 Lis 2009
Posty: 16

PostWysłany: Nie Sty 17, 2010 9:21 pm    Temat postu: Opuźnienia, obsługa przycisków... Odpowiedz z cytatem

Witam
Jak programowo zrobić coś takiego: mamy przycisk i diodę led....Za każdym razem kiedy naciskam switch`a na krótko zapala sie dioda , natomiast kiedy przycisnę go na 3s to dioda zapala się na 3 s po czym gaśnie ....
Potrzebne mi jest coś takiego do sterowania szybami w samochodzie...

Pozdrawiam, z góry dzięki
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
leon1313
Nowy


Dołączył: 15 Sty 2010
Posty: 4

PostWysłany: Sro Sty 20, 2010 1:39 am    Temat postu: Odpowiedz z cytatem

Najprościej wykorzystać któryś z TIMERów i uruchamiać go po naciśnięciu przycisku. Odczekać z 50 ms celem wyeliminowania drgań i po zmianie na stan wysoki odczytać zawartość timer-a. Jeśli jest mniej niż 3 sek (lub inną wartość określająca krótkie wciśnięcie)- zapal na stałe. Jeśli więcej- zapal na 3 sek - możesz znowu wykorzystać timer Smile
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
rafal
Site Admin


Dołączył: 08 Lis 2007
Posty: 1180
Skąd: Olkusz

PostWysłany: Sob Sty 23, 2010 5:44 pm    Temat postu: Odpowiedz z cytatem

po rozpoznaniu stanu przycisku (wcisnięty) wpisz komente

Kod:
 wait 3 ' przy czym 3 do długość opuznienia w sekundach :)
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość Wyślij email Odwiedź stronę autora
SunRiv
Zawsze na posterunku


Dołączył: 11 Lut 2009
Posty: 321
Skąd: Opole

PostWysłany: Sob Sty 23, 2010 9:41 pm    Temat postu: Odpowiedz z cytatem

nio najprościej wait 3 , ale uzywanie waito pochodnych rozkazów w bascomie jest raczej mało eleganckie prościej i skuteczniej zastosować jakąś pędlę For

np

Kod:
For i=1 to 3000 step 1 ; next i


i też mamy opuźnienie 3 sek a procesor nie stoi beszczelnie i moze przyjmować dane , gdzie podczas waitów poprostu stoi w miejscu
_________________
Subaru Libero SDX-SR 94"
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość Odwiedź stronę autora
lukaszs59
Nowy


Dołączył: 10 Lis 2009
Posty: 16

PostWysłany: Pon Sty 25, 2010 7:42 pm    Temat postu: Odpowiedz z cytatem

No tak ale chodziło mi o to żeby , np jednym przyciskiem(aktywny stan niski)
zrealizować dwa różne zachowanie diody na wyjściu w zależności od czasu przytrzymania przycisku, zeli krótko wciśnięty to krótko wystawia wyjście, a jak dłużej przytrzymany np. 3s do dłużej wystawia wyjście np. na 3 s

[code]
$regfile = "m8def.dat"
$crystal = 8000000
Config Portd.0 = Output
Config Portd.1 = Input
Dioda Alias Pind.0
Switch Alias Pind.1
Set Portd.1
Do

Config Debounce = 3000
Debounce Switch , 0 , Pr1 , Sub

Debounce Switch , 0 , Pr2 , Sub

Pr1:
Set Dioda
Wait 3
Reset Dioda
Return

Pr1:
Set Dioda
Reset Dioda
Return
Loop
End[/code]






Takie coś skleciłem ale to chyba nie ma sensu:/ Zupełnie nie wiem jak mam za to sie zabrać...
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
SunRiv
Zawsze na posterunku


Dołączył: 11 Lut 2009
Posty: 321
Skąd: Opole

PostWysłany: Pon Sty 25, 2010 9:25 pm    Temat postu: Odpowiedz z cytatem

no to też pętla tylko podstaw wartości

masz do dyspozycji tyle zabawek

choćby użyj pętli If then do sprawdzania stanu przycisków i w niej obie definiujesz :

Jęsli klawisz.i = 2 to wykonaj to ....
a jęsli nie to wykonaj to

zaglądnij do helpa baskoma

IF THEn ELSE

wszystko ładnie opisane Smile
_________________
Subaru Libero SDX-SR 94"
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość Odwiedź stronę autora
lukaszs59
Nowy


Dołączył: 10 Lis 2009
Posty: 16

PostWysłany: Wto Sty 26, 2010 10:43 am    Temat postu: Odpowiedz z cytatem

thx, jakie mam podstawić wartości?
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
SunRiv
Zawsze na posterunku


Dołączył: 11 Lut 2009
Posty: 321
Skąd: Opole

PostWysłany: Wto Sty 26, 2010 4:17 pm    Temat postu: Odpowiedz z cytatem

musisz sobie dobrać doświadczalnie
zreszta masz w helpie ładnie opisane Smile
_________________
Subaru Libero SDX-SR 94"
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość Odwiedź stronę autora
thral666
Lekko zaangażowany


Dołączył: 08 Sty 2009
Posty: 65

PostWysłany: Nie Lip 18, 2010 12:54 pm    Temat postu: Odpowiedz z cytatem

Zamiast sobie utrudniać życie zastosuj sobie przełącznik dwustopniowy Smile tak jak jest oryginalnie w autach Razz (przynajmniej u mnie Smile naciskasz lekko to szyba jedzie dotąd aż trzymasz a naciskasz mocno to szyba się otwiera na maksa Razz
_________________
Automatyka i inteligencja w budynkach mieszkalnych.
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość Wyślij email
Wyświetl posty z ostatnich:   
Napisz nowy temat   Odpowiedz do tematu    Forum www.nestor-electronic.pl Strona Główna -> Pomoc w programowaniu BASCOM Wszystkie czasy w strefie CET (Europa)
Strona 1 z 1

 
Skocz do:  
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach


Powered by phpBB © 2001, 2005 phpBB Group