Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki

KURS HOME ASSISTANT

Chcesz zautomatyzować swój dom bez skomplikowanego kodowania?
Zastanawiasz się nad wyborem sprzętu, oprogramowania i aplikacji?
Od czego zacząć przygodę z HA? Co będzie najlepsze na start?

Nasz kurs Home Assistant nauczy Cię krok po kroku, jak łatwo zautomatyzować swój dom i oszczędzić na rachunkach za prąd i ogrzewanie. Bez chmur, bez zbędnych abonamentów. Twoja przygoda z Home Assistant zaczyna się tutaj!

↓↓↓

    Szanujemy Twoją prywatność. Możesz wypisać się w dowolnym momencie.




    Teraz jest 12 lip 2025, o 10:57


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 15 ] 
    Autor Wiadomość
    PostNapisane: 8 kwi 2014, o 22:46 
    Offline
    Nowy

    Dołączył(a): 08 kwi 2014
    Posty: 16
    Lokalizacja: KRK
    Pomógł: 0

    Witam,
    Proszę o poradę co w przedstawionym poniżej kodzie jest nie tak mianowicie zbudowałem w oparciu o atmega32, RTC- ds1307 oraz TEA5767 radio FM z zegarkiem
    Oba kody osobno RTC oraz FM działają prawidłowo problem pojawia się kiedy to próbuje połączyć oba programy. Efekt tego jest taki że mogę zmieniać zakres stacji FM ale zegar cały cas wskazuje tą samą godzinę. Widać że RTC pracuje ponieważ jak zresetuje procesor godzina odświeża się. Są to moje początki z Bascom AVR więc proszę o wyrozumiałość.

    oto kod:

    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    język basic4gl
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    W przypadku kiedy usunę pętlę Do .. Loop dla

    Składnia: [ Pobierz ] [ Ukryj ]
    język basic4gl
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    Zegar zaczyna pracować ale znowu nie mogę zmienić zakresu słyszę tyko trzaski w głośniku i widać na wyświetlaczu że wartość z częstotliwością i nazwą radia miga ale bez żadnej reakcji

    Proszę o pomoc bo ja już zgłupiałem co może być nie tak



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 9 kwi 2014, o 05:31 
    Offline
    Użytkownik

    Dołączył(a): 04 cze 2013
    Posty: 517
    Pomógł: 26

    Kolego patrzę i patrzę i nie mogę dostrzec w którym miejscu wywołujesz procedury Getdatetime,Setdate,Settime, Gdzie je masz zadeklarowane ?

    _________________
    Przewodnik|Sterownik akwariowy



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 9 kwi 2014, o 22:30 
    Offline
    Nowy

    Dołączył(a): 08 kwi 2014
    Posty: 16
    Lokalizacja: KRK
    Pomógł: 0

    Witam,
    Racja procedury Getdatetime,Setdate,Settime nie były z znikąd wywoływane moja pomyłka.
    Zrobiłem coś takiego ( kod poniżej ) i dalej jest to samo :( radio gra da się zmieniać zakresy a zegar dalej stoki na 1 wskazaniu.

    Składnia: [ Pobierz ] [ Ukryj ]
    język basic4gl
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    Co może być jeszcze nie tak czy to dobrze zrobiłem ??
    Proszę o pomoc.
    Pozdrawiam



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 10 kwi 2014, o 05:34 
    Offline
    Użytkownik

    Dołączył(a): 04 cze 2013
    Posty: 517
    Pomógł: 26

    Kolego wydaje mi się że troszkę leżysz z bascomem. Czy zadeklarowałeś procedury na początku programu Następnie pooprawiłeś kod i robisz coś takiego w pętli: Odczytujesz czas a następnie ten sam czas wpisujesz do DS-a więc jak on ma ci się zmieniać? Jeśłi odczytasz np sekunda=10 i za raz ja wpisujesz tą "10" do DS-a no to jak ma ci się zmienić na 11? Dołóż sobie przerwanie co 1s i tam wstaw wywoływanie odczytu DS-a

    _________________
    Przewodnik|Sterownik akwariowy



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 10 kwi 2014, o 22:44 
    Offline
    Nowy

    Dołączył(a): 08 kwi 2014
    Posty: 16
    Lokalizacja: KRK
    Pomógł: 0

    Witam,
    No dobrze to stwierdziłeś z bascomem u mnie cienko jest widzę u siebie jeszcze sporo do nauki i poprawy ale trzeba się czymś bardziej ambitnym końcu zająć niż zapalanie diodek mniejsza z tym. Dokonałem poprawek w programie zadeklarowałem wszystkie procedury poprawiłem pętle ale coś dalej jest nie tak :( Dalej zegar stoi ale chyba znalazłem przyczynę takiego stanu rzeczy związana jest ona z funkcją jaką zadeklarowałem jako procedurę "Zmiana" mianowicie kiedy zakonotuje w pętli Do... Loop tą procedurę zegar rusza odmierza czas bezproblemowo radio też się włącza tylko nie da się zmienić stacji brak reakcji na przyciski po dodaniu "Reset" zaczyna reagować na przyciski słychać trzaski w głośniku i widać na wyświetlaczu że wskazania stacji się migają ale niestety nie zmienia się stacja czas odmierza się normalnie:


    Przykład:

    Składnia: [ Pobierz ] [ Ukryj ]
    język bash
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



    Oto cały kod po dokonaniu poprawek:
    Co tutaj jeszcze jest nie tak :(


    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    język basic4gl
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    Dziękuje i Pozdrawiam.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 11 kwi 2014, o 05:29 
    Offline
    Użytkownik

    Dołączył(a): 04 cze 2013
    Posty: 517
    Pomógł: 26

    Kolego jak mogą ci działać przyciski jak zrobiłeś procedure "zmiana" a nigdzie jej nie wywołujesz. Daj obsługę tych przycisków do głównej pętli. A tak na dzień dobry proponował bym ci napisać kod od nowa. Bo masz zegar, procedurę zapisu ustawień godziny, a nigdzie znowu nie widzę możliwości ustawiania tego zegarka.

    _________________
    Przewodnik|Sterownik akwariowy



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 12 kwi 2014, o 21:56 
    Offline
    Nowy

    Dołączył(a): 08 kwi 2014
    Posty: 16
    Lokalizacja: KRK
    Pomógł: 0

    Witam,
    Zapisu godziny i daty dokonuję na sztywno linia 33 oraz 34 w kodzie wystarczy mi to na razie. Chcę docelowo pobawić się i ustawiać czas po Rs232. Procedura "zmiana" wywołuję z pętli Do..Loop linia 73 w powyższym kodzie odnosi się do linii 106. Gdy usunę pętlę z procedury zmiana zaczyna działać zegar ale przestają działać guziki ze zmianą zakresu po wprowadzeniu jej z powrotem zaczyna działać zmiana zakresów ale przestaje zegar. Czy przypadkiem w tej pętli nie jest problem.
    Pozdrawiam



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 13 kwi 2014, o 13:18 
    Offline
    Użytkownik

    Dołączył(a): 04 cze 2013
    Posty: 517
    Pomógł: 26

    Kolego problem w twoim kodzie polega na braku znajomości zasady działania pętli Do... Loop. Więc ci ją przybliżę Jest to pętla nieskończona (pewnie wiesz lub nie ) a co to oznacza. Jeśli jest wykonywany program od pierwszej lini. To sobie leci po kolei deklaruje zmienne procedury itp. Napotyka pętle Do...Loop i wskakuje do niej ,czyli zaczyna wykonywać wszystko po słowie "DO" aż do momentu w którym napotka słowo LOOP i co się w tedy dzieje? Procesor zaczyna wykonywać kod od nowa czyli od miejsca w którym zaczyna się pętla "DO". Jako że pętla DO....LOOP jest nie skończona, procesor sobie wykonuje kod zawarty między słowem DO LOOP do końca swojego życia. Czyli analizując twój kod będzie się wykonywać tylko ta pętla
    Składnia: [ Pobierz ] [ Ukryj ]
    język basic4gl
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

    Teraz nasuwa się pytanie Jak wykonać kod po słowie LOOP. Jest kilka sposobów. Wymienię dwa bo reszty nie pamiętam lub nie znam :D Pierwszy to słowo "until" czyli piszesz loop until wyjście =1 "jakaś zmienna zezwalająca na opuszczenie pętli " i w tedy jeśli zmenna wyjście będzie równa jeden w tedy opuszczasz pętle i wykonujesz wszystko po słowie LOOP. Kolejny sposób to wykorzystanie procedur. Właśnie w twoim kodzie wykorzystany jest ten drugi sposób "procedury" .Jak to przeanalizować . Procesor wykonuje kod, napotyka procedurę Fm i co robi. Można nazwać że teleportuje się do innego pomieszczenia w którym jest zapisany kod tej procedury:
    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    język basic4gl
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

    Po wykonaniu tego kodu w innym pomieszczeniu musi teleportować się z powrotem do głównego pokoju, czyli do pętli DO LOOP na samej górze.To samo się dzieje z procedurą Getdatetime Wykonując dalej kod główny procesor napotyka procedurę "zmiana" co robie teleportuje się do innego pokoju :
    Składnia: [ Pobierz ] [ Ukryj ]
    język basic4gl
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

    i co tu się dzieje ? Procesor napotyka słowo DO co to oznacza? Jest tutaj pętla nieskończona. Procek wskakuje do tej pętli sprawdza czy pierwszy przycisk wciśnięty , drugi wciśnięty Następnie napotyka słowo LOOP, które informuje go o powrocie do początku tej procedury. Procesor wraca z wykonywaniem do słowa DO, sprawdza przycisk pierwszy drugi i znowu słowo LOOP i tak do końca swojego życia. A przecież założenie było takie że po sprawdzeniu przycisków ma teleportować się do głównej pętli. Wydaje mi się że po tym wytłumaczeniu znajdziesz problem dlaczego nie możesz zmieniać stacji i zegarek ci nie zmienia czasu jak włączysz procedurę "zmiana"

    A tak to mniej więcej działa z wykonywaniem procedur (kliknij na obrazek aby zobaczyć animację )
    Obrazek

    Podprogram=procedura


    Autor postu otrzymał pochwałę

    _________________
    Przewodnik|Sterownik akwariowy



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 15 kwi 2014, o 20:36 
    Offline
    Nowy

    Dołączył(a): 08 kwi 2014
    Posty: 16
    Lokalizacja: KRK
    Pomógł: 0

    Matekogon - Dzięki wielkie za pomoc udało mi się uruchomić :) działa. Zastosowałem się do sposobu nr.2 opisywanego przez ciebie to było takie oczywiste a ja głupi nie widziałem tego. Widzę że jeszcze dużo nauki przede mną.
    Dziękuje ci jeszcze raz i Pozdrawia.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 24 kwi 2014, o 18:31 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 27 gru 2011
    Posty: 186
    Lokalizacja: Dublin
    Pomógł: 8

    Ehh ale matekogon u ciebie z bascomem też nie lepiej a wystarczyło helpa przeczytać a nie wprowadzać kolegę w błąd.

    Ponieważ używasz bibliotek $lib "ds1307clock_ger.lib" sub-rutyny są zadeklarowane wiec ich już nie trzeba deklarować.

    A mając ds1307 grzechem jest nie wykorzystanie wyjścia sqwe i podania np na int0 wtedy zamiast wywoływać getdatetime w pętli można ustawić flagę np co sekundę i pobrać z ds1307 czas.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 1 gru 2014, o 16:48 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 04 mar 2014
    Posty: 85
    Lokalizacja: Greystones-Irlandia
    Pomógł: 1

    Witam kolegów
    Czy ma może ktoś działający kod do TEA5767 ?
    Bardzo bym był wdzięczny

    _________________
    Faber Est Quisque Suae Fortunae



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 1 gru 2014, o 17:09 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 19 lut 2014
    Posty: 569
    Lokalizacja: Żagań
    Pomógł: 54

    kulamario napisał(a):
    Witam kolegów
    Czy ma może ktoś działający kod do TEA5767 ?
    Bardzo bym był wdzięczny


    Zerknij na ten link.

    _________________
    http://leszczamiga.ppa.pl/



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 2 gru 2014, o 02:11 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 04 mar 2014
    Posty: 85
    Lokalizacja: Greystones-Irlandia
    Pomógł: 1

    Widziałem już ten artykuł
    ale kod nie jest działający autor pisze ze nie udało mu się uruchomić tego radia

    _________________
    Faber Est Quisque Suae Fortunae



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 2 gru 2014, o 17:18 
    Offline
    Nowy
    Avatar użytkownika

    Dołączył(a): 08 mar 2014
    Posty: 5
    Lokalizacja: opolskie
    Pomógł: 0

    kulamario napisał(a):
    Widziałem już ten artykuł
    ale kod nie jest działający autor pisze ze nie udało mu się uruchomić tego radia

    A sprawdzałeś? :P
    Śmię twierdzić że kod jest funkcjonujący a problem może tkwić gdzie indziej. ;-)

    Komunikacja działa, układ prawidłowo reaguje i interpretuje polecenia i wysyła dane. Niemniej spodziewanego efektu brak. Jak dotąd nie udało się namierzyć problemu.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 3 gru 2014, o 01:58 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 04 mar 2014
    Posty: 85
    Lokalizacja: Greystones-Irlandia
    Pomógł: 1

    Mam coś takiego ale nie działa
    chcę ustawić na sztywno jedna stacje 103.3
    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    język basic4gl
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

    _________________
    Faber Est Quisque Suae Fortunae



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    Wyświetl posty nie starsze niż:  Sortuj wg  
    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 15 ] 

    Strefa czasowa: UTC + 1


    Kto przegląda forum

    Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 4 gości


    Nie możesz rozpoczynać nowych wątków
    Nie możesz odpowiadać w wątkach
    Nie możesz edytować swoich postów
    Nie możesz usuwać swoich postów
    Nie możesz dodawać załączników

    Szukaj:
    Skocz do:  
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO