logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[Atmega8][Bascom] Termostat

skater156 20 Lut 2010 15:10 4993 14
  • #1 7723693
    skater156
    Poziom 14  
    Witam.Jestem w trakcie robienia wytrawiarki i termostatu do niej.Opieram się na projekcie kolegi Ducha.Zrobił bardzo fajny termostat na diodach led.Jego program trochę przerobiłem na moje potrzeby.Lecz nic nie trwa wiecznie.Na początku szło gładko,ale potem zaczeły sie schody.W założeniu mój program ma działać tak:

    -temperatura wyświetla sie od 35 stopni C do 45 stopni C na led (10)
    -ustawiam temperature microswitch,po włączeniu zasilania klikam raz i zapala sie 1 dioda,drugi raz klikam i następna itd. poczym potwierdzam to przytrzymując microswitch na 5s (wszystkie diody mrygną raz po potwierdzeniu)
    -histereza 2 stopnie C
    -jak grzałka grzeje to pali sie czerwona led a jak nie grzeje to zielona led
    -pompkę załączam 2 microswitch,port sie otwiera lub zamyka a do portu jest podłączony przekaźnik

    Część programu już mam ale dalej nie wiem co zrobić.Bardzo proszę o pomoc.Poniżej kod.

    $regfile = "m8def.DAT"                                      'deklaracja procesora, w tym wypadku Atmega8
    $crystal = 1000000                                          'deklaracja cześtotlwiości pracy (wew oscylator 1MHz w zupełności wystarcza)
    
    
    
    '*************************************WAŻNE**********************************************
    'Pamiętać o podłączeniu rezystora podciągającego o wartości 4.7kohm między linią DQ a VCC
    Config 1wire = Portd.6                                      'deklaracja portu na którym będą podpięte DS18b20
    Config Portd.3 = Input                                      'Microswitch 1
    Config Portd.4 = Input                                      'Microswitch 2
    do                                         'pętla nieskończona 
    
       if pinb.0=1 then                         'jeżeli przycisk 1 wciśnięty 
       portd.0=1                                'otwiera port 
       elseif pinb.1=1 then                     'jeżeli przycisk 2 wciśnięty 
       portd.0=0                                'zamyka port
       endif                                    'koniec bloku warunkowego 
    
     loop                                       'koniec pętli 
    
    
    Config Portd.7 = Output                                     'Przekaźnik 2
    Config Portb.0 = Output                                     'Przekaźnik 1
    Config Portc.5 = Output
    Config Portc.4 = Output
    Config Portc.3 = Output
    Config Portc.2 = Output
    Config Portc.1 = Output
    Config Portc.0 = Output
    Config Portb.5 = Output
    Config Portb.4 = Output
    Config Portb.3 = Output
    Config Portb.2 = Output
    Config Portb.1 = Output
    
    Config 1wire = Portd.6
    
    Dim Ilosc_czujnikow As Byte
    Dim Powtorz As Byte
    Dim I1 As Integer , Ss As String * 6
    Dim Temp As Integer
    Dim Dsid1(8) As Byte
    Dim Tempmax As Byte
    Dim Tempmin As Byte
    Dim Status_grzalki As Bit
    
    Grzanie Alias Portb.0
    Led45 Alias Portc.5
    Led44 Alias Portc.4
    Led43 Alias Portc.3
    Led42 Alias Portc.2
    Led41 Alias Portc.1
    Led40 Alias Portc.0
    Led39 Alias Portb.5
    Led38 Alias Portb.4
    Led37 Alias Portb.3
    Led36 Alias Portb.2
    Led35 Alias Portb.1
    Powerled Alias Portd.2
    
    
    Set Led45
    Set Led44
    Set Led43
    Set Led42
    Set Led41
    Set Led40
    Set Led39
    Set Led38
    Set Led37
    Set Led36
    Set Led35
    Reset Grzanie
    Reset Powerled
    
    
    
    
    '------------------Ustawienia początkowe-----------------
    Tempmax = 35
    Tempmin = 34
    
    Status_grzalki = 0
    Powtorz = 0
    '----------------------Start programu--------------------
    
    
    
    Waitms 100
    Set Powerled
    
    
    
    Poczatek:
    Do
    
    
    Gosub Pomiar_temperatury
    Gosub Wyswietl_temp
    Gosub Termostat
    
    Loop
    
    
    '-------------Obsługa Pomiar temperatury-------------
    Pomiar_temperatury:
    1wreset
       1wwrite &HCC
       1wwrite &H44
    Wait 2
    
       1wreset
       1wwrite &H55
       1wverify Dsid1(1)                                        'wysyłamy adres pierwszego czujnika
       1wwrite &HBE
       I1 = 1wread(2)
    Wait 1
    
      I1 = I1 * 10
      I1 = I1 / 16
      Temp = I1 / 10
    Return
    
    '-------------Obsługa Wyswietlanie temperatury-------------
    Wyswietl_temp:
    If Temp >= 35 Then
    Reset Led35
    Else
    Set Led35
    End If
    
    If Temp >= 36 Then
    Reset Led36
    Else
    Set Led36
    End If
    
    If Temp >= 37 Then
    Reset Led37
    Else
    Set Led37
    End If
    
    If Temp >= 38 Then
    Reset Led38
    Else
    Set Led38
    End If
    
    If Temp >= 39 Then
    Reset Led39
    Else
    Set Led39
    End If
    
    If Temp >= 40 Then
    Reset Led40
    Else
    Set Led40
    End If
    
    If Temp >= 41 Then
    Reset Led41
    Else
    Set Led41
    End If
    
    If Temp >= 42 Then
    Reset Led42
    Else
    Set Led42
    End If
    
    If Temp >= 43 Then
    Reset Led43
    Else
    Set Led43
    End If
    
    If Temp >= 44 Then
    Reset Led44
    Else
    Set Led44
    
    If Temp >= 45 Then
    Reset Led45
    Else
    Set Led45
    
    Return
    
    '-------------Obsługa Termostatu-------------
    Termostat:
    If Temp >= Tempmax And Status_grzalki = 1 Then
    Status_grzalki = 0
    Reset Grzanie
    End If
    
    If Temp =< Tempmin And Status_grzalki = 0 Then
    Status_grzalki = 1
    Set Grzanie
    End If
    
    Return


    Pozdro:)

    Dodano po 44 [minuty]:

    inventco.eu -Proszę zapoznać się z regulaminem forum i używać znaczników CODE
  • #2 7725027
    Logan
    Poziom 30  
    Eeee... a jak program wychodzi z tej pętli:

    do 'pętla nieskończona
    
    if pinb.0=1 then 'jeżeli przycisk 1 wciśnięty
    portd.0=1 'otwiera port
    elseif pinb.1=1 then 'jeżeli przycisk 2 wciśnięty
    portd.0=0 'zamyka port
    endif 'koniec bloku warunkowego
    
    loop 'koniec pętli 

    :?:
  • #3 7725293
    xury
    Specjalista automatyka domowa
    Myślę, że w zupełności to nie jest kod kolegi tylko jakiś zlepek kilku kodów.
    Nie mam ochoty nawet tego analizować. Nikt tak nie pisze kodu nawet bardzo początkujący, no chyba, że się coś bezmyślnie kopiuje i wkleja.
    Najpierw trochę deklaracji, potem jakaś pętla, potem kolejne deklaracje zmiennych, potem jakieś ustawienia początkowe i kolejna pętla główna (?)
    Kompletny chaos.
  • #4 7727176
    skater156
    Poziom 14  
    Witam,dzięki za odpowiedź.Zdecydowałem się że temperatura będzie ustawiona w programie na stałe 40 stopni C.Wyświetlanie temperatury będzie na 10 led (od 30 stopni C do 40 stopni C).Histereza 1 stopień C.Dioda czerwona będzie się palić jak grzałka będzie grzać a zielona jak nie grzeje.Tylko z tym przekaźnikiem do pompki jest problem.Ja to sobie wyobrażam tak,do portu Atmegi8 jest podczepiony microswitch i jak go nacisnę to jakieś inny port sie otworzy popłynie napięcie na przekaźnik itd. i tak samo w drugą stronę jak drugi raz nacisnę microswitch to obwód sie przerywa.Poniżej zamieszczam poprawiony kod,bardzo bym prosił o pomoc bo wszystkiego nie udało mi się napisać ponieważ nie wiem jak :)


    
    
    
    $regfile = "m8def.DAT"                                      'deklaracja procesora, w tym wypadku Atmega8
    $crystal = 1000000                                          'deklaracja cześtotlwiości pracy (wew oscylator 1MHz w zupełności wystarcza)
    
    
    
    '*************************************WAŻNE**********************************************
    'Pamiętać o podłączeniu rezystora podciągającego o wartości 4.7kohm między linią DQ a VCC
    Config 1wire = Portd.6                                      'deklaracja portu na którym będą podpięte DS18b20
    
    Config Portd.3 = Input                                      'Microswitch 1
    Config Portd.7 = Output                                     'Przekaźnik 2 pompka
    Config Portb.0 = Output                                     'Przekaźnik 1 grzałka
    Config Portc.4 = Output
    Config Portc.3 = Output
    Config Portc.2 = Output
    Config Portc.1 = Output
    Config Portc.0 = Output
    Config Portb.5 = Output
    Config Portb.4 = Output
    Config Portb.3 = Output
    Config Portb.2 = Output
    Config Portb.1 = Output
    
    Config 1wire = Portd.6
    
    Dim Ilosc_czujnikow As Byte
    Dim Powtorz As Byte
    Dim I1 As Integer , Ss As String * 6
    Dim Temp As Integer
    Dim Dsid1(8) As Byte
    Dim Tempmax As Byte
    Dim Tempmin As Byte
    Dim Status_grzalki As Bit
    Dim Temp_zalaczenie_pompki As Byte
    
    
    Grzanie Alias Portb.0
    Led40 Alias Portc.5
    Led39 Alias Portc.4
    Led38 Alias Portc.3
    Led37 Alias Portc.2
    Led36 Alias Portc.1
    Led35 Alias Portc.0
    Led34 Alias Portb.5
    Led33 Alias Portb.4
    Led32 Alias Portb.3
    Led31 Alias Portb.2
    Led30 Alias Portb.1
    Powerled Alias Portd.2
    
    
    Set Led40
    Set Led39
    Set Led38
    Set Led37
    Set Led36
    Set Led35
    Set Led34
    Set Led33
    Set Led32
    Set Led31
    Set Led30
    Reset Grzanie
    
    Reset Powerled
    
    
    '------------------Ustawienia początkowe-----------------
    Tempmax = 35
    Tempmin = 34
    Temp_zalaczenie_pompki = 40
    
    Status_grzalki = 0
    Powtorz = 0
    '----------------------Start programu--------------------
    
    
    
    Waitms 100
    Set Powerled
    
    
    
    Poczatek:
    Do
    
    
    Gosub Pomiar_temperatury
    Gosub Wyswietl_temp
    Gosub Termostat
    
    Loop
    
    
    '-------------Obsługa Pomiar temperatury-------------
    Pomiar_temperatury:
    1wreset
       1wwrite &HCC
       1wwrite &H44
    Wait 2
    
       1wreset
       1wwrite &H55
       1wverify Dsid1(1)                                        'wysyłamy adres pierwszego czujnika
       1wwrite &HBE
       I1 = 1wread(2)
    Wait 1
    
      I1 = I1 * 10
      I1 = I1 / 16
      Temp = I1 / 10
    Return
    
    '-------------Obsługa Wyswietlanie temperatury-------------
    Wyswietl_temp:
    If Temp >= 30 Then
    Reset Led30
    Else
    Set Led30
    End If
    
    If Temp >= 31 Then
    Reset Led31
    Else
    Set Led31
    End If
    
    If Temp >= 32 Then
    Reset Led32
    Else
    Set Led32
    End If
    
    If Temp >= 33 Then
    Reset Led33
    Else
    Set Led33
    End If
    
    If Temp >= 34 Then
    Reset Led34
    Else
    Set Led34
    End If
    
    If Temp >= 35 Then
    Reset Led35
    Else
    Set Led35
    End If
    
    If Temp >= 36 Then
    Reset Led36
    Else
    Set Led36
    End If
    
    If Temp >= 37 Then
    Reset Led37
    Else
    Set Led37
    End If
    If Temp >= 38 Then
    Reset Led38
    Else
    Set Led38
    End If
    
    If Temp >= 39 Then
    Reset Led39
    Else
    Set Led39
    End If
    
    If Temp >= 40 Then
    Reset Led40
    Else
    Set Led40
    End If
    
    
    
    '-------------Obsługa Termostatu-------------
    Termostat:
    If Temp >= Tempmax And Status_grzalki = 1 Then
    Status_grzalki = 0
    Reset Grzanie
    End If
    
    If Temp =< Tempmin And Status_grzalki = 0 Then
    Status_grzalki = 1
    Set Grzanie
    End If
    
    Return
    
    



    Bardzo proszę o pomoc :)

    Ps.te code to gdzie trzeba wstawić ????
    https://www.elektroda.pl/rtvforum/faq.php?mode=bbcode
    I szukamy "Wstawianie kodu lub danych o stałej szerokości"
    [zumek]
  • #5 7732378
    Logan
    Poziom 30  
    Całą procedurę Wyswietl_temp: możesz uprościć wpisując binarnie odpowiednie wartości na porty.
  • #6 10369125
    Klucha93
    Poziom 12  
    A ja mam takie pytanko. Bo sam próbuje zrobić temorstat na ds18b20 i myślałem żeby wynik pomiaru przepisać do zmiennej i zrobić warunek większy bądź równy. Najlepiej przedstawie:
    .....
    I3 = I3 * 10
    I3 = I3 / 16
    Termostat = I3 * 10
    Termostat = I3 / 16
    If I3 > 0 Then 'korekta przesuniecia znaku st C przy przejściu z temp ujemnej na dodatnią
    Ss = Str(i3)
    Ss = Format(ss , " 0.0")
    Locate 3 , 1 'Pozycja wyświetlania nazwy i temperatury ujemnej
    Lcd "Pokoj " ; Ss ; Chr(0) ;
    Else
    Ss = Str(i3)
    Ss = Format(ss , " 0.0")
    Locate 3 , 1 'Pozycja wyświetlania nazwy i temperatury w wierszu 1
    Lcd "Pokoj " ; Ss ; Chr(0) ;
    End If


    If Termostat >= 30 Then
    Portc.0 = 0
    Else
    Portc.0 = 1
    End If

    .....
    oczywiście w pętli i deklaracja zmiennych itp.
    I mam problem, że ten warunek jest właściwy dla temperatury ok. 50 stopni celcjusza, chociaż, że powinien być taki jak na wyświetlaczu. Czy mógłby ktoś poradzić, żeby żeby powyżej 30 stopni na portc.0 było 0?
  • #8 10370142
    Konto nie istnieje
    Poziom 1  
  • #9 10391610
    Klucha93
    Poziom 12  
    I3 = I3 * 10
    I3 = I3 / 16
    If I3 >= 30 Then
    Portb.0 = 0
    Else
    Portb.0 = 1
    End If
    If I3 > 0 Then
    .....
    Zrobiłem tak i nie działa tak jak ma, czyli powyżej 30 stopni nie ma ZERA na porcie b.0. Czy może trzeba dokonać jakiś operacji matematycznych, żeby otrzymać 30?
  • #10 10394878
    arktik1
    Poziom 27  
    Podałem ci najprostsze rozwiązanie do termostatu, nic dziwnego że nie działa.
    Miałeś napisać:
    
    If I3 >= 300 Then 
    

    300 przedstawia właśnie temperaturę 30,0 stopni, tylko że nie ma przecinka.
    Jeśli chcesz ustawić np 30,5 stopnia to wpisujesz 305.
  • #11 10395709
    Klucha93
    Poziom 12  
    Sorki, zrobiłem w ten sposób:

    I3 = I3 * 10
    I3 = I3 / 16
    If I3 > 0 Then 'korekta przesuniecia znaku st C przy przejściu z temp ujemnej na dodatnią
    Ss = Str(i3)
    Ss = Format(ss , " 0.0")
    Locate 3 , 1 'Pozycja wyświetlania nazwy i temperatury ujemnej
    Lcd "Pokoj " ; Ss ; Chr(0) ;
    Else
    Ss = Str(i3)
    Ss = Format(ss , " 0.0")
    Locate 3 , 1 'Pozycja wyświetlania nazwy i temperatury w wierszu 1
    Lcd "Pokoj " ; Ss ; Chr(0) ;
    If I3 >= 300 Then
    Portb.0 = 0
    Else
    Portb.0 = 1
    End If

    End If

    I nie działa, czyli powyżej, bądź równe 30 stopni dioda się nie pali. (steruje 0)
  • #12 10396149
    arktik1
    Poziom 27  
    Wklej cały program, łącznie z deklaracją zmiennych.
    I używaj CODE do wklejania kodu.
  • #13 10396217
    Klucha93
    Poziom 12  
    [code]
    Kod: text
    Zaloguj się, aby zobaczyć kod

    $regfile = "m32def.DAT" 'deklaracja procesora, w tym wypadku Atmega8
    $crystal = 1000000 'deklaracja cześtotlwiości pracy (wew oscylator 1MHz w zupełności wystarcza)
    'Deklaracja portów od wyświetlacza LCD


    Config Portb.0 = Output




    Config Lcd = 20 * 4 'ustawiamy typ wyświetlacza (soft jest dostosowany do pracy z wyświetlaczem 2x20, przy pracy z innym wyświetlaczem trzeba będzie skorygować wyświetlanie znaków)

    '*************************************WAŻNE**********************************************
    'Pamiętać o podłączeniu rezystora podciągającego o wartości 4.7kohm między linią DQ a VCC
    Config 1wire = Portd.7
    'deklaracja portu na którym będą podpięte DS18b20
    Dim I1 As Integer , Ss As String * 6 ,
    Dim I2 As Integer ,
    Dim I3 As Integer ,


    Dim Odczyt(2) As Byte
    Dim Dsid1(8) As Byte
    Dim Dsid2(8) As Byte
    Dim Dsid3(8) As Byte

    Dim B As Byte 'deklaracja zmiennej do odczytu kodów ID
    Dim W As Byte
    'deklaracja zmiennej do odczyt u ilośc czujników
    Dim Licz As Byte
    Dim Godz As Byte
    Dim Minu As Byte
    Dim Sek As Byte
    Dim Ss1 As String * 2
    Dim Ss2 As String * 2
    Dim Ss3 As String * 2


    Deflcdchar 0 , 8 , 20 , 11 , 4 , 4 , 4 , 3 , 32 'znak stopnia Celsjusza
    Deflcdchar 1 , 4 , 2 , 9 , 1 , 1 , 9 , 2 , 4 'buzka
    Deflcdchar 3 , 32 , 32 , 14 , 17 , 15 , 1 , 1 , 14 'g



    Cursor Off 'Wyłącza kursor
    Cls
    Locate 1 , 4 'Funkcja CLS czyści ekran
    Lcd " Termometr" ; Chr(1) 'ekran powitalny
    Locate 2 , 5
    Lcd " by Klucha"
    Locate 3 , 7
    Lcd " 2011"
    Locate 4 , 5
    Lcd "Version 2.0.!"
    Wait 3
    Cls
    W = 1wirecount()
    Lcd "Ilosc czujnikow:" 'Informuje ile czujników jest podpiętych do układu (pojawia się tylko podczas włączania urządzenia)
    Waitms 500
    Lcd W
    Wait 1
    Cls 'Znajdź pierwszy czujnik podpięty do portu
    Dsid1(1) = 1wsearchfirst() 'Znajdź kolejny czujnik podpięty do portu
    Dsid2(1) = 1wsearchnext() 'Znajdź kolejny czujnik podpięty do portu
    Dsid3(1) = 1wsearchnext()


    '*******************Odczyt numerów ID czujników temperatury*********************

    If Dsid1(8) = Crc8(dsid1(1) , 7) Then 'ta opcja pojawia się tylko przy włączaniu urządzenia
    Locate 1 , 1
    Lcd "Czujnik 1 OK"
    Wait 1
    Locate 1 , 1
    For B = 1 To 8
    Lcd Hex(dsid1(b))
    Next
    End If
    Waitms 500

    If Dsid2(8) = Crc8(dsid2(1) , 7) Then
    Locate 2 , 1
    Lcd "Czujnik 2 OK"
    Wait 1
    Locate 2 , 1
    For B = 1 To 8
    Lcd Hex(dsid2(b))
    Next
    End If
    Waitms 500

    If Dsid3(8) = Crc8(dsid3(1) , 7) Then
    Locate 3 , 1
    Lcd "Czujnik 3 OK"
    Wait 1
    Locate 2 , 1
    For B = 1 To 8
    Lcd Hex(dsid2(b))
    Next
    End If
    Waitms 500

    Portc.0 = 1

    Cls

    '*******************koniec odczytu ID czujników temperatury*********************




    Do


    Incr Licz
    If Licz < 60 Then
    Sek = Licz
    Else
    Sek = 0
    Licz = 0
    Incr Minu
    If Minu > 59 Then
    Minu = 0
    Incr Godz
    End If
    End If
    Ss1 = Str(sek)
    Ss1 = Format(ss1 , "00")
    Ss2 = Str(minu)
    Ss2 = Format(ss2 , "00")
    Ss3 = Str(godz)
    Ss3 = Format(ss3 , "00")
    Locate 4 , 1
    Lcd "Workin" ; Chr(3) ; " " ; Ss3 ; ":" ; Ss2 ; ":" ; Ss1

    1wreset
    1wwrite &H55
    1wverify Dsid1(1) 'wysyłamy adres pierwszego czujnika
    1wwrite &HBE
    I1 = 1wread(2)
    '---------------------------------
    1wreset
    1wwrite &H55
    1wverify Dsid2(1) 'wysylam adres drugiego czujnika
    1wwrite &HBE
    I2 = 1wread(2)

    1wreset
    1wwrite &H55
    1wverify Dsid3(1) 'wysylam adres drugiego czujnika
    1wwrite &HBE
    I3 = 1wread(2)

    '---------------------------------

    '--------konwersja temp dla wszystkich dsow
    1wreset
    1wwrite &HCC
    1wwrite &H44
    Waitms 720

    '****Jeśli pracujesz z wyświetlaczem innym niż 4x16 to tutaj trzeba wprowadzić zmiany w LOCATE********

    I1 = I1 * 10
    I1 = I1 / 16
    If I1 > 0 Then 'korekta przesuniecia znaku st C przy przejściu z temp ujemnej na dodatnią
    Ss = Str(i1)
    Ss = Format(ss , " 0.0")
    Locate 1 , 1 'Pozycja wyświetlania nazwy i temperatury ujemnej
    Lcd "Zewnatrz " ; Ss ; Chr(0) ;
    Else
    Ss = Str(i1)
    Ss = Format(ss , " 0.0")
    Locate 1 , 1 'Pozycja wyświetlania nazwy i temperatury w wierszu 1
    Lcd "Zewnatrz " ; Ss ; Chr(0) ;
    End If



    I2 = I2 * 10
    I2 = I2 / 16
    If I2 > 0 Then
    Ss = Str(i2)
    Ss = Format(ss , " 0.0") 'Pozycja wyświetlania nazwy i temperatury ujemnej
    Locate 2 , 1
    Lcd "Grzejnik " ; Ss ; Chr(0) ;
    Else
    Ss = Str(i2)
    Ss = Format(ss , " 0.0")
    Locate 2 , 1 'Pozycja wyświetlania nazwy i temperatury w wierszu 2
    Lcd "Grzejnik " ; Ss ; Chr(0) ;
    End If


    I3 = I3 * 10
    I3 = I3 / 16
    If I3 > 0 Then 'korekta przesuniecia znaku st C przy przejściu z temp ujemnej na dodatnią
    Ss = Str(i3)
    Ss = Format(ss , " 0.0")
    Locate 3 , 1 'Pozycja wyświetlania nazwy i temperatury ujemnej
    Lcd "Pokoj " ; Ss ; Chr(0) ;
    Else
    Ss = Str(i3)
    Ss = Format(ss , " 0.0")
    Locate 3 , 1 'Pozycja wyświetlania nazwy i temperatury w wierszu 1
    Lcd "Pokoj " ; Ss ; Chr(0) ;
    If I3 >= 300 Then ' Zaświeć diode
    Portb.0 = 0
    Else
    Portb.0 = 1 ' Jeśli I3 nie jest >= 30 to stan 1
    End If
    End If




    Loop





    'Koniec programu

    Proszę, cały program. Miejscami trochę się zlało, ale wiadomo o co chodzi. Właśnie wpisałem wartość 300 i powinien po przekroczeniu 30 stopni zaświecić diode, a tak nie jest. Próbowałem także w zmienne podać wartość zadaną i jeśli I3 będzie większe to Portb.0 = 0, ale także to nie działa. Całą procedure z Portb.0 wklejałem także przed If I3 > 0 Then .Nie wiem właśnie, w którym miejscu robię błąd, bo w sumie przepisuje wynik pomiaru do I3 i procedure If, then, else, end if.
  • #14 10397540
    arktik1
    Poziom 27  
    Jeśli jest to cały program, to gdzie są deklaracje portów?
    A w szczególności LCD?
  • #15 10397576
    Konto nie istnieje
    Poziom 1  
REKLAMA