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 9 cze 2025, o 12:21


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 10 ] 
    Autor Wiadomość
    PostNapisane: 14 maja 2012, o 19:47 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 14 maja 2012
    Posty: 53
    Lokalizacja: Białystok
    Pomógł: 0

    Witam!

    Zmagam się od jakiegoś z problemem minusa temperatury w termometrze na wyświetlaczu 7 segmentowym niemultipleksowanym, ze względu na to, że chciałem uzyskać pełną moc ledów ale do rzeczy.

    Korzystam z Atmegi8 taktowanej wewnętrznym oscylatorem 8MHz. Program na początku mierzy temp, gasi ledy i zapala wynik pomiaru.

    Funkcja init_led(); ustawia wszystkie potrzebne piny jako wyjścia.
    Funkcja clean_led(); wygasza wszystkie segmenty obu cyfr.

    Bibliotekę DS18b20 posiadam z książki (a właściwie z CD) Pana Mirosława Kardasia. W przypadku gdy temperatura jest mniejsza od zera, ma zapalić znak ,,-". Jednakże zapala się tylko przy temp -1, przy -2 już kreski minusa nie ma. W czym robię błąd? Poniżej wklejony cały kod programu, trochę chaotyczny ale staram się pisać jak najpoprawniej.

    http://pastebin.com/teJcptRx


    Pozdrawiam

    Oj syntax nie zauważyłem :oops:

    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.


    echhhh... no trzeba ten klawisz SYNTAX naprawić normalnie ..... SunRiver

    _________________
    sig off ;(



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 14 maja 2012, o 20:14 
    Offline
    Moderator
    Avatar użytkownika

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

    Normalnie nie wiem w ogóle o co chodzi w tym kodzie :( po co to całe gaszenie ???? toż wystarczy wpisać kod pustego znaku - kolega strasznie to przekombinował tzn nie do końca zrozumiał ćwiczenie z multipleksowania wyświetlaczy LED.

    wystarczy sobie zdefiniować pod np kodem 10 pusty znak czyli wszystkie segmenty wygaszone - przecież nawet jest to w przykładzie w książce ..... a tu kolega robi jakieś kombinacje super alpejskie .... i miesza wszystko

    nie a przecież jest prosta zmienna subzero od której zależy czy jest minus czy go nie ma


    zatem można sobie zdefiniować kolejny znak np pod kodem 11 - gdzie będzie zapalony tylko segment F i wpisać ten kod do zmiennej cy1 albo kod 10 jeśli ma być pusto bez znaku minus

    _________________
    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: 14 maja 2012, o 20:42 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 14 maja 2012
    Posty: 53
    Lokalizacja: Białystok
    Pomógł: 0

    Minus oddzielnie z tego względu że mam dwie pełne cyfry i jedną samą kreskę. Wygaszanie nie wiem do końca jak wykonać bo nie pomieściłem wszystkich segmentów cyfry jedności na jednym porcie. Fakt kod jest pomieszany, ale orientuje się w nim jakoś.

    Wstępnie wyświetlacz miał być multipleksowany, ale różnica w świeceniu była widoczna, więc zrezygnowałem z tej opcji.

    _________________
    sig off ;(



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 14 maja 2012, o 20:48 
    Offline
    Użytkownik

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

    kolego ... a czy pomyślałeś z czego wynika różnica świecenia ??

    na pewno nie z multipleksowania a ze sposobu w jaki zapewne podłączyłeś wyświetlacze .... bo pewnie sterujesz je bezpośrednio z procka
    a ten biedaczek ma twoim zdaniem wyrobić prądowo z zasilaniem 2ch wyświetlaczy ??

    a wystarczą 3 tranzystorki i nagle wyświetlacze świeca jak trzeba i to wszystkie :)

    _________________
    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: 14 maja 2012, o 20:51 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 14 maja 2012
    Posty: 53
    Lokalizacja: Białystok
    Pomógł: 0

    Co to to nie... Nie będą świecić jak te co są podłączone na stałe. Znam wytrzymałość prądową megi. Każdy segment zapalam jednym tranzystorem npn, plus jest podłączony na stałe. Dużo tranzystorów, ale myślę że warto.

    _________________
    sig off ;(



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 14 maja 2012, o 20:57 
    Offline
    Użytkownik

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

    no ale po co .... przecież wystarczy podawać przez tranzystory + na wyświetlacze , a segmenty zapalać masą z pinów, na rany koguta
    czemu tak sobie komplikujesz życie , zgaduję że tu poknociłeś bo schematu niema, multiplex zawsze dobrze działa i to nawet z 8 wyświetlaczami
    że o matrycach 8x8 nie wspomnę i niema kłopotów ze świeceniem i wyświetlaniem czegokolwiek -- więc bez urazy :)

    _________________
    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: 14 maja 2012, o 21:12 
    Offline
    Moderator
    Avatar użytkownika

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

    SunRiver ma rację kolego - zdecydowanie lepiej zrobić to poprzez multipleksowanie ale z buforowaniem za pomocą np tranzystorów itp...

    Ok - no statycznie też można - ale fakt, że w tym celu musiałeś totalnie zmienić program .... w porównaniu tego do książki - tyle że sam widzisz - ty się orientujesz ale osoba postronna już nie za bardzo :( - tym bardziej że schematu nie ma ...

    _________________
    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: 14 maja 2012, o 21:31 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 14 maja 2012
    Posty: 53
    Lokalizacja: Białystok
    Pomógł: 0

    Sam program w miarę szybko napisałem - dwie, trzy próby i chodzi, oprócz tego minusa. Chciałem coś zrobić od zera, może za szybko? - nie ważne. Chodziło mi o straty na impulsie, w końcu musi on być podzielony na tyle, ile jest cyfr, dobrze mówię? Dobra, napisze czytelniej program, zrobię schemat i dam znać wkrótce. Tymczasem przepraszam Panów za kłopot :)

    A śmieją się ze mnie że moje pismo odręczne tylko ja jestem w stanie rozczytać - cóż chyba nie tylko pismo... ;)

    _________________
    sig off ;(



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 14 maja 2012, o 21:42 
    Offline
    Użytkownik

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

    wiesz kolego , ja tez potrafię namotać strasznie wiec się nie martw.
    Nie musisz więc przepraszać , po prostu im precyzyjniej zadasz pytanie tym precyzyjniejszą dostaniesz odpowiedź :)

    _________________
    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: 15 maja 2012, o 13:49 

    Pomógł: 0

    Kwestia dobrania odpowiednich rezystorów, sam ostatnio z tym walczyłem projektując JumboLEDa, na wyświetlaczach 120mm, gdzie jeden segment jest złożony z bodajże 4-5ledów. Multiplexerowanie a świeci aż oczy bolą ;).



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

    Strefa czasowa: UTC + 1


    Kto przegląda forum

    Użytkownicy przeglądający ten dział: Bing [Bot], Majestic-12 [Bot] i 5 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