(7 głosujących) Urządzenie to jak sama nazwa wskazuje jest timerem kuchennym. Ma za zadanie odliczać ustalone przedziały czasu podczas przygotowywania różnorodnych potraw. Przyda się każdemu oddanemu nauce studentowi i uchroni jego obiad przed spaleniem lub chociaż kuchnię przed nadmierną ilością dymu. Timer posiada pięcioprzyciskową klawiaturę na której w prosty sposób można ustawić czas od 1 minuty do 99 godzin!. Odliczanie czasu rozpoczyna się automatycznie gdy skończymy ustawiać rządany czas (po 3 sekundach). Urządzenie zbudowane jest w oparciu o mikrokontroler ATMega8. Głośny Buzzer sprawi że użytkownik napewno usłyszy alarm :)
Działanie:Schemat ideowy Timera przedstawiony jest na rysunku poniżej: Sercem urządzenia jest mikrokontroler U1 (ATMega8) wraz z rezonatorem kwarcowym X1 (16MHz) i dwoma kondensatorami C1 (22pF) i C2 (22pF). Stabilizator U2 (7805) oraz kondensatory C3 (100uF) i C4 (47uF) dostarczają napięcia na poziomie 5V wymaganego do poprawnej pracy mikrokontrolera i współpracujących elementów. Do złącza Zas podpinamy napięcie stałe o wartości ok 7-12V. Buzzer B1 oraz anody wyświetlacza W1 sterowane są za pomocą tranzystorów T1 - T5 (BC556) i rezystorów R1 - R8 (3,3k) oraz R17 (3,3k) i R18 (3,3k). Prąd segmentów wyświetlacza ograniczają rezystory R9 - R16 (330R). Złącze Prog (goldpin) i pojedynczy pin R służą do podłączenia programatora (kabla programującego). Klawiaturę timera podłączamy do złącza Sw (Goldpin). Klawiaturę stanowi 5 przycisków chwilowych podłączonych do masy i pinów B.0...B.4, co odpowiada przyciskom w kolejności: 1,5,10,20,CL. Budowa:Timer można zbudować w oparciu o płytkę drukowaną dostępną tutaj. Rysunek w odbiciu lustrzanym dostępny jest tutaj. Montaż należy rozpocząć od wlutowania dwóch zworek. Następnie montujemy wszystkie rezystory i pozostałe elementy w kolejności od najmniejszych do największych. Rezonator kwarcowy X1 powinien być w wersji "niskiej" gdyż w przeciwnym wypadku nie zmieści się pod wyświetlaczem. Pod mikrokontroler U1 dobrze jest zastosować podstawkę DIP28 a pod wyświetlacz podstawkę DIP14 przeciętą na dwie części. Buzzer B1 może być wlutowany w płytkę, tak jak to jest przedstawione na zdjęciach, jednak gdyby okazało się później że po zamknięciu w obudowie jest zbyt cichy (nawet pomimo dziury wywierconej nad nim w obudowie), można przykleić go do boku obudowy (tak jak widać na ostatniej fotografii), łącząc przewodami z płytką. Klawiaturę składającą się z 5 przycisków uSwitch 12x12mm przyklejamy bezpośrednio do przodu obudowy, tak aby były równo z jej powierzchnią. Do zasilania urządzenia dobrze jest zastosować ładowarkę mini z telefonu, ze względu na mały ciężar i wymiary. Pomocą przy budowie może okazać się schemat montażowy dostępny tutaj Wykaz Elementów:1x Listwa Goldpin 1x2 (Zas) 1x Listwa Goldpin 1x4 (Goldpin) 1x Listwa Goldpin 1x6 (Goldpin) 5x uSwitch 12x12mm 10x 3,3k 1x 47uF Elektrolit 1x Rezonator Kwarcowy 16MHz Programowanie:Mikrokontroler do sterownika został zaprogramowany w wersji demo programu BASCOM AVR firmy MCS Electronics (http://www.mcselec.com/). Program przedstawiony jest poniżej: '************* Konfiguracja uC ***************** '*********************************************** $regfile = "m8def.dat" $crystal = 16000000 Config Portb = &B00000000 : Portb = &B11111111 Config Portc = &B11111111 : Portc = &B11111111 Config Portd = &B11111111 : Portd = &B11111111 Config Timer0 = Timer , Prescale = 256 Enable Timer0 : On Timer0 Prztimer0 Enable Interrupts Buzzer Alias Portc.0 '********** Konfiguracja uC Koniec ************ '****************** Zmienne ******************* '*********************************************** Dim Flaga_4ms As Bit Dim Mig As Bit Dim Dwukropek As Bit Dim Odliczanie As Bit Dim Wyswietlanie As Bit Dim Alarm As Bit Dim Ktory_w As Byte Dim Wartosc(2) As Byte 'godziny minuty : minuty sekundy Dim W(4) As Byte '4 cyfry wyswietlane po przeliczeniu z powyzszych Dim Co4ms As Byte , Co1s As Byte Dim G As Byte , M As Byte , S As Byte Dim Buz_sygnal As Byte Dim Sw_port As Byte , Stan_portu As Byte , Licznik_sw As Byte Dim Autostart As Word Dim Autooff As Word Dim Licznik_mig As Byte '************* Zmienne Koniec **************** '************** Petla glowna ****************** '*********************************************** Do If Flaga_4ms = 1 Then Flaga_4ms = 0 If Buz_sygnal > 0 Then Buzzer = 0 Decr Buz_sygnal Else Buzzer = 1 End If If Odliczanie = 0 Then If Autostart > 0 Then 'uruchomienie autostart=750 Decr Autostart If Autostart = 1 Then Buz_sygnal = 40 Odliczanie = 1 Timer0 = 6 Co4ms = 0 S = 0 End If End If Else Autostart = 0 End If If Wyswietlanie = 1 Then Gosub Wyswietl If Odliczanie = 0 And Alarm = 0 Then Incr Autooff If Autooff = 2500 Then Wyswietlanie = 0 End If Else Autooff = 0 End If Else Portd = 255 Portc = 255 End If Gosub Przyciski End If Loop End '************ Petla glowna Koniec ************** '************ Przerwanie timer 0 *************** '*********************************************** Prztimer0: 'co 4ms Timer0 = 6 Set Flaga_4ms Incr Co4ms If Co4ms = 250 Then Co4ms = 0 If Odliczanie = 1 Then Dwukropek = Not Dwukropek Decr S If S = 255 Then S = 59 Decr M If M = 255 Then M = 59 Decr G End If End If If G = 0 And M = 0 And S = 0 Then Odliczanie = 0 Alarm = 1 End If Else Dwukropek = 0 End If End If Return '******** Przerwanie timer 0 Koniec ************ Przyciski: Sw_port = Pinb And &B00011111 If Sw_port <> 31 And Stan_portu = Sw_port Then Incr Licznik_sw If Licznik_sw = 120 Then Licznik_sw = 0 Buz_sygnal = 10 Autooff = 0 Wyswietlanie = 1 Select Case Stan_portu Case 30: If Alarm = 0 Then Incr M Autostart = 750 End If Case 29: If Alarm = 0 Then M = M + 5 Autostart = 750 End If Case 27: If Alarm = 0 Then M = M + 10 Autostart = 750 End If Case 23: If Alarm = 0 Then M = M + 20 Autostart = 750 End If Case 15: Odliczanie = 0 Autostart = 0 S = 0 M = 0 G = 0 Alarm = 0 End Select If M > 59 Then Incr G M = M Mod 60 End If End If Else Stan_portu = Sw_port Licznik_sw = 70 End If Return '************************************************* Wyswietl: Incr Ktory_w If Ktory_w = 4 Then Ktory_w = 0 If G > 0 Then Wartosc(1) = G Wartosc(2) = M Else Wartosc(1) = M Wartosc(2) = S End If W(1) = Wartosc(1) / 10 W(2) = Wartosc(1) Mod 10 W(3) = Wartosc(2) / 10 W(4) = Wartosc(2) Mod 10 If W(1) = 0 Then W(1) = 10 If Alarm = 1 Then Incr Licznik_mig If Licznik_mig = 50 Then Licznik_mig = 0 Mig = Not Mig End If If Mig = 0 Then W(1) = 11 W(2) = 11 W(3) = 11 W(4) = 11 Dwukropek = 0 Buzzer = 0 Else W(1) = 10 W(2) = 10 W(3) = 10 W(4) = 10 Dwukropek = 1 Buzzer = 1 End If End If Select Case Ktory_w Case 0: Set Portc.2 W(4) = Lookup(w(4) , Tabela) Portd = W(4) Portd.7 = Dwukropek Reset Portc.5 Case 1: Set Portc.5 W(3) = Lookup(w(3) , Tabela) Portd = W(3) Portd.7 = Dwukropek Reset Portc.4 Case 2: Set Portc.4 W(2) = Lookup(w(2) , Tabela) Portd = W(2) Portd.7 = Dwukropek Reset Portc.3 Case 3: Set Portc.3 W(1) = Lookup(w(1) , Tabela) Portd = W(1) Portd.7 = Dwukropek Reset Portc.2 End Select Return ************************************************* Tabela: Data 192 , 249 , 164 , 176 , 153 , 146 , 130 , 248 , 128 , 144 , 255 , 191 'znak: 0 1 2 3 4 5 6 7 8 9 pusty - Zdjęcia Projektu:
|
|||||||||||||||||||||||
Czyli co, nie ma sensu? A
Czyli co, nie ma sensu?
A jeżeli wykorzystać by coś z serii 8051?
Np. AT89C52 + ew. EEPROM (AT28C64) na bajery typu zegarek
Re: Timer
Timer zrobiłem na M8 bo wydawało mi się to najsensowniejsze. Mikrokontrolerów AT89C52 nigdy nie programowałem i nie mam takiego zamiaru (kiedyś robiłem układy na AT89C2051 ale teraz tylko AVR), już chociażby temu że trzeba dokładać dodatkowe układy w postaci pamięci, a tak wogóle to po co ci eeprom do zegarka bo nie bardzo rozumiem....
tak czy inaczej to jest projekt timera kuchennego, pilnuje on aby mi się kotlet nie spalił :) więc zegarek nie jest tu potrzebny bo układ po skończeniu odliczania wyłacza wyświetlacz i czeka na następne kliknięcie
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.
Jaki jest pobór mocy przez
Jaki jest pobór mocy przez układ w czasie pracy? Czy układ powinien działać poprawnie przy rezonatorze 4mhz (zamierzam zasilać go baterią 9v)?
Re: Timer
Nie mierzyłem poboru prądu więc nie znam odpowiedzi... Z rezonatorem 4Mhz bedzie dzialać, w programie zmień częstotliwośc na odpowiednią (w linijce z crystal) i zmień preskaler częstotliwości z 256 na 64 i reszta programu powinna śmigać. Jeśli dasz baterię 9V to daj wyłącznik baterii bo układ u mnie cały czas pracuje i będzie zuzywał prąd podczas czuwania
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.
Dziękuje. Chodziło mi o to że
Dziękuje. Chodziło mi o to że gdy wyłączają prąd to minutnik nie działa. Ale wpadłem na pomysł że dam tam akumulatorek (taki do lutu)na podtrzymanie na parę minut.
Re: Timer Kuchenny
Jakoś nie wpadłem na to żeby odmierzać czas jak nie ma prądu.... piekarnik wtedy też mi nie działa :)
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.
...albo przez to, ze prąd nam
...albo przez to, ze prąd nam wyłączyli z dwa razy w ciągu 4 lat ;)
Fotografia, Linux, programowanie, python.. czyli strona domowa || Galeria fotografii http://galeria.firlej.org
U mnie prąd wyłączają na
U mnie prąd wyłączają na chwilę z 1-2 razy w tygodniu. A gotować wtedy można bo mam kuchenkę gazową.
Re: Timer
W takim razie musisz sobie zrobic zasilacz z baterią i połączyć to wszystko za pomocą diod schotkiego albo zwykłych prostowniczych. Napięcie z zasilacza po przejściu przez diodę powinno być ok 5,2-5,4, a z baterii po przejściu przez diodę(diody) powinno być ok 4,8-5,0. Wtedy łączysz to do kupy i jak zasilacz pracuje to napięcie 5,4 V polaryzuje diodę baterii w kierunku zaporowym (odcina baterię) a prąd leci z zasilacza. Jeśli zasilacz się wyłaczy to napięcie spadnie poniżej tego 4,8 z baterii i diody zaczną przewodzić prąd z baterii. Stabilizator wtedy w tym miejscu gdzie jest będzie niepotrzebny. Napięcie ok 5,6V można uzyskać łacząc wyprowadzeniem GND stabilizatora przez diodę prostowniczą do masy. Potem to napięcie po przejściu przez diodę schotkiego da Ci ok 5,4V. Przy baterii trzeba pokombinować z ilością diod, tak aby bateria miała niższe napięcie niz zasilacz w tym punkcie co się diody łączą ze sobą.
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.
Dzięki ogromne. Mógłbyś mi
Dzięki ogromne. Mógłbyś mi objaśnić dokładniej jak połączć baterię z zasilaczem. Albo dać schemacik. A i jeszcze jedno czy może być zasilacz 4,5v (przy pomiarze 4,61v)
Re: Timer Zasilanie
Popatrz na rozwiązanie tutaj. Tylko bez tego tranzystora T5. to są te diody o których mówiłem. Zasilacz 4,61 to mało bo jak dasz go przez diodę to spadnie do 4V a to juz jest za mało dla procesora M8 (4,5V - 5,5V). Zasilanie musi być takie jak napisałem.
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.
Gdzie można...
Gdzie można kupić taki wyświetlacz?
Szukałem na allegro, tme, avt, piekarz i w pobliskich elektrnikach, ale nigdzide nie ma ich z dwukropkami! Czy mogę zastosować jakiś bez dwukropka?
Jak wtedy trzeba byłoby zmodifikować połączenie wyświetlacza z płytką? Myślałem, żeby pojedyńcza kropka zastępowała dwukropek. Myślałem nad tym wyświetlaczem [url=]http://zefiryn.tme.pl/dok/a06/kw4-361a-c_sa.pdf[/url]
Re: Timer
Poszukaj na allegro pod hasłem "LED 4 CYFRY 0,56", a generalnie dobre wyświetlacze ma użytkownik " ARTRONICpl". Znajdziesz 4 kolory tego wyświetlacza np taki
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.
Dzięki
Dzięki za szybką odpowiedź! Nie wiem, jak mogłem tego nie znaleść... tylko ta wysyłka 7.50 :/
Ten sprzedawca ma w ofercie
Ten sprzedawca ma w ofercie jeszcze dużo innych podzespołów kup więcej to się będzie bardziej opłacało.
Właśnie...
Właśnie zamówiłem wyświetlacz, kondensatory smd 22pF i kwarc. A u niego 2 kwarce kosztują 1.40 a w elektroniku jeden 3zł :)
Kupiłem wreszcie zasilacz
Kupiłem wreszcie zasilacz (5v, 2A) I mam dwa problemy:
Przy pomiarze jest 5,9v (atmega8 wytrzymuje maksymalne napięcie 5,5v) myślałem o stabilizatorze 78L05 z kondensatorami (powiedz mi jakimi bo według karty katalogowej to 0,1uF i 0,33uF ale na wyjściu zasilacza jest wyraźna migotanie / czy takie kondensatory wystarczą)i czy stabilizator nie obniży napięcia poniżej 4,5v?
Może lepiej zastosować zwykły 7805 albo diodę zenera?
Dziękuje
Re: Zasilanie
Stabilizator będzie źle pracował z tak małą różnicą napięcia. Dodaj szerogowo diodę prostowniczą w kierunku przewodzenia (np 1N4007), da ona spadek napięcia o około 0,6V i będzie dobrze. Sprawdź sobie miernikiem jakie jest napięcie po przejściu przez diodę. Pamiętaj też że jak obciążysz zasilacz większym prądem to prawdopodobnie jego napięcie spadnie do tych 5V które były deklarowane przez producenta
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.
Teraz jest dobrze, Ale czy to
Teraz jest dobrze, Ale czy to migotanie na wyjściu nie zabije atmegi?
Re: Timer kuchenny zasilanie
Jakie migotanie? Przecież mówiłeś że masz zasilacz, rozumiem że prądu stałego. Prąd stały przepływając przez diodę dalej jest stały :) Poprostu dioda robi spadek napięcia w kierunku przewodzenia, typowo 0,6V.
Jeśli natomiast masz transformator (zasilacz prądu przemiennego) na napięcie 5,9V to jasne że wtedy muszisz dać moste prostowniczy, kondensator filtrujący, stabilizator 7805 i za nim drugi kondensator?
Czy mierzyłeś to napięcie na wyjściu zasilacza i na jakim zakresie? AC czy DC?
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.
Chodzi o częstotliwość. I czy
Chodzi o częstotliwość. I czy nie trzeba zastosować kondensatora filtrującego?
Re: Zasilanie
Jaka częstotliwość? Opisz mi dokładnie o czym mówisz bo nie rozumiem... pytasz dalej o zasilacz? Jaki wkońcu ten zasilacz kupiłeś, prądu stałego 5v, 2A czy transformator taki masz?
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.
jest zasilacz prądu stałego.
jest zasilacz prądu stałego. O tą częstoliwość to chodzi mi o to że jak np diodę podłącze to jest taki efekt jak by nią układ sterował przez pwm.
Re: Zasilanie
Masz zasilacz prądu stałego o napięciu zmierzonym przez ciebie 5,9V, więc wystarczy poprostu zbić troszkę napięcia na wyjściu za pomocą diody. Do wyjścia zasilacza podłącz diodę prostowniczą (anodą do +), katoda diody będzie teraz twoim wyjściem z zasilacza. między masą zasilaca a katodą diody zmierz napięcie, powinno byc o około 0,6V mniejsze niż przed diodą. Chcesz zasilać układ z procesorem,który max ma 5,5V więc innaczej tego w prosty sposób nie zrobisz.
Jeśli przepuścisz napiecie stałe przez diodę to skąd pomysł że zrobią się z tego jakieś impulsy, napięcie dalej pozostaje stałe.
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.
Cześć,podoba mi się Twój
Cześć,
podoba mi się Twój timerek.
Może zdradzisz mi nazwę waświetlacza, którego użyłeś. Bo ja za żadną cenę nie mogę u nas (Czechy) znaleźć takiego z 14-oma wyprowadzieniami a w dodatku z dwukropkiem. Są same tylko z 12-oma a bez dwukropka. A jeśli jest dwukropek, to i tak nie jest wyprowadzony.
A może jeszcze poproszę Cię, w czym projektowałeś płytkę. Jeśli w Eagle, to poprosiłbym Cię, jeśli byś mi nie wysłał pliku *.brd, bo i tak sądzę, że będę musiał płytkę przeprojektować pod inny/e wyświetlacz/e.
Dzięki,
Roman
EDIT:
Patrzę, że w Eagle chyba nie :-(
No to przynajmniej typa wyświetlacza.
Kwarc
Czy jak posiadam kwarc 8Mhz to w programie zmieniam tylko $crystal = 16000000
na $crystal = 8000000 ????
Czy
Config Timer0 = Timer , Prescale = 256
Enable Timer0 : On Timer0 Prztimer0
pozostają bez zmian?
Re: Timer
Co do wyświetlacza to warto go kupić na allegro http://allegro.pl/item937319163_art_nowe_led_4_cyfry_0_56_14mm_green_w_a.html tam tez podany jest dokładny model.
eshaton:
Jeśli zmienisz kwarc to oprócz zmiany w programie w deklaracji, musisz zadbać aby fragment programu w obsłudze przerwania wykonywał sie z taką samą częstotliwością. W tym przypadku pociągnie to za sobą konieczność zmiany preskalera w timerze na 64 oraz dodania nowego dzielnika na zmiennej (przez 2) w obsłudze przerwania aby Flaga_4ms ustawiała się co 4ms
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.
Fuse
Nie zamieściłeś w tym projekcie tabelki z fuse. W innym projekcie (timer fotograficzny) jest tabelka.
pyt1 Mogę zastosować te ustawienia? czyli hfuse c9, lfuse ff.
Mam programator połączony z płytką testową która ma kwarc 8mhz a wolałbym nie przerabiać przewodów.
pyt2 Czy mogę na niej zaprogramować atmege8 i przełożyć do twojego projektu czy może sie zablokować bo ma kwarc 8mhz? Wiem ze do zaprogramowania ten kwarc jest nie ważny tylko się zastanawiam jak sie zaprogramuje to odrazu program się włącza i co jak się włączy na 8mhz?
Re: Timer
Zastosuj ustawienia: http://mirley.firlej.org/files/ART_fuseM8_02.gif
Możesz programować na innej płytce. Kwarc podczas programowania jest o tyle ważny, że po przestawieniu fusebitów bez kwarcu już nie ruszy procesor i weryfikacja nie przejdzie. Wartość częstotliwości może być podczas programowania od 3 do 16MHz i jak uruchomi się na 8Mhz to poprostu pójdzie wolniej. W płytce docelowej daj kwarc 16Mhz bo program jest do takiego dostosowany.
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.
Jak?
Jak zrobic tą "Klawiaturę składającą się z 5 prxycisków uSwitch" i gdzie ją podpiąć ?
Re: Klawiatura
Klawiatura jest podłączona do gniazda SW, masz tam 6 pinów, jeden jest masą GND a pozostałe 5 to przyciski. Każdy z przycisków ma być włączony między masą a pinem(2 do 6, 1 to masa) w złączu SW
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.
Koszty
Dzięki.
Chce to zbudować wiec mam pytanie Jaki jest koszt budowy? Tak mniej więcej.
Re; timer
Około 25zł.
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.
Triak
Witaj
Mam pytanie gdzie można dołożyć wyprowadzenie na układ wykonawczy i co trzeba zmienić w kodzie, żeby razem z buzzerem wyłączało triaka, a z początkiem odliczania go włączało.
Pozdrawiam
A to widziałeś?
A to widziałeś? http://mirley.firlej.org/timer_fotograficzny
Fotografia, Linux, programowanie, python.. czyli strona domowa || Galeria fotografii http://galeria.firlej.org
Widziałem ale mi chodzi o
Widziałem ale mi chodzi o układ na wyświetlaczach i na atmega8 dokładnie taki jak ten tylko że z triakiem.
I z takim zakresem ustawiania czasu
Re: timer
Dopisz linijke w miejscu wskazanym poniżej
Optotriak z rezystorem szeregowym oczywiście ma byc podłączony między +5V a portc.1 mikrokontrolera
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.
Dzięki jutro sprawdzę jak
Dzięki jutro sprawdzę jak tylko dostanę się do płytki testowej.
No chyba że pojadę ze swoją panią na porodówkę :)
Pozdrawiam
A swoją drogą nie mogę się doczekać tego kursu Bascoma, ze źródeł co nieco się nauczyłem ale to za mało jak widać, jeszcze raz słowa uznania za to co robisz.
Dzięki działa jak powinno, a
Dzięki działa jak powinno, a powiedz mi w celach edukacyjnych jakie polecenie trzeba wstawić żeby działało odwrotnie , czyli włączało Portc.1 dopiero gdy odliczy czas
Re: Timer
Odwrócenie stanu wykona się po zamianie polecenia:
na:
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.
Dzięki za szybką odpowiedz,
Dzięki za szybką odpowiedz, już wiem troszkę więcej, może kiedyś tez się nauczę pisać takie programy :)
PILNE
Mam Wielki Problem Wydaje mi sie ze wszystko mam dobrze zrobione a jednak Jest tak jak podepne całą klawiate to na wyswietlaczu jest 00:00. I co 5s robi piiiiii i nic Jak naciskam tez nic. Jak podepne tylko 1 przycisk to jest piiiiiiii co 5s i jak to jest przycisk od 1min no to dolicza 1min ale zamiast odliczac to po kolejnych 5s jest piiiiii i dodaje kolejną minute Ale i tak jak naciskam to nic. Prosze o pomoc. Pozdrawiam.
Najlepiej
Najlepiej jakiś zasilacz 12V/<0.5A, na płytce jest już stabilizator. Minimalne napięcie zasilania układu to 8V, chociaż mi już przy 7,4V. Całość stabilnie pracowała.
Re: Timer
Po pierwsze na klawiaturze jest złącze programujące i programator ma być odpięty podczas normalnej pracy układu. Poza tym najważniejsze jest ustawienie fusebitów aby taktowanie było z zewnetrznego kwarca i o częstotliwości 16MHz
ustawienia: http://mirley.firlej.org/files/ART_fuseM8_02B.gif
Przyciski muszą być normalnie rozwarte. Zwarcie do masy ma nastepować po przyciśnięciu
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.
Program
Witam. Mam sprawę Czy ktoś może opisać choć te najważniejsze części programu. Bo musze wiedzieć o co w nim chodzi a nie bardzo wiem bo poprostu go wpisałem. A okazalo się ze musze mieć mniej wiecej wiedze o co w nim chodzi. BARDZO PILNE Proszę o pomoc.
Re: Program
Na samym początku masz konfigurację procesora:
potem znajdziesz deklaracje zmiennych "dim as ". Potem jest główna pętla (między do a loop) i w sumie w niej chodzi cały program co chwile odskakując do innych procedur napisanych niżej. W pętli głownej nie dzieje sie prawie nic przez większość czasu i cały czas sprawdzana jest wartość zmiennej bitowej flaga_4ms. Gdy wartość ta jest 1 to warunek w if zostanie spełniony i wykonane zostaną instrukcje zawarte wewnątrz if, jednoczesnie zmienna (flaga_4ms) zostanie zresetowana i program czeka na kolejne jej ustawienie. Zmienna Wyswietlanie zajmuje się pozwoleniem na prezentację liczb na wyświetlaczu. Po ustawieniu jej wartości na 1 zostanie wykonana obsługa wyświetlania, czyli skok do procedury Wyswietl (gosub Wyswietl), w przeciwnym wypadku wyswietlacz jest wygaszony poprzez ustawienie odpowiednich stanów na pinach. Dalej jest jeszcze skok do obsługi klawiatury.
Opis działania klawiatury jest w dziale kody źródłowe na mojej stronie więc nie będe się rozpisywał na ten temat.
najważniejsza jest obsługa przerwania, czyli procedura która wykonuje się po każdym przepełnieniu licznika timera:
Procedura wyświetlająca wywoływana jest co te 4ms w pętli głównej po ustawieniu flagi. Co każde wejście zmieniany jest wyświetlacz na którym aktualnie ma się świecić cyfra. Cyfry świecą się po kolei, co 4ms świeci jedna cyfra. Procedura sprawdza czy godziny są 0 i jak tak to zapisuje do wyświetlenia M i S a jak G rózne od zera to wyświetla G i M.
Dalej wartość przeliczana jest na 4 zmienne W(1), W(2).... W(4) i do każdej przypisywana jest cyfra jaka ma być na kolejnych wyświetlaczach. Dalej jest obsługa alarmu i wpisywanie specjalnych znaków na wyświetlacz jak jest alarm a na samym końcu wykonywany jest jeden fragment z pętli Case, w zalezności od zmiennej Ktory_w:
kolejny case za 4ms wyłączy ten wyświetlacz, ustawi cyfrę dla drugiego wyświetlacza i włączy drugi wyświetlacz. I tak samo z kolejnymi a potem od początku
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.
Atmega8
Witam. Wczesniej ktos juz pisal ze chcialby zamiast 16Mhz kwarcu dac 4MHz. A czy autor mogl mi pomoc ze zmiana programu na 8MHz, bo nie moge nigdzie w swoim miescie dostac Atmegi8 taktowanej do 16Mhz.
Prosze o pomoc :)
Re: Timer
Wystarczy zmienić:
na:
i oczywiście linijkę crystal z 16000000 na 4000000
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.
Mam ATMEGE 8 - 8PU czy da się
Mam ATMEGE 8 - 8PU czy da się wgrać program, aby działał na wewnętrznym kwarcu?? (nie musi dokładnie odmierzać, ma posłużyć do filmiku szkolnego jako bomba zegarowa) :)
Bo nie chciałbym wgrywać fusebitów na zewnętrzny kwarc 16MHz, bo to posłuży praktycznie tylko jeden dzień, a później mikrokontroler nie przyda się do niczego bo w fusebitach niezmiennie pozostanie wgrany Kwarc zewnętrzny 16MHz.
Mam w innym projekcie po prostu atmege8 z ustawionym wewnętrznym kwarcem, jeśli wyjmę ją wgram fusy na zewnętrzny 16MHz to potem już nie przestawię z powrotem na wewnętrzny.
Mam rację?
@ MAT
FuseBity da sie wielokrotnie zmieniać
na kwarc wew i zewn
Grzesiek - miasto Ostróda
GG 12372371 dom
tel 502812675 SMS