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 4 cze 2025, o 10:31


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 44 ]  Przejdź na stronę 1, 2  Następna strona
    Autor Wiadomość
    PostNapisane: 9 sie 2013, o 20:40 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 28 mar 2013
    Posty: 333
    Pomógł: 10

    Witam wszytskich,

    Próbuje swoich sił w programowaniu, jestem na etapie LCD i timerów programowych, otóz napisałem sobie taki programik, który ma mierzyc temperature i przekzywac ją na LCD i dodatkowo zegar - niby banał.. ale jednak cos nie gra. Wynikiem jest wyswietlenie napisów i temperatury, ale juz sie nie odświeża. Podejżewam timery programowe, ale hmmm.. patrze i wydaje mi sie ok..
    Może Wy cos zobaczycie

    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.


    Pomysł polega na tym żeby usunąć całkiem _delaye_ms z kodu zeby poprzez opoznienia program sie nie blokował.

    Wydaje mi sie ze kluczowy moze być kod obsługi przerwania:
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

    Wspomnę ze wczesniej z delayami program działał ok, tyle ze sie blokował, opózniał itp. poprzez własnie te _delay_ms();



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 9 sie 2013, o 22:15 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 28 mar 2013
    Posty: 333
    Pomógł: 10

    hmm ale ustawiam wartośc Timerów jaka ma być, np.time_cz=5; timer0=150; itp
    Jesli timer ma wartośc 0 to wykonaj akcje i ustaw na daną wartość np.:

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



    Ostatnio edytowano 9 sie 2013, o 22:40 przez Atmegowiec, łącznie edytowano 2 razy

    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 9 sie 2013, o 22:37 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 28 mar 2013
    Posty: 333
    Pomógł: 10

    GwynBleidD napisał(a):

    i zobacz, czy ruszy. Pamiętaj jednak, że ten kod jest mniej optymalny, lepiej buforować wartość w zmiennej X, gdyż kompilator przez przedrostek volatile nie dokonuje optymalizacji przy dostępie do tych zmiennych.


    Niestety taki sam efekt zmieniłem tak jak podałes, neistety nic sie nie zmieniło, a powinno chyba..



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 9 sie 2013, o 22:54 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 28 mar 2013
    Posty: 333
    Pomógł: 10

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



    Gdy kliknę przycisk, pojawia sie napis "alarm" i wyświetlacz świruje - przygasa i jakas linia przechodzi przez niego... tak jakby szybko sie odświerzał.... a temperatura sama szybko sie zmienia.. Zegar chodzi jakies 1-1,5s po nacisnieciu przycisku i potem znów staje


    ale to dziwne....



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 10 sie 2013, o 00:06 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 28 mar 2013
    Posty: 333
    Pomógł: 10

    Program juz działa...
    kluczowe nie były ify ale funkcja lcd_cls() i jej powielenie, ale neistety nie rozumiem czemu wystepowało to smużenie...

    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.


    Jaka jest róznica lcs_cls(); a lcd_str(" spacje "); ? hmm nie moge ogarnąc tego smuzenia czemu tak sie działo gdy była funkcja lcd_cls(); myslałem ze kilka takich funkcji nie koliduje ze sobą.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 10 sie 2013, o 09:06 
    Offline
    Użytkownik

    Dołączył(a): 15 lut 2012
    Posty: 344
    Lokalizacja: Bydgoszcz
    Pomógł: 11

    Wydaje mi się że te smużenie było spowodowane tym że wewnątrz funkcji jest opóźnienie(które de facto musi być aby poprawnie wykonać rozkaz czyszczenia lcd).



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 10 sie 2013, o 09:53 
    Offline
    Moderator
    Avatar użytkownika

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

    Atmegowiec napisał(a):
    Jaka jest róznica lcs_cls(); a lcd_str(" spacje "); ? hmm nie moge ogarnąc tego smuzenia czemu tak sie działo gdy była funkcja lcd_cls(); myslałem ze kilka takich funkcji nie koliduje ze sobą.


    najlepiej to zapomnieć w ogóle że istnieje coś takiego jak lcd_cls() tak samo jak zapominamy o goto ;)

    po prostu używaj wszystkich innych sposobów niż cls

    jaka różnica ? no czas panie - czas wykonywania cls'a


    Autor postu otrzymał pochwałę

    _________________
    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: 10 sie 2013, o 10:16 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 28 mar 2013
    Posty: 333
    Pomógł: 10

    Czyli mam rozumieć ze używać najlepiej spacji do czyszczenia???

    tak racja juz widze, ze w te funkcji jest 4,9ms opóznienia, tylko kurcze skoro nei uzywac wiec po co mamy taka mozliwosc w tym wyswietlaczu? dociekam, ale no nei rozumiem :P



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 10 sie 2013, o 11:26 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 24 cze 2012
    Posty: 414
    Lokalizacja: Oborniki
    Pomógł: 5

    Chodzi o to, ze on wlasnie o ile pamietam, to wpisuje po kolei spacje, ale zobacz, ze jesli masz wyswietlacz 2x16 to on wpisuje spacje tak jakbys mial 4x40 (ilosc ram). A po co chcesz na sile uzywac cls? Wpisuj np ta temperature w miejscu starej i tyle:)

    Wysłane z mojego GT-I9500 za pomocą Tapatalk 4

    _________________
    Pozdrawiam:
    Mikołaj



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 10 sie 2013, o 12:24 
    Offline
    Moderator
    Avatar użytkownika

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

    Atmegowiec napisał(a):
    tylko kurcze skoro nei uzywac wiec po co mamy taka mozliwosc w tym wyswietlaczu?


    no jak masz możliwość to korzystaj jak chcesz mieć ograniczenia i kiszkę ;)

    a jak chcesz mieć szybsze czyszczenie to rób innymi sposobami a zapewniam cię że są ich setki. Obejrzyj sobie np to:

    http://mirekk36.blogspot.com/2012/02/lc ... fekty.html

    gdybym tu używał CLS'a to byłaby kicha nad kichy świata ;)

    warstwy masz przy okazji w pełni opisane w GreenBooku

    http://atnel.pl/jezyk-c-pasja-programowania.html

    i przy takim podejściu to nawet nie ma gdzie i jak tego CLS'a użyć - wyobraź pan sobie ;)

    reasumując - tfuuuuu przez lewe ramię z CLS'em ;)

    ------------------------ [ Dodano po: 4 minutach ]

    poza tym przecież nie musisz używać NAJPROSTSZEGO rozwiązania które ci przychodzi do głowy bo się zakałapućkasz np czymś takim:

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


    ;) to jest też lekka masakra - ale co za kłopot napisać sobie funkcję prostą do takiego celu?

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


    a wtedy możesz kasować sobie dowolną część ekranu, dowolną ilość kolumn itp. Jak chcesz cały to co za problem zrobić znowu własną mini funkcję:

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


    może kodu więcej ale zadziała o wiele szybciej niż standardowy CLS ;)

    po prostu panie kochany - myśl funkcjami - funkcjami w C ... a nie klepaniem kodu w pętli głównej. Jak widzisz - wszystko można do tych funkcji pięknie powyprowadzać.

    _________________
    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: 10 sie 2013, o 19:49 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 28 mar 2013
    Posty: 333
    Pomógł: 10

    Panie Mirku jakos poradziłem sobie - te funkcje to dobry pomysł... ale najlepszy dało usuniecie jakiegokolwiek czysczenia... jedno czyszczenie przed wejsciemw główna pętle while(1); i wszytko działa

    Pytan ciag dalszy, otóż obejzałem sobie poradniki ADC, sa super, tym bardziej nie rozumiem dlaczego nie wyświetla mi sie wynik prawidłowy tylko jakies inne liczby, co więcej tak samo jest nawet gdy odłącze przewód biegnący do PA7 na dtórym dokonuje pomiaru ADC.

    Poniżej fragment kodu, zanaczam ze mam Atmegę 16, jednak nei zauwazyłem wiekszych zmian w bitach w stosunku do 8-ki

    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

    pomyłka tam ma byc napięcie 7V a nie 5V, napiecie odniesienia to 2,56V



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 10 sie 2013, o 23:44 
    Offline
    Moderator
    Avatar użytkownika

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

    coś ten schemat jest mocno nieteges :( pomijam to napięcie 7V o którym napisałeś - ale kondensator ELEKTROLITYCZNY do AREF ???? i to jeszcze jak podłączony? do VCC ??? - dżizes :(

    panie kolego - spójrz jednak na pierwsze części poradników do ADC

    albo i tutaj:

    http://mirekk36.blogspot.com/2012/04/mi ... lanie.html

    bo na prawdę - ciężko wciąż powtarzać - jak należy prawidłowo podłączać ... a przy tym co zrobiłeś to się nie dziwię że możesz mieć jakieś master-dziwolągi z ADC :(

    _________________
    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: 10 sie 2013, o 23:52 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 28 mar 2013
    Posty: 333
    Pomógł: 10

    normalnie teraz niby ma podane 5V, z usb, docelowo mam pakiet akumulatorów i w sumie wychodzi około 7,2V

    poprawiłem, dałem na pin AREF do masy kondensator ceramiczny 22nF bo taki miałem tylko.
    Niestety wynik taki sam, ciągle ADC 1023 i nic wiecej ni mniej. Gdy teraz odłacze pin ADC6 to pokazuje losowe liczby. Gdu podłacze z powrotem ustala sie na 1023 i tyle



    Ostatnio edytowano 10 sie 2013, o 23:54 przez Atmegowiec, łącznie edytowano 1 raz

    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 10 sie 2013, o 23:53 
    Offline
    Moderator
    Avatar użytkownika

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

    sprawdź ty miernikiem jakie masz napięcie na tym pinie najpierw

    _________________
    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: 10 sie 2013, o 23:57 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 28 mar 2013
    Posty: 333
    Pomógł: 10

    na pinie jest 2,81V.... hmm czyli... wiecej niz 2,56... to by tłumaczyło liczbe 1023 cały czas.. tylko czemu tyle jest? jak dobrałem rezystory na maksymalnie 7 V. Nawet teraz sprawdzam na mkkalulator i pisze ze powinno byc 1,8V.



    Ostatnio edytowano 11 sie 2013, o 00:03 przez Atmegowiec, łącznie edytowano 1 raz

    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 11 sie 2013, o 00:00 
    Offline
    Moderator
    Avatar użytkownika

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

    Atmegowiec napisał(a):
    2,81V


    No to powiedz mi pan, no weź i powiedz .... to skoro masz napięcie odniesienia 2,56 - to jakiej wartości ADC się spodziewasz ????

    no nie może być inna niż 1023 .... oj oj - obejrzyj na prawdę uważnie poradnik video bo i o tym jest mowa - no dokładnie o tym. Chyba coś poradnik to jednym okiem oglądasz co ? ;)

    _________________
    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: 11 sie 2013, o 00:04 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 28 mar 2013
    Posty: 333
    Pomógł: 10

    poradnik odladałem wydaje mi sie uwzanie.. ;)

    wygląda to tak jakbym zły dzielnik wybrał..



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 11 sie 2013, o 00:23 
    Offline
    Moderator
    Avatar użytkownika

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

    Atmegowiec napisał(a):
    wygląda to tak jakbym zły dzielnik wybrał..


    Nie obraź się - ale widzę po tym pytaniu, że w ogóle nie zrozumiałeś o co chodzi z tym dzielnikiem, z pomiarami itp ... ale spokojnie to nie jest tragedia ... zrozumiesz

    tylko najpierw opisz co chcesz zrobić? uzyskać ?

    bo pewnie tu jest pies pogrzebany - że ty coś chcesz ale nie napisałeś co? wydaje ci się coś - że jakoś .... ale na końcu nie wiesz o co chodzi i teraz tak zgadujesz - z tym że "jakbym zły dzielnik wybrał"

    mówię ci, opisz w kilku punktach co chcesz mierzyć
    jaki zakres napięcia mierzonego cię interesuje
    co to za źródło napięcia

    itp itd

    wtedy uda się ciebie naprowadzić pewnie na właściwe tory

    _________________
    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: 11 sie 2013, o 00:26 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 03 sie 2013
    Posty: 44
    Lokalizacja: RFN
    Zbananowany użytkownik

    Pomógł: 2

    Atmegowiec napisał(a):
    poradnik odladałem wydaje mi sie uwzanie.. ;)

    wygląda to tak jakbym zły dzielnik wybrał..

    Przecież do poćwiczenia możesz sobie podłączyć potencjometr, kręcić śrubokrętem z podłączonym za pomocą krokodylka woltomierzem i sprawdzać jakie pomiary robi ADC. W ustawieniach (ADC Prescaler) ważne jest, żeby częstotliwość przetwornika nie była zbyt wysoka (najlepiej żeby była ona w zakresie 50-200kHz), bo albo będą niedokładne pomiary albo w ogóle nie będzie mierzył (tak mam przy fclk=fq/2 z kwarcem 18.432MHz). Poniżej schemat z potencjometrem i poprawnie zrobioną filtracją AVCC i AREF, bo i w tym mocno kulejesz:

    Obrazek



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 11 sie 2013, o 00:49 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 28 mar 2013
    Posty: 333
    Pomógł: 10

    Chcę uzyskać pomiar napięcia na pakiecie akumulatorków czyli 4x1,2V = 4,8V. Wiem ze akurat te sztuki ładują się do max 1,75V czyli maksymalne napięcie będzie w sumie około 7V. Akumulatorki są rozładowane gdy napięcie z nich spadnie poniżej 1 - 1,1 V czyli w sumie 4V. Wiec dokładnie taki zakres mnie interesuje 4 - 7V. Jako, że wybrałem sobie napięcie odniesienia 2,56V z Atmegi16 z mkalkulator obliczyłem ze dla takiego napięcia odniesienia i takiego maksymalnego podawanego napięcia 7V rezystor dolny powinien mieć 4,7K a górny 8,2K i takie dokładnie dałem do układu. Obecnie jest przypięte napięcie 5V i ciągle pokazuje 1023, na pinie AREF jest 2,81V. Wiem, ze dzielnik jest po to by poprzez większe napięcie niż napięcie odniesienia nie spalić procesora... i jako ze napięcie jest 2,81V to wydaje mis ie ze dzielnik zły wziąłem, choć sprawdziłem jeszcze raz i jest prawidłowy wiec to nie to.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 11 sie 2013, o 01:59 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 03 sie 2013
    Posty: 44
    Lokalizacja: RFN
    Zbananowany użytkownik

    Pomógł: 2

    Atmegowiec napisał(a):
    Chcę uzyskać pomiar napięcia na pakiecie akumulatorków czyli 4x1,2V = 4,8V. Wiem ze akurat te sztuki ładują się do max 1,75V czyli maksymalne napięcie będzie w sumie około 7V. Akumulatorki są rozładowane gdy napięcie z nich spadnie poniżej 1 - 1,1 V czyli w sumie 4V. Wiec dokładnie taki zakres mnie interesuje 4 - 7V. Jako, że wybrałem sobie napięcie odniesienia 2,56V z Atmegi16 z mkalkulator obliczyłem ze dla takiego napięcia odniesienia i takiego maksymalnego podawanego napięcia 7V rezystor dolny powinien mieć 4,7K a górny 8,2K i takie dokładnie dałem do układu. Obecnie jest przypięte napięcie 5V i ciągle pokazuje 1023, na pinie AREF jest 2,81V. Wiem, ze dzielnik jest po to by poprzez większe napięcie niż napięcie odniesienia nie spalić procesora... i jako ze napięcie jest 2,81V to wydaje mis ie ze dzielnik zły wziąłem, choć sprawdziłem jeszcze raz i jest prawidłowy wiec to nie to.

    Licząc kalkulatorem to ten dzielnik jest OK - na dzielniku wychodzi przy 7V napięcie 2,55V. Podłącz potencjometr (oczywiście do swojego pinu ADC6) tak jak Ci pokazałem na schemacie (VCC=5V) i sprawdzaj woltomierzem napięcie na ADC6 i jakie w tym momencie masz wartości przetwornika. A tak przy okazji: czy te oporniki zmierzyłeś przyrządem czy rzeczywiście mają te wartości? Niby to takie oczywiste, ale niekiedy można się pomylić, dlatego warto zawsze przed wsadzeniem w układ takie historie wykluczyć (tolerancję już pomijam).

    Edit: Twoje AREF o wartości 2,81V jest może w tolerancji błędu produkcyjnego; ja np. mam 2,50V; gdzieś w jakiejś dokumentacji procesora widziałem podaną tę tolerancję, ale teraz tak na szybko tego nie znalazłem

    Cytuj:
    Obecnie jest przypięte napięcie 5V

    Do czego jest przypięte to 5V? Do dzielnika czy bezpośrednio do pinu pomiarowego?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 11 sie 2013, o 05:32 
    Offline
    Moderator
    Avatar użytkownika

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

    Atmegowiec napisał(a):
    i jako ze napięcie jest 2,81V to wydaje mis ie ze dzielnik zły wziąłem


    Posłuchaj ale czy ty dzielniki bierzesz z szuflady ?

    Poza tym - czy tak ciężko zrobić ci ćwiczenie wprost z poradnika video ? no przecież podłączenie potencjometru nic cię nie kosztuje (Grzegorz wyżej też ci o tym mówi) ... a ty zanim będziesz dobierał te dzielniki i cokolwiek robił to NAJPIERW MUSISZ się nauczyć tej obsługi ADC.

    Ale dobra jeszcze raz - piszesz, że mierzysz napięcie na dzielniku i masz 2,81V - chociaż dopiero teraz napisałeś że tak się dzieje gdy przykładasz do dzielnika 5V !!! Wcześniej pisałeś że 7V! .... Najgorsze jest to, że strasznie ciężko jest się z tobą porozumieć bo robisz co innego, piszesz co innego :(

    ale ok - zakładając że teraz mówisz prawdę i masz na wejście dzielnika podane +5V, a masz w nim rezystory R1=8,2K oraz R2=4,7K to proszę nie opowiadaj takich no bajek (przepraszam) .... że na jego wyjściu jest +2,81V ..... no bo to są bajki ... :(

    i teraz powiedz mi czy ciężko ci sprawdzić napięcie ale TYLKO na WYJŚCIU dzielnika (na środku tych rezystorów) ale gdy są one ODŁĄCZONE od procka ??????? no powiedz sprawdzałeś to ? Ludzie mówią, że ja się wciąż powtarzam i przez to moje poradniki są rozlazłe i rozciągnięte no ale kurczę - o tym jak sobie sprawdzać dzielnik to ględzę chyba z 10 razy i pokazuję jak mierzę na nim napięcie.

    Jeśli więc na takim DO NICZEGO NIE PODŁĄCZONYM DZIELNIKU masz 2,81V no to oznacza TYLKO JEDNO, panie! jakie ty dałeś rezystory w nim bo na pewno nie 8,2K i 4,7K !!! ale trudno to sprawdzić ? pewnie się walnąłeś w kodach kreskowych - to co ? a miernika omomierza nie masz ? bierzesz omomierz w ręce i sprawdzasz każdy rezystor .... i podaj nam tutaj jaka jest rezystancja każdego z nich ale zmierzona omomierzem

    No i ostatnia możliwość - jeśli jednak rzeczywiście masz takie rezystory, i rzeczywiście podajesz na jego wejście 5V i rzeczywiście na wyjściu masz 2,81 to oznacza że masz coś ze swoim miernikiem nie tak ... sprawdź baterię, a jeśli jest ona ok - no to miernik wrzuć do kosza na śmieci i zaopatrz się w porządny.

    I powiem tak - nawet nie podchodź do pomiaru ADC w procesorze dokąd nie zrozumiesz co to jest dzielnik, jak działa dzielnik, i jak sobie sprawdzać dzielnik - czyli to co opisałem wyżej ale też to o czym ględziłem w poradniku video

    -----------------------------------------

    kolejna rzecz ..... jeśli się okaże, że na samym dzielniku nie podłączonym do procka rzeczywiście będziesz miał 1,82V tak jak powinno być a po podłączeniu DO PROCKA nagle pojawia się tam 2,81V to znowu oznacza że być może masz skopany program i np ustawiłeś ten pin jako WYJŚCIE a na dodatek wystawiłeś na nim STAN WYSOKI

    ale powiedz sam - no jak tu się z tobą dogadać skoro - jeszcze raz to podkreślę .... pokazujesz inny schemat niż masz albo inny kod niż masz!

    dlatego jak chcesz coś osiągnąć to weź się w garść i:

    1. SPRAWDŹ ten dzielnik wg opisu jaki dałem ci powyżej

    2. NARYSUJ że w końcu porządnie schemat tego co masz na stykówce - to może jak to zaczniesz robić to sam zobaczysz co masz tam ZBABOLONE w połączeniach - bo biorąc pod uwagę że to stykówka i do tego twoja nieuwaga - to już tam może być niewesoło. Więc dawaj DOKŁADNY schemat

    3. Pokaż że przy tym poprawionym schemacie - kod źródłowy jaki masz obecnie

    ale uważaj skup się na tym co robisz - żeby nie było że za chwilę potem okaże się że na schemacie jest inaczej bo coś tam a w kodzie też jest inaczej bo coś tam i mamy się domyślać wszystkiego na podstawie opisów beletrystycznych, które jak widzisz no troszkę ci słabo wychodzą. Dlatego rozmawiajmy o szczegółach i konkretach - SCHEMAT, KOD

    ------------------------ [ Dodano po: 2 minutach ]

    Grzegorz napisał(a):
    Twoje AREF o wartości 2,81V


    Widzisz - ja zrozumiałem że Atmegowiec mówi o napięciu 2,81V na pinie pomiarowym ADC a nie na AREF.... No ale po takich opisach to na prawdę wszystkiego można się spodziewać :( Może jednak mówi o AREF to na kichę ten mój cały opis wyżej ....


    Autor postu otrzymał pochwałę

    _________________
    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: 11 sie 2013, o 10:20 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 28 mar 2013
    Posty: 333
    Pomógł: 10

    Witam, jejku ile napisaliście...dziękuję... tym bardziej jest mi głupio pisać. Może troszkę odpowiem na niektóre pytania. Po pierwsze chemat który podałem jest taki jak na stykówce wraz z tymi błedami jakie tam zauwazyliscie - podmieniłem tylko kondensator na ceramiczny 22nF przy pinie AREF i do masy właczyłem - wiec schemat jest taki jak w rzeczywistosci (włacznie z tym 5V) ... z jednym "ale", o tym za chwilę.

    Mirku duzo zarzutów postawiłes, uwierz na słowo ze miernik, i MKalulator cały cas w ruchu były :) a co do rezystorków to nie walnąłem sie w kodze kreskowym.

    Mirku dobrze zrozumiałeś: na pinie ADC miałem 2,81V - ja zle napisałem... przepraszam, nie bede sie próbował tłumaczyć,, bład i tyle.. licze na Waszą wyrozumiałosć;)

    Przejdę może do konkretów:
    Szybko i krótko... i uciekam.... jak najdalej zanim Wasze macki mnie dopadną.. ;]
    pomyliłem się przy podłaczaniu dzielinika... 8,2K podłaczyłem do masy a 4,7K do VCC, innymi słowy góry rezystor to 4,7K a 8,2K dolny czyli dokłądnie na odwrót jak miałem przypiąc...
    Innymi słowy miałem rację mówiąc ze dobrałem "zły dzielnik napięcia" :)

    Słowem uzupełnienia: na AREF mam 2,68V

    wszytko gra i buczy... nie bijcie... :)
    Przepraszam za zamieszanie i oszczedzcie "a nie mówiłem" :)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 11 sie 2013, o 10:57 
    Offline
    Moderator
    Avatar użytkownika

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

    ty mi tu nie pisz że ja jakieś zarzuty itp ... Bo jak widzisz - się przydały ;) .... odwrotnie dzielnik ...

    Atmegowiec napisał(a):
    Innymi słowy miałem rację mówiąc ze dobrałem "zły dzielnik napięcia"


    I jeszcze się okazuje że to ty miałeś rację :lol:

    no nie - wziąć maszynkę do mielenia mięska, i wrzucić tam na żywo twoje macki :lol: to do łokci ... to wtedy byś popamiętał :lol:

    a na poważnie - to mam nadzieję, że po TAKIEJ lekcji - to już do końca życia zapamiętasz jak się używa dzielnika :lol:

    _________________
    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: 11 sie 2013, o 11:15 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 28 mar 2013
    Posty: 333
    Pomógł: 10

    No tak... masz rację.

    To w ramach uzupełnienia mam jeszcze mały babol...

    Mam konwersję ADC na V, i w zasadzie wszystko pokazuje ok... tylko ze gdy jest np. 1,04V to pokazuje "1,4V" gdy 5,02V "to 5,2".
    Ucina mi po prostu "0", trzeba jakiegoś ifa dodać, żeby stawiał zero, czy to ja coś źle obliczyłem?
    Pozostałe wartości są dobre tzn. gdy np. 2.45V to tyle samo się wyświetla problem jest w przedziałach .00 - .09

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

    Dzielę przez 100 i reszta dzielenia przez 100 dlatego, bo chcę uzyskać 2 miejsca po przecinku.



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

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

    No i znowu powtórzę mantrę - masz rozwiązanie tego kłopotu w poradniku VIDEO jeśli sam nie masz pomysłu jak sobie poradzić. Chociaż jak obejrzysz poradnik i zobaczysz jak proste jest to rozwiązanie to aż sam się zdziwisz

    _________________
    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: 11 sie 2013, o 11:38 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 03 sie 2013
    Posty: 44
    Lokalizacja: RFN
    Zbananowany użytkownik

    Pomógł: 2

    Atmegowiec napisał(a):
    Szybko i krótko... i uciekam.... jak najdalej zanim Wasze macki mnie dopadną.. ;]
    pomyliłem się przy podłaczaniu dzielinika... 8,2K podłaczyłem do masy a 4,7K do VCC, innymi słowy góry rezystor to 4,7K a 8,2K dolny czyli dokłądnie na odwrót jak miałem przypiąc...

    Dlatego tak jak już wyżej o tym wspomniałem - przy budowaniu sprawdzamy sukcesywnie (miernikiem) co zrobiliśmy. Jeżeli zrobiliśmy błąd, to zaraz jest przez nas wykryty i możemy przejść do montowania następnego podzespołu lub kilku podzespołów. Brzmi trochę jak dorada dla idiotów, ale uwierz mi, ja sam tak robię, a siedzę w tym ponad 30 lat, szczególnie gdy lutuję i buduję coś na płytkach uniwersalnych. Na stykówkach niczego nie robię, ale takie postępowanie jak najbardziej i tu jest wskazane. Głupi błąd zdarza mi się do dzisiaj zrobić - taka natura ludzka, zasugerujesz się czymś i zrobisz wg tego. Dlatego po kilku elementach (opornik, dioda, zwora) robisz pomiar i jeżeli jest OK, to jedziesz dalej ze spokojną czaszką.

    Jeszcze kilka tygodni temu komuś tłumaczyłem (w realu, nie na forum), że tak powinien nauczyć się budować swoje płytki, bo zbudował kilka płytek EURO (10x16cm) nabitych elementami na full, włączył i potem płacz i telefon do mnie, bo nie działa albo bo gorący radiator na płytce jak diabeł. Był taki rozpaczony, że stwierdził, że chyba za gęsto napakował elementów na płytce i dlatego coś się sprzęga i grzeje i takie tam bajki... i że on to chyba zbuduje od nowa, ale tym razem nie takie wszystko upakowane. Złapałem się tylko za głowę... przy takich jego wnioskach. Powiedziałem mu, że to raczej mało prawdopodobne, że akurat ten układ zaczyna świrować z powodu zagęszczenia elementów na płytce i że bardziej prawdopodobne jest to, że strzelił babola lub kilka baboli. Posadziłem go stołkiem przy mnie i pokazałem mu przyrządem jak mierzę element po elemencie, które on wlutował... i mówię mu, że to właściwie robię robotę teraz za niego, bo to on sam miał w trakcie lutowania sprawdzić co zrobił. Po kilku minutach znalazłem pierwszy błąd: źle, tzn. nie polutował jednego opornika, wisiał sobie jedną nogą w lufcie, ale był tak dogięty, że wyglądało jakby był dolutowany. Potem w innym miejscu coś nie pasowało z wartością opornika, okazało się, że miał fabryczny feler na płytce, po wytrawieniu zostało miniaturowe zwarcie między padami płytki, trzeba było dobrze się pod światłem przyjrzeć, żeby to dostrzec, ale przyrządem można było to zmierzyć bez problemu. Potem jeszcze jeden bubel się znalazł - pomylił dwa przewody. Trochę to wszystko trwało, w sumie to była niepotrzebna, podwójna robota, jak ja to zawsze mówię, bo takie sprawy się wyklucza samemu już w trakcie budowania układu. Układ ruszył jak z kopyta i - co ważniejsze - przestał się grzać, ten fabryczny błąd to było zwarcie dwóch wyjść zasilaczy ze sobą.

    Powiedziałem mu, jak ma na przyszłość robić, żeby tego uniknąć, i tłumaczyłem, że tego się trzeba nauczyć, do tego zmusić, bo to kwestia nawyku i przyzwyczajenia. Myślisz, że wyciągnął z tego lekcję? Jemu się do dziś wydaje, że to niepotrzebna robota takie sprawdzanie co się akurat zrobiło na płytce, przecież musi być dobrze, skoro dobrze popatrzył i wlutował w to miejsce albo skoro wziął z dobrze opisanej szufladki element (np. opornik) i bez zmierzenia go wlutował. A wiesz co mi na koniec powiedział? Że to praktycznie nie jego wina była, że układ nie działał, bo to ten fabryczny błąd był na płytce... A pytanie co z tymi jego innymi dwoma babolami na płytce odpowiedział, że to aż taki wielki błąd nie był - po prostu zapomniał w jednym miejscu polutować a w innym się pomylił miejscami, bo gniazdko było źle opisane (notabene które on sam sobie wcześniej opisał i tego opisania nie zweryfikował)... a tak poza tym, to on błędów raczej nie robi. Normalnie byś musiał za włosy i o biurko : )



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 11 sie 2013, o 12:02 
    Offline
    Moderator
    Avatar użytkownika

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

    Cytuj:
    Dlatego tak jak już wyżej o tym wspomniałem - przy budowaniu sprawdzamy sukcesywnie (miernikiem) co zrobiliśmy. Jeżeli zrobiliśmy błąd, to zaraz jest przez nas wykryty i możemy przejść do montowania następnego podzespołu lub kilku podzespołów. Brzmi trochę jak dorada dla idiotów, ale uwierz mi, ja sam tak robię, a siedzę w tym ponad 30 lat,


    To są święte słowa ... tylko jak sam widzę z perspektywy czasu i ilości też wiosen na karku, to niestety - takie podejście jest obce po prostu młodym osobom .... bo jak mówisz niżej, uważają że to strata czasu ;) ... Nawet jak kilka razy się poparzą to i tak jeszcze nie mogą zaskoczyć, że ta rzekoma strata czasu w efekcie końcowym - daje właśnie gigantyczną oszczędność czasu ;)

    ------------------------ [ Dodano po: 1 minucie ]

    Grzegorz napisał(a):
    A pytanie co z tymi jego innymi dwoma babolami na płytce odpowiedział, że to aż taki wielki błąd nie był - po prostu zapomniał w jednym miejscu polutować a w innym się pomylił miejscami, bo gniazdko było źle opisane (notabene które on sam sobie wcześniej opisał i tego opisania nie zweryfikował)... a tak poza tym, to on błędów raczej nie robi. Normalnie byś musiał za włosy i o biurko : )


    hahaha skąd ja to znam, prawie na co dzień się z takim podejściem spotykam, wśród młodych adeptów, zresztą mój 16-letni syn jest wśród nich ;)

    no Atmegowiec uważaj ;) bo następnym razem - za włosy i o biurko :lol: A i chyba mojemu synowi też kiedyś w końcu taką lekcję zrobię :lol: - dobre

    _________________
    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: 15 sie 2013, o 09:28 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 28 mar 2013
    Posty: 333
    Pomógł: 10

    Grzegorz napisał(a):
    Powiedziałem mu, jak ma na przyszłość robić, żeby tego uniknąć, i tłumaczyłem, że tego się trzeba nauczyć, do tego zmusić, bo to kwestia nawyku i przyzwyczajenia. Myślisz, że wyciągnął z tego lekcję? Jemu się do dziś wydaje, że to niepotrzebna robota takie sprawdzanie co się akurat zrobiło na płytce, przecież musi być dobrze, skoro dobrze popatrzył i wlutował w to miejsce albo skoro wziął z dobrze opisanej szufladki element (np. opornik) i bez zmierzenia go wlutował. A wiesz co mi na koniec powiedział? Że to praktycznie nie jego wina była, że układ nie działał, bo to ten fabryczny błąd był na płytce... A pytanie co z tymi jego innymi dwoma babolami na płytce odpowiedział, że to aż taki wielki błąd nie był - po prostu zapomniał w jednym miejscu polutować a w innym się pomylił miejscami, bo gniazdko było źle opisane (notabene które on sam sobie wcześniej opisał i tego opisania nie zweryfikował)...


    Dziwne jest to, że najbardziej "nieomylni" są początkujący.... mi tez sie zdarza jak widzicie czegoś nie sprawdzić, zmierzyć, może to tez jakaś forma niewiedzy "ze tak można" - ale człowiek się uczy.

    Cytuj:
    hahaha skąd ja to znam, prawie na co dzień się z takim podejściem spotykam, wśród młodych adeptów, zresztą mój 16-letni syn jest wśród nich ;)

    no Atmegowiec uważaj ;) bo następnym razem - za włosy i o biurko :lol: A i chyba mojemu synowi też kiedyś w końcu taką lekcję zrobię :lol: - dobre


    Uważaj Mirku, teraz synowie mają większe prawa niż ich ojcowie :D


    Mam do Was kolejne pytanie z serii.

    Robię sobie taki układzik mierzący odległość od przeszkody, wraz z odczytem poziomu baterii, na platformie jeżdżącej ;)
    Nawiasem mam pytanie, co powinno się robić najpierw? pisać kod i dostosowywać do niego schemat (np. piny) czy rysować schemat i potem pisać program?

    Od razu mówię ze brak dławika 10 uH - nie posiadam (można czymś zastąpić?).

    Możecie zerknąć na schemat i sprawdzić (piękny prawda ?) 3h roboty z poradnikiem Mirka w ręce. A tak na serio, chodzi mi o sekcje zasilanie i czujniki odległości? Nie chce nic podpowiadać póki co.

    C1,C2 - 22nF - (może być? niestety brak 100nF)
    C3 - 10uF (lepiej 100uF ?)

    Obrazek



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 16 sie 2013, o 13:36 
    Offline
    Użytkownik

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

    hmmm na schemacie uchybień nie widzę jako takich
    pin z RW też sobie ponadto wyprowadź na wolne piny żebyś mógł go użyć jak dasz RW na GND

    i sobie tam dodaj jeszcze jeden goldpin --- bedzie RW pin na środku z lewej PIN z prawej GND

    Atmegowiec napisał(a):
    niestety brak 100nF)


    to do sklepu uzupełnić zapasy ... niema ze brak 100n możesz zastępić 0,1uF jak już :)


    co to jest to Pull-UP/pilldown na ADC0 ??

    dzielnik ?? ale czego ??

    _________________
    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  
    Wyświetl posty nie starsze niż:  Sortuj wg  
    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 44 ]  Przejdź na stronę 1, 2  Następna strona

    Strefa czasowa: UTC + 1


    Kto przegląda forum

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