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 11 lip 2025, o 13:33


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 12 ] 
    Autor Wiadomość
    PostNapisane: 27 gru 2013, o 17:15 
    Offline
    Użytkownik

    Dołączył(a): 08 lis 2013
    Posty: 31
    Pomógł: 0

    Witam wszystkich.

    Chciałem podzielić się z wszystkimi moją nową konstrukcją.
    Jest to zegar LED z obsługą jednego czujnika DS18B20.
    Nie jestem autorem softu od zera. Dokonałem tylko modyfikacji.

    Oto co zmieniłem:
    - dodałem obsługę jednego czujnika DS18B20
    - wyeliminowałem problem słabego świecenia wyświetlaczy
    - wyeliminowałem z kodu przestarzałe już instrukcje
    - usunąłem podtrzymanie bateryjne
    - zmniejszyłem częstotliwość migania kropki (zmiana stanu co sekundę)

    Aby wyświetlacze świeciły jaśniej, emitery zostały zasilone z przetwornicy napięcia opartej o układ LM2596 (układy te można tanio kupić w Chinach z darmową przesyłką) ustawionej na 7,5V. Dodatkowo zostały zmienione tranzystory na BC327-40 (mogą być BC327-25) dodane diody na bazy, oraz rezystory między bazami, a emiterami.
    Przy zastosowaniu filtra (użyłem dymionej plexi) wszystko na wyświetlaczach widać bardzo dobrze zarówno w nocy, jak i w słoneczny dzień.
    Cały układ zasilam z zasilacza 12V i taki zasilacz zalecam.
    Uwaga. Gdy ktoś programuje procesor w układzie, na czas programowania należy odpiąć/wylutować czujnik temperatury, gdyż "przeszkadza" on w programowaniu.

    Działanie: układ na zmianę pokazuje czas i temperaturę. Temperatura pokazywana jest przez 2 sekundy co 8 sekund. Czas ten można bardzo prosto zmienić sobie wg upodobań w kodzie głównym programu. Trzy przyciski służą do ustawiania godzin, minut oraz resetowania sekund.

    Atmega8 taktowana z wewnętrznego rezonatora 8MHz, timer działa w trybie asynchronicznym z zewnętrznego kwarcu 32768Hz.

    Zdjęcia:
    ObrazekObrazek
    ObrazekObrazekObrazek
    Obrazek

    W załączniku zamieszczam program (w języku C wraz z biblioteką do DS'a oraz skompilowany *.hex) oraz płytkę pcb w *.pdf'ie.

    Życzę powodzenia wszystkim początkującym elektronikom, w razie czego służę pomocą.

    Pozdrawiam, szczęśliwego nowego roku!


    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: 27 gru 2013, o 18:08 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 22 lip 2013
    Posty: 420
    Lokalizacja: Kraków
    Pomógł: 17

    Super projekcik. Może kiedyś mi się przyda :D

    _________________
    GreenBook i BlueBook



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 27 gru 2013, o 20:01 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27415
    Lokalizacja: Szczecin
    Pomógł: 1043

    Ślicznie wyglądają te wyświetlacze za tym ciemnym filtrem ;) bardzo ładna konstrukcja ;)

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 2 sty 2014, o 18:08 
    Offline
    Użytkownik

    Dołączył(a): 08 lis 2013
    Posty: 31
    Pomógł: 0

    Dzięki, cieszę się, że się podoba.

    dambo, nie, ten czujniczek tak nie sterczy :) Nie widać go w ogóle.

    Do zegarka dorobiłem bardzo prostą korekcję chodu.

    W pliku main.c wewnątrz funkcji if (od przepełnienia dziesiątek minut) wystarczy dodać linijkę:
    Kod:
    czesci_sekundy=510;

    Oczywiście zamiast 510 należy wpisać swoją wartość.

    Jeśli komuś zegarek spieszy o 2 sekundy na 5 dni, trzeba wpisać 503, ponieważ: (512-503)*1/512*24*5=~2s

    Jeśli komuś zegarek się spóźnia o 2 sekundy na 5 dni, różnicę 512-503=22 należy dodać do 512, czyli wpisać należy wtedy 534

    PS: Dzięki jednej linijce "kodu", aby uzyskać zadowalającą dokładność nie musimy stosować układu DS3231, ani DCFa, ani nawet modułu GPS! :D



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 17 sty 2014, o 00:26 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 11 mar 2013
    Posty: 67
    Pomógł: 1

    Kolega z [*] Mod Planet ?

    _________________
    Zdravim



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 3 lut 2014, o 14:54 
    Offline
    Nowy

    Dołączył(a): 31 sty 2014
    Posty: 7
    Pomógł: 0

    Fajny projekt sam myślę na podobnym, mam pytanie jaką metodą wykonywałeś płytkę termotransferem czy fotochemicznie?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 3 lut 2014, o 21:28 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 12 paź 2011
    Posty: 780
    Pomógł: 20

    czym zabezpieczyłeś ścieżki ?

    elegancko ci to wyszło :)
    osobiście to ja z lenistwa bym połączenia narysował magistralą :) ale to niema znaczenia projekt fajny nawet bardzo :)
    a powiesz poco są te diody zenera ? :)

    _________________
    sig off ;(



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 3 lut 2014, o 21:36 
    Offline
    Nowy
    Avatar użytkownika

    Dołączył(a): 31 sty 2014
    Posty: 24
    Lokalizacja: Leżajsk
    Pomógł: 1

    Wyszło świetnie! :D

    Mam tylko takie techniczne pytanie: mierzyłeś ile układ pobiera prądu? Gdy korzystasz z zasilacza, pewnie wydaje się to mało istotne; ja myślałem nad czymś podobnym, ale zasilanym z baterii.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 12 kwi 2014, o 20:03 
    Offline
    Użytkownik

    Dołączył(a): 08 lis 2013
    Posty: 31
    Pomógł: 0

    Przepraszam, że tak późno odpisuję, ale dawno tutaj nie zaglądałem.

    Maras, tak, na mod-planet również czasem piszę :) (tak, tam coś ktoś jeszcze pisze ;) )

    Płytkę wykonywałem metodą termotransferu, na żelazko.
    Ścieżki niczym nie są zabezpieczone.
    Diody Zenera są konieczne, jeśli procesor zasilany jest innym napięciem, niż wyświetlacze.
    Cały układ zasilam z zasilacza, nie mierzyłem ile pobiera prądu.
    Z baterii nie zalecam zasilać wyświetlaczy LED, prędzej takie z nokii 3310 ;)
    Jednak te świecidełka pobierają zbyt dużo prądu, żeby bawić się w baterie. Chyba, że masz jakiś duży akumulator i chcesz sobie go ładować ogniwem fotowoltaicznym, ale to już inna bajka.

    Pozdrawiam



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 29 mar 2015, o 18:40 
    Offline
    Użytkownik

    Dołączył(a): 24 wrz 2014
    Posty: 25
    Pomógł: 0

    Pytanie z innej beczki: Jak "dorobić" kropkę w tym kodzie. Chodzi mi o wyświetlenie dziesiątej części temperatury po kropce. Trzeba zakładać nową tablice, aby w niej przypisać wartości cyfr już wcześniej zdefiniowanych jako te z kropką "przypisaną"? Czy istnieje jakieś prostsze rozwiązanie? Z góry dziękuję za odpowiedź.
    Marcin


    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.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 29 mar 2015, o 19:03 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 29 sty 2012
    Posty: 777
    Lokalizacja: Karpicko k. Wolsztyna
    Pomógł: 197

    Jeśli używasz biblioteki do obsługi wyświetlacza LED z Bluebooka to możesz zrobić tak topic869.html#p3279
    albo tak topic7744.html#p87600



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 29 mar 2015, o 21:12 
    Offline
    Użytkownik

    Dołączył(a): 14 lut 2015
    Posty: 44
    Pomógł: 2

    Lub jeszcze inaczej, też gdzieś to tutaj wyczytałem, ale teraz znaleźć nie mogę.
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    Zmienną "kropka" wykorzystujesz do na którym segmencie chcesz zapalić kropkę.
    Ja za pomocą tego zrealizowałem miganie kropki imitujące dwukropek w zegarkach :D
    Zmieniam po prostu cyklicznie z "0" na "2", gdyż w drugim segmencie potrzebowałem kropki :P

    EDIT: A przepraszam, jest odnośnik do tego sposobu w tematach wklejonych wyżej.
    post35234.html#p35234



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

    Strefa czasowa: UTC + 1


    Kto przegląda forum

    Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 3 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