Witam.Na początek chce powiedzieć że jestem tu nowy i całkiem zielony więc prosze o wyrozumiałość bo topiero zaczynam "przygode" z pockami.A więc tak,zacznijmy iż że chciałbym zbudować zegar na PCF8583 gdzie sygnał byłby co jakiś tam czas synchronizowany dcf-em(chodzi mi tu o dokładność zegara).Obecnie w bascomie jest "gotowa procetura" do odczytu sygnału i po jej użyciu zegar działa poprawnie tzn. czas i data się same synchronizują.W tym przypadku data jest podawana (DD-MM-RR).a mnie zależy jeszcze na tym żeby była dekodowana "wartość" dnia tygodnia tzn. poniedziałek,wtorek itd..Chcę zrobić zegar który to będzie pokazywał "pełną datę"(oczywiście z godziną)i dlatego chciałem napisać własną proceturkę do odczytu dcf-a,alemam problem z dekodowaniem sygnału(wiem jak jest zakodowany,i nietrza mi infa na ten temat),wiem jak go odkodować(tzn. trzeba mierzyć timerem1 odcinki czasowe),ale próbuje-kombinuje (już prawie dwa miesiące)i nic.Może ktoś z was mógłby podpowiedzieć-nakierować lub dać jakiś przykład jak "wyciągnąć"z sygnału te "zera" i "jedynki" oraz "synchronizację".Z góry dziękuję
|
|||
Re: DCF
A jakie dokładnie informacje dasz radę uzyskać na podstawie tej procedury z bascoma? Masz: dzień, miesiąc, rok, godziny, minuty, sek? Szczerze mówiąc jeszcze się tym nie bawił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.
jest to typowa proceturka
jest to typowa proceturka bascomowa i ja osobiście zrobiłem "podstawowy"zegarek który to pokazywał czas(GG:MM:SS)i datę(DD/MM/RR),np:taki programik:
taki zegarek ustawia mi sie ok.1:32sek. ok godz: 22:15(wieczorem) a w dzień(ok. godz: 14:00),tak do czterech minut-wszystko zależy od sygnału-anteny.
Dlatego pisze tu bo chciałbym "wyciągnąć"z dcf-a jeszcze "nazwe dnia tygodnia"i wszyswtko to pouporządkować wg. swoich potrzeb,więc chciałbym napisać własną proceturkę na timerze1 który to zliczał by impulsy z anteny dcfa(od impulsu dodatniego do impulsu ujemnego)przez co by można "wyłonić""zera" i "jedynki"+synch.Ale mam już w głowie taki mętlik że szok!!!.Wiem że logiczne "zero"ma 100ms ,alogiczna "jedynka" ma 200ms, no i synchro 2sek.(0 impulsu-przerwa),ale nie kumam jak to "odpalić by zadziałało bo zawsze coś mi źle wychodzi.Dlatego prosze pomoc
Re: Procedura DCF
Dlaczego walczysz z odczytem dnia tygodnia jak można go obliczyć mając dzień, miesiąc rok, który juz odczytujesz... w helpie do bascoma znalazłem:
Czyli masz wszystko co potrzeba tylko trzeba zaimplementować algorytm przeliczania http://pl.wikipedia.org/wiki/Kalendarz_wieczny i potestować całość. Nie rozumiem dlaczego uparłeś się na pisanie własnej procedury, która nie wiadomo jak będzie działała skoro masz działający odczyt daty i czasu
Ps. Na podstawie jakiego schematu (opisu) zrobiłeś antenę do DCF?
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.
Co to tej proceturki to
Co to tej proceturki to chciałbym napisać swoją ponieważ ta gotowa ma "troche wad",a mianowicie: pierwsza z nich to taka że "sekundnik"raz "przyśpiesza",a raz "spowalnia"-ogólnie mówiąc sekundnik niechodzi "równomiernie"co sekunde-co da się zauważyć .Druga sprawa to taka że niemam możliwości "przypisania"wartości (danych) z dcf-a do zmiennych. A co do budowy anteny to:(niebawiłem się w żadne "scalaki,kwarce"bo o wiele drożej wychodzi kasy, więc kupiłem na allegro godowy zegarek(na części)za 28zeta czyli taniej niż układ,kwarc i inne elementy potrzebne(duuuża zaleta to to że jest baaardzo czuły odbiornik-nawet po włożeniu go do obudowy kompa chodzi).Ponieważ modół ze zegarka jest zasilany na 3V a ja używam 5V to zrobiłem tylko dotatkowo taki"bufor"-bajer(na inwerterach z przerzutnikami Schmitta(7414)).Cała antena(bufor) jest zasilana 5V,a modół anteny dcf jest zasilany przez stabilizator 3,3V(oczywiście te napięcie 3,3V idzie na modół dcf-a przez tranzystor).Dodam że jest zrobiony "układ"osobny modół wykrywający przekroczenie wartości napięcia(dzielnik nap. z diodą zenera+tranzystor)i tu z tego jest podawany sygnał na "bufor"tam jest już odpowiednio sterowane.Ogólnie mówiąc jest tak że: włańczam antene(zasilanie)-zapala się zielona led(oczywiście może się zapalić "czasowo"-np:2sek.i zgasnąć(jest dwu kolorowa),po zapodaniu sygnału "ST-BY" zielona "dioda" gaśnie,a zaczyna migać w takt odbieranego sygn.("pomarańczowa-żółta"-jak kto "odbiera" kolory),po przekroczeniu napięcia zasilającego (ustalane diodą zenera-ja mam 6,8V)"bufor"-układ blokuje tranzystor jednocześnie odcinając napięcie 3,3V modółowi dcf i informuje o "wyłączeniu" anteny świecąc diodą led na czerwono.Po "ustabilizowaniu"się-powrocie napięcia do normy antena się włańcza.Ma to na celu "uchronienie" anteny przed pomyłkowym podłączeniem lub podaniem złych napięć.Sygnał z dcf-a idzie przez rezystor do CNY-17 gdzie "łączy się z "buforem" i tam jest już sygnał "wyciągnięty""bezpośredni" i "zanegowany"
DCF
Przecież masz zmienne w programie '_day , _month, _year , _sec, _hour, _min określające wszystkie potrzebne parametry po odczycie z DCF. Spróbuj przypisać taką zmienną do innej zrobionej przez ciebie i wyświetlić, co pokaże. Nikt też nie powiedział że odczyt z DCF masz podawać bezpośrednio na wyświetlacz. Zrób normalny zegar a tylko synchronizuj sekundy np 30 sekund po pełnej godzinie albo raz dziennie o 3 w nocy i po problemie. Sekundnik pójdzie ci równo.
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.
Te zmienne bym miał jak bym
Te zmienne bym miał jak bym robił "zwykły zegar" a tej "proceturce bascomowej"do doczytu dcf-a ja tych zmiennych niewidze :/ chyba że ja jestem aż tak tempy że niekumam?!. Tu "dane"z dcf-a są odrazu przypisane "time$" i "date$"
Re: DCF
Poczytaj sobie helpa do bascoma na temat CONFIG DATE .... nie sprawdzałem tego ale masz wyraźnie napisane:
Na to wygląda że jak robisz obiekt typu Data to od razu robia ci sie takie zmienne w pamięci. Nie widze problemu tutaj....
Co to znaczy że nie widzisz tych zmiennych.. a próbowałeś wpisac zamiast twojego:
np:
Lcd _sec
lub
gdzie a jest zmienna byte
Zmienne te są automatycznie modyfikowane przez timer działający w trybie zegara....
Nawet gdyby to nie zadziałało to jest funkcja Date wyciągająca z date$ wszystkie te zmienne.... dodatkowo, co teraz znalazłem w bascomie jest funkcja Dayofweek ktora oblicza dzień tygodnia na podstawie daty w różnych formatach -> patrz help, wszystko tam jest
Rozumiem żebyś pisał własną procedurę bo np programujesz w C i chcesz żeby było to optymalne, w bascomie nie ma to większego sensu, chyba że wiesz jak sobie to dobrze napisać i bedzie ci to zajmowało mniej pamięci to wtedy jest to zrozumiał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.
Ten rodzaj wyświetlania
Ten rodzaj wyświetlania czasu(godziny) to znam,ale chodzi mi tu o date więc sie staram "poduczyć"by zrobić zegarek z dniem tygodnia,synchronizowany dcf-em i budzikiem.Znalazłem takie coś w helpie:
czy mógłbyś jeśli jesteś w stanie wytłumaczyć jak dla "matoła"mniej-więcej co i jak bo w książce p.wiązany są "skąpo"opisane "komendy(jest ich brak) jak np:ta która tu widnieje w pierwszym przykładzie:"Lookupstr"
Re: lookup
Polecenie Lookupstr to polecenie odczytu wartości z tabeli wgranej w pamięć programu. Tabela jest na końcu programu:
a polecenie
przypisuje do zmiennej tekstowej strWeekDay wartość z pozycji bWeekDay w tabeli WeekDays. Jeśli np bWeekDay = 0 to na pozycji 0 w tabeli jest poniedziałek i taka wartość przyjmie zmienna string
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.
DCF
Może tu ktoś mi pomoże.Bo wszelkie przykłady są na ten przeklęty LCD, a ja chcę to na LED ( 7 segm.).
Znalazłem na jakiejś niemieckiej stronie listing, zmieniłem w nim
tylko porty, do których mam podłączone wyświetlacze.
Kompiluje się bez problemu, ale nie odczytuje godziny z DCF.
Gdzie jest błąd ?
Wydaje mnie się, że powiniem być jakiś Timer do pomiaru impulsów z DCF
ale nie wiem jak to ugryźć.
Oto kod.
Pozdrawiam.
Re: DCF
Rodzi się jedno podstawowe pytanie:
Gdzie w tym kodzie jest odczyt z DCF'a? Bo ja tego odczytu nie widzę.
Moja strona w powijakach
dodałem zmienne
dodałem zmienne, patrzyłem na post #2 .
Jednak nadal nie działa, dioda dcf status miga.
P.S.
Jakby co , to piszę tu prosząc o pomoc.
nie robiłem nic z dcf,bo nie
nie robiłem nic z dcf,bo nie mam takiego układu,ale z tego co widziałem to jest pełno przykładów.Zresztą kaktus juz Ci powiedział w innym temacie jak się za to wziasc.