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.

Sygnalizacja Led ujemnej temperatury

MICHAŁ6201 03 Mar 2013 22:53 1374 7
  • #1 03 Mar 2013 22:53
    MICHAŁ6201
    Poziom 16  

    Witam

    Jestem początkujący jeśli chodzi o pisanie programów. Postanowiłem się przemóc i stworzyć coś prostego.
    To jest próba napisania mojego pierwszego programu w Bascom.

    Układ oparty jest na Attiny13 i czujniku DS18B20. Jeśli temperatura spadnie poniżej -1st C, to ma się zaświecić LED.

    Ustawiłem rodzaj mikrokontrolera, port do którego jest podpięty DS18B20 - PORT B3
    i odczyt temperatury, ale nie wiem jak napisać aby po spadku temp poniżej -1st C i niżej świeciła się LED, czyli ma być stan wysoki na PORTB4.

    Poniżej wklejam kod, który napisałem:

    Kod: basic4gl
    Zaloguj się, aby zobaczyć kod

    Proszę Was o korektę tego kodu jeśli są gdzieś błędy oraz pomoc dopisaniu funkcji zaświecenia LED jeśli temp spadnie poniżej -1st C.

    Dziękuję z góry za pomoc

    0 7
  • Pomocny post
    #2 04 Mar 2013 07:57
    BlueDraco
    Specjalista - Mikrokontrolery

    O tak:
    If temp < -1 then zaswiec else zgas end if

    A jeszcze lepiej:
    If temp < -1 then zaswiec else if temp > -1 then zgas end if end if

    Tylko najpierw musisz mieć dobrze odczytaną temperaturę w zmiennej temp - znajdziesz tu masę przykładów, bo temat wraca co tydzień.

    0
  • #4 04 Mar 2013 20:17
    MICHAŁ6201
    Poziom 16  

    Znalazłem kilka innych kodów źródłowych na elektrodzie i każdy jest inny jeśli chodzi o samo rozpoznawanie czujnika przez procesor i odczytywanie temperatury. Jak mogę sprawdzić czy poprawnie to piszę a czy nie?

    Może to głupie pytanie, ale gdzie mogę znaleźć podstawy, bo mam książkę P. Górecki - Mikrokontrolery dla początkujących i tam nie ma podstaw. Dodam że nie jestem ani inżynierem, ani elektronikiem, ale chciałbym się czegoś nowego nauczyć.

    Początek jest ok, bo nie pokazują się błędy:

    Kod: basic4gl
    Zaloguj się, aby zobaczyć kod

    Ale dalej już nie wiem jak napisać i w żadnej książce nie znalazłem jakiegoś wzoru jak to pisać. Co bym dalej nie wpisał to wyskakuje błąd. Z książki M. Wiązania nic nie wyniosłem.

    Co autor miał na myśli pisząc: Temperatura(1) = 1wread(2) ?

    Wytłumaczy mi ktoś z Was tak na "chłopski rozum" o co w tym chodzi? Skąd brać te wszystkie komendy?

    0
  • #6 05 Mar 2013 10:11
    xamrex
    Poziom 28  

    Tu masz działający i uproszczony do max kod do obsługi ds18b20 (wyświetla temp na wyświetlaczu)

    Kod: basic4gl
    Zaloguj się, aby zobaczyć kod


    tu masz dokładnie objaśnione co i jak:
    Kod: basic4gl
    Zaloguj się, aby zobaczyć kod

    0
  • #7 05 Mar 2013 12:43
    MICHAŁ6201
    Poziom 16  

    A jak zrobić, żeby nie wyświetlał na lcd temperatury (bo lcd tu nie będzie), tylko przy temp nizszej niż -1st C panował stan wysoki na PORTB.4. Natomiast powyżej -1st C ma być na tym porcie stan niski.

    0
  • #8 05 Mar 2013 13:34
    BlueDraco
    Specjalista - Mikrokontrolery

    Już dostałeś odpowiedź na to pytanie, a przykładów zaświecania diody przez AVR są w sieci tysiące - zadaj sobie trochę trudu.

    0