Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Sonar HC-SR04 własny program obsługi - wykrycie błędu

Jakub17 02 Lip 2017 10:26 810 2
  • #1 02 Lip 2017 10:26
    Jakub17
    Poziom 6  

    Witam

    Napisałem sobie kod do obsługi czujnika odleglosci HC-SR04. Niestety coś w nim nie działa, bo dioda kontrolna nie zapala się ani razu. Timer na pewno pracuje, a sprawdziłem to w pętli while poprzez miganie diodki (kod zakomentowany). Sprawdzenia wyliczania wartośći zmiennej dystans dokonałem dla najprostszego warunku tzn. zapal diodę gdy dystans>0 no ale dioda nie chce się palić. Proszę o sprawdzenie kodu.

    Kod: c
    Zaloguj się, aby zobaczyć kod

    0 2
  • #2 02 Lip 2017 11:36
    michalko12
    Specjalista - Mikrokontrolery

    Jakub17 napisał:
    #define F_CPU 8000000


    Zacznij od poprawnego zadeklarowania F_CPU.
    Kod: c
    Zaloguj się, aby zobaczyć kod


    Link

    0
  • #3 02 Lip 2017 18:35
    Jakub17
    Poziom 6  

    Poprawiłem. Ale nic się nie zmieniło. Poza tym program jest poprawny? Moje wyliczenia w komentarzach też?

    Dodano po 28 [minuty]:

    Jezeli do warunku zapodam if((licznik_end - licznik_start)>0 ) to wszystko dziala. Prawdopodobnie przy przeliczaniu na dystans przy dzieleniu przez 1000 * 1000 * 58 uzyskuje tak ogromna liczbe w mianowniku że dystans w wyniku obcięcia ułamkowej części liczby uzyskuje wartość 0. Jakoś wcześniej tego nie dostrzegłem

    Dodano po 6 [godziny] 21 [minuty]:

    Kurcze jednak nie działa, nie wiem już co jest źle:( Jakieś rady?
    Jedyne istotne połączenia w układzie to pin ECHO do ICP1 oraz Trigger do PB1.
    Wrzucam jeszcze raz program:

    Kod: c
    Zaloguj się, aby zobaczyć kod

    0