eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaArduino - zliczanie impulsówRe: Arduino - zliczanie impulsów
  • Path: news-archive.icm.edu.pl!news.icm.edu.pl!news.chmurka.net!.POSTED.alhuston.plus.
    com!not-for-mail
    From: "Michal M. Lechanski" <m...@d...eu>
    Newsgroups: pl.misc.elektronika
    Subject: Re: Arduino - zliczanie impulsów
    Date: Sun, 9 Jul 2017 19:45:37 +0100
    Organization: news.chmurka.net
    Message-ID: <ojttkg$mli$1$michal@news.chmurka.net>
    References: <ojnm4s$asc$1$michal@news.chmurka.net>
    <ojnmer$atl$1$cezar91@news.chmurka.net>
    <ojnngg$bce$1$michal@news.chmurka.net>
    <595f651e$0$640$65785112@news.neostrada.pl>
    <ojnp7k$c2c$1$michal@news.chmurka.net>
    <595f6aa1$0$5151$65785112@news.neostrada.pl>
    NNTP-Posting-Host: alhuston.plus.com
    Mime-Version: 1.0
    Content-Type: text/plain; charset=iso-8859-2
    Content-Transfer-Encoding: 8bit
    Injection-Date: Sun, 9 Jul 2017 18:45:36 +0000 (UTC)
    Injection-Info: news.chmurka.net; posting-account="michal";
    posting-host="alhuston.plus.com:81.174.137.13"; logging-data="23218";
    mail-complaints-to="abuse-news.(at).chmurka.net"
    User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:52.0) Gecko/20100101
    Thunderbird/52.2.1
    In-Reply-To: <595f6aa1$0$5151$65785112@news.neostrada.pl>
    Content-Language: pl
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:720499
    [ ukryj nagłówki ]

    W dniu 07/07/2017 o 12:04, Nifhelm pisze:
    > A najlepiej zastosuj przerwania.

    Przy pomocy googla takie coś wyskrobałem i zdaje się to działać poprawnie:

    #include <LiquidCrystal.h>
    LiquidCrystal lcd(12, 11, 5, 4, 7, 6);

    int licznik;

    void setup()
    {
    lcd.begin(16, 2);
    pinMode(2, INPUT_PULLUP);
    attachInterrupt(0, zliczanie, FALLING);
    licznik=0;
    lcd.clear();
    lcd.setCursor(0, 0);
    lcd.print("licznik = ");
    }

    void loop()
    {
    lcd.setCursor(8, 0);
    lcd.print(licznik);
    }

    zliczanie(){
    static unsigned long lastTime;
    unsigned long timeNow = millis();
    if (timeNow - lastTime < 50)
    return;
    licznik++;
    lastTime = timeNow;
    }

    I teraz mam dwa kolejne pytania,

    1. a gdybym chciał zliczyć impulsy z innego koła, to co powinienem
    zrobić? Chodzi mi o to że może wystąpić sytuacja że przerwania będą
    wywołane w tym samym czasie?
    2. Powyższy kod działa mi z kontaktronem. Ani czujnik Halla ani
    podczerwieni nie dają odpowiednich poziomów napięcia na wyjściu. Czy
    trzeba zastosować jakiś zewnętrzny układ dopasowujący czy da się to
    zrealizować na samym Arduino?

    Jeszcze raz bardzo dziękuję za wszystkie odpowiedzi.

    --
    Michał

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: