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 17 maja 2025, o 09:53


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 6 ] 
    Autor Wiadomość
    PostNapisane: 21 sty 2022, o 19:50 
    Offline
    Nowy

    Dołączył(a): 27 sie 2021
    Posty: 12
    Pomógł: 0

    Witam wszystkich coś mi ciągle umyka w tym przykładzie:
    Lekcja 6 i wyświetlanie wyniku na LCD chodzi o same obliczenia

    uint16_t pomiar(uint8_t kanal);
    uint32_t wynik;
    uint16_t pm;
    uint8_t cz_d;

    lcd_cls();

    pm = pomiar(5); // odczytana wartość ADC 820
    wynik = pm * 25 * 2; // 0,0025 * 10000 i 2 = 41000
    cz_d = wynik/10000; // 4
    lcd_int( cz_d ); // wyświetla 4 czyli OK

    pm = pomiar(5); // odczytana wartość ADC 820
    wynik = pm * 25 * 2; // 0,0025 * 10000 i 2 = 41000
    cz_d = wynik/1000; // 41
    lcd_int( cz_d ); // wyświetla 41 czyli OK

    pm = pomiar(5); // odczytana wartość ADC 820
    wynik = pm * 25 * 20; // 0,0025 * 10000 i 20 = 410000
    cz_d = wynik/10000; // powinien być 41
    lcd_int( cz_d ); // wyświetla 1 czyli NOK

    Pewnie diabeł tkwi w szczegółach może ktoś z kolegów podpowie co tu może być nie tak ?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 sty 2022, o 22:03 
    Offline
    Moderator
    Avatar użytkownika

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

    Proszę najpierw zadaj konkretne pytanie i opisz dobrze problem - bo kompletnie nie wiem o co chodzi w tak zadanym pytaniu

    _________________
    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: 21 sty 2022, o 22:30 
    Offline
    Nowy

    Dołączył(a): 27 sie 2021
    Posty: 12
    Pomógł: 0

    Już się poprawiam

    Chodzi o to, że nie wiem dlaczego w trzecim przykładzie wynik wyświetla się nieprawidłowo powinno wyświetlić się 41 a wyświetla się 1.
    Na początku podałem definicję zmiennych jakich używam, podałem też dwa pierwsze przykłady gdzie wynik wyświetla się prawidłowo.
    uint32_t wynik;
    uint16_t pm;
    uint8_t cz_d;

    1.
    wynik = 820 * 25 * 2 = 41000
    cz_d = wynik/10000 = 4
    LCD wyświetla 4

    2.
    wynik = 820 * 25 * 2 = 41000
    cz_d = wynik/1000 = 41
    LCD wyświetla 41

    3.
    wynik = 820 * 25 * 20 = 410000
    cz_d = wynik/10000 powinien być 41
    LCD wyświetla 1 zamiast 41



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 sty 2022, o 23:08 
    Offline
    Moderator
    Avatar użytkownika

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

    awojcick napisał(a):
    wynik = 820 * 25 * 20 = 410000


    a zrób tak:

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

    _________________
    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: 22 sty 2022, o 15:37 
    Offline
    Nowy

    Dołączył(a): 27 sie 2021
    Posty: 12
    Pomógł: 0

    Dzięki zadziałało ;-)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 22 sty 2022, o 15:50 
    Offline
    Moderator
    Avatar użytkownika

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

    awojcick napisał(a):
    Dzięki zadziałało ;-)

    ale już wiesz o co chodzi ? i dlaczego zadziałało ? Dlaczego było źle ?

    _________________
    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  
    Wyświetl posty nie starsze niż:  Sortuj wg  
    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 6 ] 

    Strefa czasowa: UTC + 1


    Kto przegląda forum

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