доброго времени суток, подскажите пожалуйста как избавится от движения показаний на lcd? один датчик температуры это ds18b20, а второй ntc 10kОм
нестабильные показания на lcd
Сообщений 1 страница 6 из 6
Поделиться12015-01-11 18:42:30
Поделиться22015-01-11 18:49:33
Cls
Locate 1 , 1 : Lcd "temp1" ; " " ; Ss ; Chr(0) ; "C"
Locate 2 , 1 : Lcd "temp2" ; " " ; B8 ; Chr(0) ; "C"
Waitms 100
вывод на lcd
Поделиться32015-01-11 23:34:15
Переводи в String и выводи как строковую переменную
Пример :
''' 14_bit_данные_ацп_0 = 14_bit_данные_ацп_0 - 490
Сопротивление_0 = 14_bit_данные_ацп_0 / 134
Сопротивление_0 = Сопротивление_0 + 100
Сопротивление_0d = Сопротивление_0
A0 = 0.0000010241 * Сопротивление_0d
B0 = A0 + 0.00063962
B0 = B0 * Сопротивление_0d
C0 = B0 + 2.3992
Температура_0d = C0 * Сопротивление_0d
Температура_0d = Температура_0d - 247.29
Температура_0_single = Температура_0d
Температура_0_str = " "
Температура_0_str = Fusing(температура_0_single , "&.&")
Температура_0_str_lcd = Format(температура_0_str , " 0")
Температура_0_str_lcd = Температура_0_str_lcd + "°C"
Флаг_есть_данные_ацп_0 = 0
код (С)sasha_1973 код (С) Skull
Отредактировано Skull (2015-01-11 23:54:26)
Поделиться42015-01-12 02:15:52
Do
A = Getadc(0)
B = 10230000 / A
B = B - 10000
B1 = B / 10000
B2 = Log(b1)
B2 = B2 * 298
B2 = B2 + 3340.25
B3 = 995394.5 / B2
B3 = B3 - 273
B8 = Str(b3)
B8 = Format(b8 , "0.0")
1wreset
1wwrite &HCC
1wwrite &H44
Waitms 750
1wreset
1wwrite &H55
1wverify Dsid1(1)
1wwrite &HBE
I1 = 1wread(2)
I1 = I1 * 10
I1 = I1 \ 16
Ss = Str(i1)
Ss = Format(ss , "0.0")
Cls
Locate 1 , 1 : Lcd "temp1" ; " " ; Ss ; Chr(0) ; "C"
Locate 2 , 1 : Lcd "temp2" ; " " ; B8 ; Chr(0) ; "C"
Waitms 100
Loop
у меня через String и написано, мне кажется это в железе дело
Поделиться52015-01-12 02:32:09
первое это вычисление температуры по датчику ntc, дальше датчик ds18b20 (это подсмотрел на просторах сети, красивая короткая запись понравилась), по началу писалась программа под ntc, но стало интересно насколько точно он показывает и добавил ds18b20 для проверки
Поделиться62015-01-12 03:05:34
"temp1" ; " " ; Ss ; Chr(0) ; "C"
Ты не понял, все это выражение надо загнать в строку. тогда ее размер будет фиксирован.
сбрось код полностью. у меня что-то похожее было на двустрочных восьмисимвольных производства загадочной фирмы из Поднебесной. у них странная адресация.
Отредактировано Skull (2015-01-12 03:13:38)