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 22 maja 2025, o 04:32


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 15 ] 
    Autor Wiadomość
    PostNapisane: 28 lut 2018, o 11:27 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 07 paź 2016
    Posty: 106
    Pomógł: 1

    - robie taki mały timer do "akwarium", ma o godzinie 4.10 , każdego dnia włączyć urządzenie poprzez zwarcie dwóch przycisków.
    - zwarcie realizuję na przekażniku.
    - serce układu ma stanowić RTC DS3231 oraz uP Tiny85, połączone poprzez I2C.
    - z oprogramowniem DS3231 nie ma problemu, to działa podłączone zastępczo do Arduino miniPro 3V3, 16 Mhz.
    - za to Tiny85 (na wewnętrznym generatorze 8 MHz) nie chce działać jako TinyMaster I2C, zmieniałem biblioteki bez efektu.
    - adres I2C jest poprawny, sprawdzone skanerem I2C, sprawdzałem jeszcze debuggerem I2C ale chyba nie potrafię jego obslugiwać.
    - czy ktoś może udostępnić działającą bibliotekę I2C na Tiny85.
    - poniżej zrzut z pracy z DS3231, ustawiono alarm na opcję sekundową.

    Obrazek



    Ostatnio edytowano 1 mar 2018, o 10:45 przez spairo, łącznie edytowano 1 raz

    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 28 lut 2018, o 18:11 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 07 sty 2014
    Posty: 336
    Lokalizacja: Grodzisk Mazowiecki
    Pomógł: 13

    Jak już ci się znudzi, to polecam świetny projekt. http://magu.pl/aqma-led-control

    _________________
    "Nie programuj w święta - bug się rodzi"



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 28 lut 2018, o 18:19 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 23 paź 2014
    Posty: 1034
    Lokalizacja: Trójmiasto
    Pomógł: 190

    spairo napisał(a):
    - serce układu ma stanowić RTC DS3231 oraz uP Tiny32, polaczone poprzez I2C.
    To w końcu attiny32 czy attiny85? Wogule jest coś takiego jak Tiny32?
    spairo napisał(a):
    - za to Tiny85 (na wewnętrznym generatorze 8 MHz) nie chce działać jako TinyMaster I2C, zmieniałem biblioteki bez efektu.
    a czytałeś notę procka i porównywałeś biblioteki których chcesz użyć? Attiny85 nie posiada modułu I2C, tylko USI które to może pracować w trybie I2C - pytanie czy w twojej bibliotece jest to uwzględnione.
    I w końcu trzecia sprawa o której wspomniał kolega wyżej. Otóż w arduino przyjęto inną zasadę co do adresowania urządzeń na szynie I2C. Na adres składa się 7 bitów w pierwszym wysyłanym bajcie, natomiast ósmy najmłodszy bit oznacza zopis lub odczyt. W arduino przyjęto tak że adres podaje się poprzez przesunięcie całego bajtu w prawo o 1, niejako usuwając bit zapisu/odczytu, natomiast biblioteki na avr są napisane tak że adres jest podawany z pozostawieniem bitu zapisu/odczytu tylko że wyzerowanym. Tak więc adres w arduino dla DS to 0x68 (binarnie 01101000) natomiast w bibliotekach avr będzie to 0xD0 (binarnie 11010000). Pytanie jak jest w bibliotekach których używasz?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 1 mar 2018, o 10:55 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 07 paź 2016
    Posty: 106
    Pomógł: 1

    @tomson5, dzięki za linka, pooglądałem.
    - moje urządzenie ma być zasilane z 4 x AAA baterii.
    - uruchamiane tylko na czas reakcji alarmu.
    - biblioteki stosuje tak, jak użytkownicy to podają w swoich projektach.
    - dzięki za zainteresowanie, męcze projekt dalej.
    - to ma być wymiarowo mały projekt dlatego chcę tam zmieścić ten Tiny85.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 1 mar 2018, o 20:48 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 23 paź 2014
    Posty: 1034
    Lokalizacja: Trójmiasto
    Pomógł: 190

    A masz podciągnięte linie SDA i SCL do Vcc?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 3 mar 2018, o 07:46 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 07 paź 2016
    Posty: 106
    Pomógł: 1

    - linie podciagnięte.
    - z Uno R3 działa bez problemu na adresie 0x3C
    - z tiny85 na adresie 0x78 nie działa.(przesuniete 0x38 o 1 w lewo)
    - jak podłączam skaner I2C na arduino to widzi ten mój adres ale dane odczytuje jako 0xff.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 3 mar 2018, o 13:02 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 23 paź 2014
    Posty: 1034
    Lokalizacja: Trójmiasto
    Pomógł: 190

    a tego attiny85 programujesz z środowiska arduino czy z innego środowiska?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 3 mar 2018, o 15:48 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 07 paź 2016
    Posty: 106
    Pomógł: 1

    - programuje Tiny85 ze środowiska Arduino As ISP lub poprzez ISP za pomocą programatora Pololu.
    - programuje chyba dobrze, bojak zaprogramuje Tiny85-blink to dioda na D0 lub D1 błyka.
    - znalazłem program I2C debugger, I2C repl by Rambo, ale nie bardzo umiem go obsługiwać.
    - start [, stop ], =4 adres i2c, S - skan i2c to znam, ale jak odczytac rejestry to nie wiem, nie ma jakiegos tutorialu do tego programu.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 3 mar 2018, o 16:05 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 23 paź 2014
    Posty: 1034
    Lokalizacja: Trójmiasto
    Pomógł: 190

    Jeśli programujesz przez arduino to adres musisz podawać zgodnie z konwencją arduino czyli 0x3C.
    Wydaje mi się że problem leży bardziej po stronie sprzętu. Attiny85 nie posiada na pokładzie sprzętowego układu I2C/TWI tak jak atmega328. Attiny ma USI czyli uniwersal serial interface który należałoby odpowiednio zainicjować do pracy jako I2C, a zapewne biblioteki których próbujesz używać tego nie robią tylko chcą działać na standardowym module I2C.
    Chyba najprostszym rozwiązaniem było by skorzystanie z tzw soft_I2C która może pracować na dowolnych pinach i dowolnym procku nawet bez USI czy I2C, lub też poszukać biblioteki I2C dedykowanej dla procka attiny85 która będzie wspierać moduł USI.

    ------------------------ [ Dodano po: 3 minutach ]

    Tu masz coś co powinno Ci pomóc https://playground.arduino.cc/Code/USIi2c



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 3 mar 2018, o 21:16 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 07 paź 2016
    Posty: 106
    Pomógł: 1

    - dzięki za przypomnienie tego linka, dotarłem wcześniej ale też nie dziala.
    - znalazłem oprócz tego że biblioteka tinywireM ma blędy, poprawiłem ale to nic nie dało.
    - jutro chyba podepne analizator logiczny i zobaczę w czym problem.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 3 mar 2018, o 22:41 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 23 paź 2014
    Posty: 1034
    Lokalizacja: Trójmiasto
    Pomógł: 190

    No jeśli dysponujesz analizatorem to niewątpliwie będzie to najszybsza droga do sukcesu.


    Autor postu otrzymał pochwałę


    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 4 mar 2018, o 20:29 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 07 paź 2016
    Posty: 106
    Pomógł: 1

    - problem został rozwiązany bez analizatora.
    - winna była biblioteka Wire od Tiny85, znalazłem nowszą bibliotekę, poprawiłem w niej kilka ewidentnych błędów i Slave oraz Master pod Tiny 85 działa.
    - dziękuję za pomoc, programator akwarium został oddany użytkownikowi.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 5 mar 2018, o 05:28 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 07 paź 2016
    Posty: 106
    Pomógł: 1

    - z euforii zapomniałem podać jak to rozwiazałem.
    - biblioteka z tego linku.
    https://github.com/sudar/TinyWire
    - w bibliotece poprawić nazwy jak na zrzucie.
    - DS3231 jest programowany zgodnie z tym artykułem w linku.
    https://www.allaboutcircuits.com/projec ... ime-clock/
    - robocza wersja programu pod Tiny85 poniżej.

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


    Obrazek



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 15 mar 2018, o 14:17 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 07 paź 2016
    Posty: 106
    Pomógł: 1

    - programowanie timera Ds3231
    1.- przełącznik w pozycje Program
    2. podłaczyc łączówke I2C.
    3. Arduino w trybie Arduino Uno, wybrac port COM dla Arduino
    4. wgrac program RTCDS3231v3 do Arduino
    5. ustawic parametry dla Alarmu
    6. w linii [163] programu odblokować //set(clock);, zapisać program do Arduino.
    7. zablokowac //set(clock);, zapisać program do Arduino.
    8. odłączyć łączówkę I2C.
    - włożyć wszystkie diody do podstawek, obecnie powinny być zapalone LED-BAT oraz LED-VCC.

    - programowanie AT Tiny85 programem Tiny85M_Read_RTC3231.ino
    1. do Arduino wgraj firmowy program Arduino As ISP.
    2. podłacz taśmę do złąz ISP w Arduino i Timerze.
    3. zmien płytkę na Tiny85, plik preferencje , dodatkowe adresy ustaw na link
    http://drazzy.com/package_drazzy.com_index.json
    w menadzerze płytek wgraj biblioteki by Spence Konde wersja 1.1.5.
    4. wybierz płytke Attiny 25/45/85 , ustaw kolejno:
    Save Eeprom == retained
    Timer 1 Clock == CPU
    LTO == disabled
    B.O.D == disabled
    Chip == ATTiny85
    Clock == 8 MHz internal
    port
    Programator == Arduino As ISP
    wypal bootloader
    - ja mam przerobiony Arduino R3 aby na pinie Reset ISP był sygnał z pinu 10 Arduino i programowanie dziła bez problemu.
    4. Szkic, wgraj uzywająć programatora.
    5. podczas wgrywania miga LED-Job.
    6. po skończonym programowaniu przełącz przełacznik na Praca.

    - Praca Timera.
    diody LED włozone w podstawki
    timer podłaczony do zasilania 2 x AAA.
    przełącznik w pozycji Praca, świeci tylko LED-BAT
    powstaje Alarm, zapala sie LED-VCC, dwa razy miga LED-JOB, czyli tiny85 pracuje.
    zapala sie LEd-ON na 2 sek, zapala sie LED-START na 2 sek
    mruga LED-JOB 10 razy, tiny85 przechodzi w tryb shutdown, wyłączenia.
    świeci tylko LED-BAT
    - pliki EAGLe z projektu timera.

    Obrazek


    Załączniki:

    Aby zobaczyć załączniki musisz się zalogować. Tylko zalogowani użytkownicy mogą oglądać i pobierać załączniki.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 16 mar 2018, o 15:14 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 07 paź 2016
    Posty: 106
    Pomógł: 1

    - dzięki za sugestie, zastosowanie ATtiny85V przedłuży żywot baterii.
    - z zamówienia zostały 4 laminaty do tego projektu, jeśli ktoś chętny proszę o info na PW (laminat zostanie wysłany listem ekonomicznym, wszystko za free.)
    - proszę tylko zobaczyć jakie kombincje trzeba było zrobić z DS3231 aby to działało.
    - drugi błąd to raster gniazd JST-XH, na płytce jest 2 mm, miało byc 2.54 mm, czyli trzeba zmienić gniazdo/wtyk lub nawiercić pod raster 2.54.
    - trzeci to przełącznik, można było dać dwie zworki z goldpinów.
    - czwarty ...

    ObrazekObrazek



    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 0 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:  
    cron
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO