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

[ATMEGA8] - [BASCOM] Sterowanie diodami/przekaźnikami - nie działa

UKey 15 Mar 2014 21:21 1743 5
  • #1 15 Mar 2014 21:21
    UKey
    Poziom 14  

    Witam, proszę mnie upewnić co robię nie tak. Mam program który (działa :), ale nie do końca) jest termostatem z dodatkowym termometrem (jeden czujnik sprawdza temp na piecu i steruje przekaźnikiem, drugi tylko mierzy temp. zewnętrzną):

    Kod: basic4gl
    Zaloguj się, aby zobaczyć kod





    Program działa oprócz jednej "małej" sprawy - na portach mikro kontrolera:
    Kod: basic4gl
    Zaloguj się, aby zobaczyć kod


    Jakby się nie zmieniała temperatura zawsze jest stan niski - mimo że program wchodzi w pętle sprawdzającą stan temperatury bo wyświetla różne stany pracy pompy na lcd... [PRACA/STOP]

    Wyjścia sterujące przekaźnikiem i buzzerem są podłączone w klasyczny sposób przez rezystory do baz BC547 (wtórniki), natomiast wyjście Pind.6 bezpośrednio steruje diodą led podłączoną przez rezystor do masy.

    W przypadku uruchomienia układu bez chip'a i podaniu stanów wysokich na "podstawkę" - poszczególne piny - wszystko działa poprawnie (Przekaźnik rusza, buzzery pracują, dioda led się świeci itp).
    W przypadku uruchomienia układu z chipem - mam tylko stany niskie...
    Czy może mieć na to wpływ ustawienie 1wire na innych pinach tego samego portu?
    Gdzie robię błąd?

    0 5
  • Mitronik
  • Mitronik
  • #3 17 Mar 2014 12:47
    arktik1
    Poziom 27  

    Jeśli chcesz czymś sterować wpisujesz PORT.X
    Jeśli chcesz sterować Uc to wpisujesz PIN.X

    0
  • #4 17 Mar 2014 13:42
    yokoon
    Poziom 28  

    arktik1 napisał:
    Jeśli chcesz czymś sterować wpisujesz PORT.X
    Jeśli chcesz sterować Uc to wpisujesz PIN.X


    Witam.
    Mylisz się kolego.

    Wpisywanie do portu to np:Config PortX = Output , PortX = 255 - dziesiętne lub PortX = &B11111111 - binarnie same jedynki na wyjściu.

    Pinx.y odczytujemy stan danego pinu np: If Pinx.y = 0 then
    jakieś instrukcje
    End If

    0
  • #6 26 Lis 2016 16:43
    UKey
    Poziom 14  

    Thx za pomoc. Pomoglo.

    0