Witam musze zroibć program któy po naciśnięciu switcha odliczy mi 5 min i załóżmy jak za 3 godizny nacisne znowu microswitch to znowu oldiczy mi 5min i otworzy port. $regfile = "m8def.dat" $crystal = 12000000 Pind.0 = Input 'port Do Otwarcia Pind.1 = Output 'Microsiwtch Bardzo proszę o pomoc:)
|
|||
Re: timer
Na początek zapoznaj się z programem do mojego timera fotograficznego i timera kuchennego bo oba działają na takiej zasadzie jak chcesz...
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
Witam
Przenalizowałem kod z timera fotograficznego i mam coś takiego:
Wiem że brakuje mi zmiennych.Nie wiem również gdzie mam pwisać zeby mi odliczył 5 min.W moim przypadku timer0 ma zacząć liczyć jak nacisne microswitch, czy to powino wyglądać tak:
Pozdro :)
Re: Timer
Poza pętlą do loop nie może być niczego do czego nie dałeś etykiety ani return bo to ie będzie działało. Program powinien mniej więcej tak wyglądać:
TO jest zarys programu, jak działa musisz zrozumiec samemu. Dopisac zmienne i na podstawie wzoru który podałem obliczyc taką wartość timera żeby dobrze ustawiał zmienna flaga co określony czas. Np dla 4ms i kwarca 16MHZ trzeba ustawić timer=6, (tam mam chyba błąd w programie bo 5 daje częstotliwośc mniejszą). Dla 12MHz kwarca będzie to inna wartość
CO do stop timer to nie ma potrzeby jego wyłączania. Wystarczy odpowiedni if w obsłudze przycisku.
Ustaw ten timer i zobacz czy dioda w pętli głównej miga poprawnie np co 1s
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
odp
Jeśli dobrze rozumiem... po naciśnięciu uSwitch'a ma się załączać triak na 5min i tak za każdym razem gdy naciśniesz uSwitch?
tak zgadza sie:)
tak zgadza sie:)
Pozdro :)
odp
Najprościej chyba będzie tak:
Testowałem ten program z przekaźnikiem załączanym przez ULN2803A i działa tak jak chciałeś. Ustawienia pinów to sobie żmien jak chcesz, mi pasowało akurat tak podłączyć układ.
Mi nie działa ustawiłem soibe
Mi nie działa ustawiłem soibe porty i kwarc na 12mhz.Po załączneku całści zarówka mi sie świecie nie wyłącza sie po określonym casie, i jak nacine switch to mi gaśnie a po ponownym naciśnicu u switch zero reakcji:(
Bardzo proszę o pomoc:)
Pozdro :)
odp
A jak to podłączyłeś? Przez układ ULN2803A? Jeśli inaczej to wrzuć schemat.
pod triaki na uniwersalnej
pod triaki na uniwersalnej płytce mirelego:)
Pozdro :)
Re: Odmierzanie czasu
Jak chcesz uruchomic to z triakiem na mojej płytce to tam masz włączane triaki niskim stanem logicznym. Zamień "Triak=1" na "Triak=0" i na odwrót. Na początku programu daj "triak = 1"
Poza tym jeśli chcesz precyzyjnie odmierzać czas to wait się do tego nie nadaje. Zależy czy chcesz mieć 5min policzone czy około 5min to musisz się zdecydować na określoną wersję programu
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
Witam, zrobiłem jak Pan
Witam, zrobiłem jak Pan powidział i działa:) Odlicza mi około 1min 13s.Raczej nie jest mi potrzebny aż tak dokładny czas bo to ma zalączć pompke do wody w kuchni jak sie będzie zmywalo żeby była odrazu gorąca a nie żeby trzeba było spuszczać zimną:)Ale ma pytanie jeżeli ustawiłem to na 60s to za każdym razenm będzie taki sam odhył czasu od ustawionego?I czy za każdym razem ten czas będze mniejszy czy większy?I terz głowne pyytanie:D Czy taki sposób odmierzania czasu nie zawiesie atmegi8?
Bardzo proszę o odpowidzi na moje pytnia:)
Pozdro :)
odp
Sprawdz sobie kilka razy jaki jest czas to będziesz wiedział jaki jest "odhył" :-). Dlaczego miałoby to zawiesić atmegę? Jest to tak prosty program, że raczej nie ma szans:-) u mnie działał dobrze, a testowałem go kilka godzin, wciskając co jakiś czas uSwitcha:-).