Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

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

UKey 15 Mar 2014 21:21 1950 5
  • #1
    UKey
    Level 15  
    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ą):

    Code: vbnet
    Log in, to see the code





    Program działa oprócz jednej "małej" sprawy - na portach mikro kontrolera:
    Code: vbnet
    Log in, to see the code


    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?
  • #3
    arktik1
    Level 27  
    Jeśli chcesz czymś sterować wpisujesz PORT.X
    Jeśli chcesz sterować Uc to wpisujesz PIN.X
  • #4
    yokoon
    Level 29  
    arktik1 wrote:
    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
  • #5
    Dawid 88
    Level 14  
    Wstaw sobie o tak o:
    Code: vbnet
    Log in, to see the code


    Pozdrawiam