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

Arduino mega 2560 - pomiar temperatury - brak odczytu zmiennej

08 Lut 2013 00:11 2250 2
  • Poziom 12  
    Witam,
    na Arduino chcę wykonać prosty sterownik kotła węglowego, w zależności od zadanej temperatury będzie uruchamiana pompa i sterowanie wentylatorem nadmuchu. Najpierw chcę opanować odczyt temperatury. Mam moduł wyświetlacza + klawiatura, pomiar temperatury jest dokonywany za pomocą czujnika DS18B20. Przepisywanie wartości na wyświetlacz działa natomiast nie mogę użyć wartości odczytanej temperatury (tempC) do porównania w pętli loop. Tzn. chcę aby wyjście cyfrowe 52 było w stanie wysokim jeżeli temp przekroczy np 25st. Odczytuję wartość tempC na serial monitorze i wynosi 0.00, natomiast na wyświetlaczu jest poprawna. Wydaje mi się, że jest coś nie tak z deklaracją zmiennej tempC ale nie mogę sobie dać z tym rady.
    Przedstawiam kod źródłowy programu. Z góry dziękuję za pomoc.
    Kod: c
    Zaloguj się, aby zobaczyć kod
  • Poziom 23  
    nie testowałem tego na tym konkretnym procesorze, ale IMO tempC powinna być zmienną globalną z atrybutem volatile i zadeklarowana tu:
    Kod: c
    Zaloguj się, aby zobaczyć kod

    osobiście rozbijam temperaturę na zmienne 8-bitowe, ponieważ operacje na nich są dużo szybsze
  • Poziom 12  
    Dziękuję za pomoc, zadeklarowanie zmiennej jako globalnej pomogło, trzeba było jeszcze zmienić w pętli void setup float tempC na tempC.