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 w 2025? 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 18 kwi 2025, o 12:33


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 26 ] 
    Autor Wiadomość
    PostNapisane: 5 paź 2013, o 08:44 
    Offline
    Użytkownik

    Dołączył(a): 29 lis 2012
    Posty: 1074
    Lokalizacja: Sochaczew
    Pomógł: 21

    Mam do Was takie zapytanie. Mam atmegę 8 i na fabrycznych liniach SDA i SCL czyli na pinach PC4 i PC5 podpiąłem (na razie tylko na schemacie) jednocześnie zegar DS1307 i zewnętrzną pamięć eeprom serii AT24CXX. I tu dochodzimy do sedna czyli do mojego pytania, czy będzie to działać jak trzeba? Jak z adresowaniem tych dwóch urządzeń?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 5 paź 2013, o 09:13 
    Offline
    Moderator zasłużony dla forum.atnel.pl
    Avatar użytkownika

    Dołączył(a): 18 lip 2012
    Posty: 3228
    Lokalizacja: Kraków - obok FAB5 ATMEL'a
    Pomógł: 91

    Będą działać jeśli dla każdego z nich dasz inny adres.


    Autor postu otrzymał pochwałę

    _________________
    http://www.jaglarz.info



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 5 paź 2013, o 09:41 
    Offline
    Użytkownik

    Dołączył(a): 04 paź 2011
    Posty: 8615
    Pomógł: 338

    ustal adresy dla urządzęń i będzie wszystko działać ....


    Autor postu otrzymał pochwałę

    _________________
    Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 5 paź 2013, o 09:50 
    Offline
    Użytkownik

    Dołączył(a): 24 kwi 2012
    Posty: 76
    Lokalizacja: Ostrów Wielkopolski
    Pomógł: 6

    Witam. DS1307 posiada stały adres cytat z PDF-a "The address byte contains the 7 bit DS1307 address, which is 1101000, followed by the *direction bit (R/W ) which, for a write, is a 0.". A pamięci serii AT24Cxx mają adres ustawiany pinami A0,A1,A2 i stosowny cytat"The device address word consists of a mandatory one,
    zero sequence for the first four most significant bits as
    shown. This is common to all the EEPROM devices.
    The next 3 bits are the A2, A1 and A0 device address bits
    for the 1K/2K EEPROM. These 3 bits must compare to
    their corresponding hard-wired input pins." Czyli dla swojej pamięci ustawiasz inny adres niż jest w RTC i wszystko ładnie działa ;)


    Autor postu otrzymał pochwałę


    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 5 paź 2013, o 10:18 
    Offline
    Użytkownik

    Dołączył(a): 29 lis 2012
    Posty: 1074
    Lokalizacja: Sochaczew
    Pomógł: 21

    A jeszcze zapytam. Jak się adresuje pamięci AT24CXX ? Zwierając piny A0..A2 do masy lub do plusa?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 5 paź 2013, o 10:27 
    Offline
    Użytkownik

    Dołączył(a): 04 paź 2011
    Posty: 8615
    Pomógł: 338

    dokładnie tak ....
    poprzez zwarcie do gnd wstawiasz 0 a do Vcc wstawiasz 1

    Obrazek

    mniej wiecej tak to wygląda ale sprawdzisz to w nocie dokładnie.

    przykładowy adres może mieć wiec jak widzisz postać :

    1010 111 .... gdy A2 - A0 dasz do VCC


    Autor postu otrzymał pochwałę

    _________________
    Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 5 paź 2013, o 19:48 
    Offline
    Użytkownik

    Dołączył(a): 29 lis 2012
    Posty: 1074
    Lokalizacja: Sochaczew
    Pomógł: 21

    Nie przypuszczałem że to jest adresowanie układu, myślałem że to ustalanie wielkości pamięci.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 16 sie 2016, o 20:38 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 04 paź 2013
    Posty: 495
    Lokalizacja: Siedlce
    Pomógł: 9

    Mam również pytanie odnośnie tego tematu zmieniłem adres DS1307 na 0xD0 podmieniając go w bibliotece blubooka i na LCd
    lecą mi sekundy ale jakieś dziwne wielkości nawet 900 sekund zapewne to jest związane z tą funkcją
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

    oglądałem pdf tego układu i domyślam się że coś chodzi pewnie o tą tabelkę:

    Obrazek

    i bufor ? :mrgreen: kompletnie jej nie rozumiem proszę o objaśnienie

    _________________
    Ucz się ucz ,bo po to tutaj jesteś...



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 16 sie 2016, o 21:54 
    Offline
    Użytkownik

    Dołączył(a): 10 lip 2015
    Posty: 334
    Pomógł: 32

    Skąd wytrzasnąłeś 0x3f? W tabeli masz jasno napisane, że sekundy zaczynają się od 0x00. Polecam obejrzeć serię wideo poradników o rtc. Tam jest super biblioteka do rtc.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 16 sie 2016, o 22:10 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 04 paź 2013
    Posty: 495
    Lokalizacja: Siedlce
    Pomógł: 9

    Jak wpisze 0x00 w to miejsce to czas wcale nie leci,przynajmniej na lcd ;)

    _________________
    Ucz się ucz ,bo po to tutaj jesteś...



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 16 sie 2016, o 22:52 
    Offline
    Użytkownik

    Dołączył(a): 10 lip 2015
    Posty: 334
    Pomógł: 32

    Co robisz z zawartością bufora?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 17 sie 2016, o 16:51 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 04 paź 2013
    Posty: 495
    Lokalizacja: Siedlce
    Pomógł: 9

    HomoChemicus napisał(a):
    Co robisz z zawartością bufora?


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

    _________________
    Ucz się ucz ,bo po to tutaj jesteś...



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 17 sie 2016, o 17:08 
    Offline
    Użytkownik

    Dołączył(a): 10 lip 2015
    Posty: 334
    Pomógł: 32

    To upewnij się, że ss=0, mm=1, a hh=2.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 17 sie 2016, o 17:36 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 04 paź 2013
    Posty: 495
    Lokalizacja: Siedlce
    Pomógł: 9

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

    ale nadal lecą jakieś kilkaset sekund

    funkcja do odczytu wygląda tak:
    Kod:
    #define PCF8583_ADDR   0xD0


    TWI_read_buf( PCF8583_ADDR, 0x00, 4, bufor );

    _________________
    Ucz się ucz ,bo po to tutaj jesteś...



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 17 sie 2016, o 17:46 
    Offline
    Użytkownik

    Dołączył(a): 10 lip 2015
    Posty: 334
    Pomógł: 32

    W jaki sposób wyświetlasz te zmienne?
    Próbowałeś wyświetlić same sekundy?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 17 sie 2016, o 17:56 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 04 paź 2013
    Posty: 495
    Lokalizacja: Siedlce
    Pomógł: 9

    Kod:
     lcd_locate(0,8);
    if( godziny < 10 ) lcd_str(" ");
    lcd_int(godziny);
    lcd_str(":");
    if( minuty < 10 ) lcd_str("0");
    lcd_int(minuty);
    lcd_str(":");
    if( sekundy < 10 ) lcd_str("0");
    lcd_int(sekundy);


    W sposób standardowy innego nie znam :)
    Jak robię to na pcf8583 wszystko działa poprawnie

    jeszcze tak zapytam zapobiegawczo czy ma znaczenie czy jest podłączona bateria do układu ? czy wystarczy zasilanie podczas pracy ?
    Mam coś takiego:
    ObrazekObrazekObrazek

    _________________
    Ucz się ucz ,bo po to tutaj jesteś...



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 17 sie 2016, o 18:25 
    Offline
    Użytkownik

    Dołączył(a): 10 lip 2015
    Posty: 334
    Pomógł: 32

    A sekundy w ogóle się zmieniają?
    Jak często pobierasz dane z rtc?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 17 sie 2016, o 18:38 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 04 paź 2013
    Posty: 495
    Lokalizacja: Siedlce
    Pomógł: 9

    Tak zmieniają się jak pisałem powyżej tylko jakieś dziwne wartości np 101 ,102,103 i dochodzi nawet do 900
    Robię to co sekundę zgodnie z flagą ustawioną z przerwania i jak pisałem zmienię tylko adres i od której komórki odczytywać czas czyli tak jak dla układu PCF8583 czyli:
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    Gdy tak jest jak powyżej wszystko działa pięknie minuta godzina i sekundy

    _________________
    Ucz się ucz ,bo po to tutaj jesteś...



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 17 sie 2016, o 20:05 
    Offline
    Użytkownik

    Dołączył(a): 10 lip 2015
    Posty: 334
    Pomógł: 32

    Jeżeli powyższy kod wyświetla ci sekundy z ds1307, to ja się poddaję.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 17 sie 2016, o 20:09 
    Offline
    Użytkownik

    Dołączył(a): 07 cze 2016
    Posty: 563
    Pomógł: 143

    HomoChemicus napisał(a):
    jeszcze tak zapytam zapobiegawczo czy ma znaczenie czy jest podłączona bateria do układu ? czy wystarczy zasilanie podczas pracy ?

    Datasheet napisał(a):
    If a backup supply is not required, VBAT must be grounded.



    Ostatnio edytowano 17 sie 2016, o 20:16 przez andrews, łącznie edytowano 1 raz

    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 17 sie 2016, o 20:11 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 04 paź 2013
    Posty: 495
    Lokalizacja: Siedlce
    Pomógł: 9

    HomoChemicus napisał(a):
    Jeżeli powyższy kod wyświetla ci sekundy z ds1307, to ja się poddaję.


    Nie, źle mnie zrozumiałeś powyższy kod wyświetla mi dobrze ale na układzie PCF8583 :)



    a jak tylko zmieniam adres który jest zapisany pod #define PCF8583_ADDR
    na adres modułuDS1307 i oczywiście go podłączam
    to wyświetla mi ale jakieś cyfry z księżyca...

    _________________
    Ucz się ucz ,bo po to tutaj jesteś...



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 17 sie 2016, o 20:15 
    Offline
    Użytkownik

    Dołączył(a): 10 lip 2015
    Posty: 334
    Pomógł: 32

    Zamiast ss, mm i hh wpisz na sztywno 0,1,2.
    Zmień 0x01 na 0x00.

    Pokaż funkcję TWi_read_buf. Nawet w PCF sekundy zaczynają się od 0x02, a nie od 0x01.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 17 sie 2016, o 20:25 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 04 paź 2013
    Posty: 495
    Lokalizacja: Siedlce
    Pomógł: 9

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

    _________________
    Ucz się ucz ,bo po to tutaj jesteś...



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 17 sie 2016, o 20:29 
    Offline
    Użytkownik

    Dołączył(a): 10 lip 2015
    Posty: 334
    Pomógł: 32

    Próbowałeś wpisać bufor[0] itp? Jaki bitrate ustawiłeś?

    Pokaż jeszcze funkcję konwertującą.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 17 sie 2016, o 20:38 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 04 paź 2013
    Posty: 495
    Lokalizacja: Siedlce
    Pomógł: 9

    HomoChemicus napisał(a):
    Próbowałeś wpisać bufor[0] itp? Jaki bitrate ustawiłeś?


    Tak


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

    HomoChemicus napisał(a):
    Pokaż jeszcze funkcję konwertującą.

    Chodzi o konwersję bcd ? Myśle że poprawna ale proszę:
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

    _________________
    Ucz się ucz ,bo po to tutaj jesteś...



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 17 sie 2016, o 20:45 
    Offline
    Użytkownik

    Dołączył(a): 10 lip 2015
    Posty: 334
    Pomógł: 32

    Próbowałeś egzorcysty?

    ------------------------ [ Dodano po: 51 minutach ]

    Podaj piny do których masz podpięty lcd, jaki lcd, jaki procek, jakie taktowanie. Jutro podeślę ci gotowy wsad do testu.



    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: 26 ] 

    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