Вложений: 1
Arduino и температурный сенсор
Доброго времени суток.
Приобрел не так давно Arduino и к нему температурный сенсор Temperature sensor with steel head. Собрал схему(вложение, резистор 10КОМ)
Как рассчитать температуру?На входе значения 545 и т.п. На сайте где брал температурный сенсор есть таблицы, но смысл не совсем понятен. С физикой на ВЫ. Прошу помощи в расчетах.
Re: Arduino и температурный сенсор
а какое сопротивление термистора при температуре +21 С ?
Re: Arduino и температурный сенсор
Цитата:
Сообщение от
Chip
а какое сопротивление термистора при температуре +21 С ?
+21 / 11.9441 kOhm
В таблице есть сопротивления от -25 до +125
+25 / 10.000 kOhm
Re: Arduino и температурный сенсор
Учитывая то что у тебя термистор при температуре +25С равен 10ком и резистор делителя тоже 10ком, то на аналоговом входе ардуино будет значение 2,5в или в цифровом выражении 512. Тоесть 512 это и есть +25С , значит для вывода температурры +25С нужно 512/20,48=25. Потом нужно сделать несколько таких точек и вычислить калибровочную константу
Вот здесь есть пример как это сделать/
А вообще лучше использовать линейный высокоточный датчик температуры LM35DZ или цифровой DS18B20
Re: Arduino и температурный сенсор
Цитата:
Сообщение от
Chip
Учитывая то что у тебя термистор при температуре +25С равен 10ком и резистор делителя тоже 10ком, то на аналоговом входе ардуино будет значение 2,5в или в цифровом выражении 512. Тоесть 512 это и есть +25С , значит для вывода температурры +25С нужно 512/20,48=25. Потом нужно сделать несколько таких точек и вычислить калибровочную константу
Вот
здесь есть пример как это сделать/
А вообще лучше использовать линейный высокоточный датчик температуры
LM35DZ или
цифровой DS18B20
Спасибо!Не могли бы вы еще уточнить как напряжение на входе высчитали?
Например на входе у меня цифровое значение 583, с ним проделать преобразование 583/20,48? или как то по другому?не могу вникнуть как использовать сопротивления из таблицы температура\сопротивление. Хотелось бы понять.
Re: Arduino и температурный сенсор
то есть 583 это 583*5в/1024=2,8466796875 вольт? дальше исходя из вышесказанного:
1024 - 20ком
583 - ?ком
583*20ком/1024=11,38671875ком => 20ком-11,38671875ком=8,61328125ком => смотрю по таблице t;khom:
28;8.75777ком
29;8.38690ком
где то ~28,3
так?
Re: Arduino и температурный сенсор
Еще вопрос, как реализовать сравнение сопротивлений из таблицы?
допустим создам массив[][]={{temp,khom},{temp1,khom1},...}и т.д.
как это реализовать?
сейчас имею только:
Код:
const int in = 0;
int sensor = 0;
void setup()
{
Serial.begin(9600);
}
void loop() {
sensor = analogRead(in);
Serial.print("Analog = ");
Serial.print(sensor);
Serial.print("Voltage = ");
double voltage = sensor*5.0/1024;
Serial.print(voltage);
double khom = (sensor*20.000/1024);
khom = 20.000-khom;
Serial.print("khOm = ");
Serial.println(khom);
delay(1000);
}
Выводит: Analog = 572Voltage = 2.79khOm = 8.83
Тут есть вопросы, print выводит только 2 знака после запятой почему то. Значения переменных высчитываются как надо?
вот таблица сопротивлений:
Код:
temperature/C;resistance/kOhm
-25;133.500
-24;125.672
-23;118.350
-22;111.498
-21;105.084
-20;99.0773
-19;93.4469
-18;88.1750
-17;83.2296
-16;78.5909
-15;74.2384
-14;70.1527
-13;66.3162
-12;62.7122
-11;59.3254
-10;56.1416
-9;53.1475
-8;50.3307
-7;47.6799
-6;45.1842
-5;42.8339
-4;40.6197
-3;38.5330
-2;36.5656
-1;34.7103
0;32.9600
1;31.3081
2;29.7487
3;28.2760
4;26.8848
5;25.5702
6;24.3274
7;23.1523
8;22.0407
9;20.9889
10;19.9934
11;19.0509
12;18.1582
13;17.3124
14;16.5109
15;15.7511
16;15.0306
17;14.3472
18;13.6987
19;13.0833
20;12.4990
21;11.9441
22;11.4169
23;10.9161
24;10.4400
25;10.0000
26;9.55693
27;9.14743
28;8.75777
29;8.38690
30;8.03380
31;7.69753
32;7.37721
33;7.07200
34;6.78110
35;6.50378
36;6.23934
37;5.98711
38;5.74646
39;5.51680
40;5.29758
41;5.08828
42;4.88838
43;4.69743
44;4.51498
45;4.34060
46;4.17391
47;4.01452
48;3.86207
49;3.71624
50;3.58800
51;3.44314
52;3.31529
53;3.19287
54;3.07563
55;2.96331
56;2.85569
57;2.75256
58;2.65369
59;2.55890
60;2.46799
61;2.38080
62;2.29714
63;2.21686
64;2.13980
65;2.06583
66;1.99480
67;1.92658
68;1.86105
69;1.79809
70;1.73758
71;1.67942
72;1.62351
73;1.56975
74;1.51804
75;1.47300
76;1.42045
77;1.37439
78;1.33007
79;1.28740
80;1.24632
81;1.20675
82;1.16864
83;1.13193
84;1.09655
85;1.06246
86;1.02960
87;.997924
88;.967376
89;.937916
90;.909498
91;.882083
92;.855630
93;.830101
94;.805459
95;.781670
96;.758701
97;.736519
98;.715094
99;.694397
100;.674400
101;.655075
102;.636398
103;.618345
104;.600890
105;.584013
106;.567690
107;.551902
108;.536629
109;.521852
110;.507552
111;.493712
112;.480316
113;.467346
114;.454788
115;.442627
116;.430848
117;.419438
118;.408384
119;.397674
120;.387294
121;.377233
122;.367481
123;.358026
124;.348859
125;.339968
Re: Arduino и температурный сенсор
У тебя два два последовательных резистора R1,R2. Пусть R1 (постоянный) подключен к 0, R2 (терморезистор) - к напряжению V = 5в.
В точке их соединения будет напряжение (R1/(R1+R2))*V. Возьми эксель и сделай таблицу со значениями. Сможешь посмотреть насколько хорошо подходит то или иное сопротивление R1 для нужного тебе диапазона температур.
Re: Arduino и температурный сенсор
Цитата:
Сообщение от
SBorovkov
У тебя два два последовательных резистора R1,R2. Пусть R1 (постоянный) подключен к 0, R2 (терморезистор) - к напряжению V = 5в.
В точке их соединения будет напряжение (R1/(R1+R2))*V. Возьми эксель и сделай таблицу со значениями. Сможешь посмотреть насколько хорошо подходит то или иное сопротивление R1 для нужного тебе диапазона температур.
Хм, сделал таблицу. "В точке соединения" это на аналоговый вход пойдет?
Может ли быть такое что резистор на 12кОм работает как 11кОм? Оказалось что резистор (постоянный) вовсе не 10кОм, а 12кОм, не заметил сразу. Единственное на чем могу проверить показания - свое тело :) . Просто если брать в расчеты 12кОм то температура тела между 34 и 35, а вот если считать за 11кОм, то вроде бы все нормально.
PS. как получили эту формулу (R1/(R1+R2))*V ? :)
Re: Arduino и температурный сенсор
Цитата:
Может ли быть такое что резистор на 12кОм работает как 11кОм?
Конечно может, все зависит от его погрешности, скорее всего и у термистора тоже есть погрешность
Re: Arduino и температурный сенсор
да, пойдет на аналоговый вход.
Ошибка на 8% для резистора - явный перебор. Они обычно в 1% ошибки укладываются.
Скорее всего, у тебя тело не догревается :-). Ты подмышку меряешь или пальцы? Пыльцы на пару градусов холоднее тела могут казаться теплыми. Плюс еще надо создать хороший "термический контакт".
Формула - очень простая. На резисторах падает напряжение V. А точнее - на сопротивлении R1+R2. По не помню какому закону сопротивление последовательно подключенных резисторов - их сумма. Дальше вспоминаем закон Ома. U=I*R
U - напряжение, I - ток R - сопротивление. Итак, у нас через цепь течет ток I=V/(R1+R2). По еще не помню какому закону, сумма всех токов, втекающих в точку равна сумме всех вытекающих из нее токов. Это означает, что если пренебречь измеряющим прибором (он тока почти не создает), получаем, что через оба резистора течет один и тот же ток (указанный выше, соответственно).
Соответственно на первом резисторе падает V1=I*R1, а на втором - V2=I*R2. Подставь в эти формулы I и получишь вышенаписанную формулу.
Но это все доказательство.
Вот, к примеру, статья в википедии:
http://ru.wikipedia.org/wiki/Делитель_напряжения
Re: Arduino и температурный сенсор
Цитата:
Сообщение от
SBorovkov
Ты подмышку меряешь или пальцы?
Подмышку :) Достаточно плотно и долго прижимал.
На счет формулы что то не могу сообразить, но она работает!
Re: Arduino и температурный сенсор
Таблица из екселя с уже рассчитанными значениями напряжения:
Код:
Значения Вх V на входе R термистора Температура
77,95155709 0,380622837 133,5 -25
82,41629595 0,40242332 125,672 -24
87,08156165 0,425202938 118,35 -23
91,95252167 0,448986922 111,498 -22
97,03318287 0,473794838 105,084 -21
102,3280913 0,499648883 99,0773 -20
107,844273 0,526583364 93,4469 -19
113,5770103 0,554575246 88,175 -18
119,5378098 0,583680712 83,2296 -17
125,7270549 0,613901635 78,5909 -16
132,1470136 0,64524909 74,2384 -15
138,8000646 0,67773469 70,1527 -14
145,6874497 0,711364501 66,3162 -13
152,8105253 0,746145143 62,7122 -12
160,1697253 0,782078737 59,3254 -11
167,7648433 0,819164274 56,1416 -10
175,5953077 0,857398963 53,1475 -9
183,6600593 0,896777633 50,3307 -8
191,9567007 0,937288578 47,6799 -7
200,4834099 0,9789229 45,1842 -6
209,2361876 1,021661072 42,8339 -5
218,2112643 1,065484689 40,6197 -4
227,4039529 1,110370864 38,533 -3
236,8097953 1,156297829 36,5656 -2
246,4214849 1,203229907 34,7103 -1
256,232939 1,251137398 32,96 0
266,2374344 1,299987473 31,3081 1
276,4259964 1,349736311 29,7487 2
286,7909156 1,400346267 28,276 3
297,322409 1,451769575 26,8848 4
308,0103472 1,503956774 25,5702 5
318,8459949 1,556865209 24,3274 6
329,8167327 1,610433265 23,1523 7
340,9128741 1,664613643 22,0407 8
352,1221424 1,719346398 20,9889 9
363,4322146 1,77457136 19,9934 10
374,8307039 1,830228046 19,0509 11
386,306425 1,886261841 18,1582 12
397,8468798 1,942611718 17,3124 13
409,4377138 1,999207587 16,5109 14
421,0667973 2,055990221 15,7511 15
432,7214893 2,112897897 15,0306 16
444,3883348 2,169864916 14,3472 17
456,0563916 2,22683785 13,6987 18
467,7099899 2,283740185 13,0833 19
479,3395464 2,340525129 12,499 20
490,9323094 2,397130417 11,9441 21
502,4780411 2,45350606 11,4169 22
513,9600568 2,50957059 10,9161 23
525,3731343 2,565298507 10,44 24
536,3809524 2,619047619 10 25
547,9417403 2,675496779 9,55693 26
559,078751 2,729876714 9,14743 27
570,1048246 2,783714964 8,75777 28
581,0108888 2,83696723 8,3869 29
591,7893432 2,889596402 8,0338 30
602,4325138 2,941565009 7,69753 31
612,933084 2,992837324 7,37721 32
623,2846392 3,043382027 7,072 33
633,4816181 3,093171963 6,7811 34
643,5181429 3,142178432 6,50378 35
653,3892829 3,190377358 6,23934 36
663,0910143 3,237749093 5,98711 37
692,419784 3,380955977 5,74646 38
681,9722949 3,329942846 5,5168 39
691,1455566 3,374734163 5,29758 40
700,1369941 3,418637667 5,08828 41
708,945783 3,461649331 4,88838 42
717,5696913 3,503758259 4,69743 43
726,0080258 3,544961063 4,51498 44
734,2607199 3,585257421 4,3406 45
742,3267965 3,624642561 4,17391 46
750,2071328 3,663120766 4,01452 47
757,9024994 3,700695798 3,86207 48
765,4129044 3,737367697 3,71624 49
772,1414862 3,7702221 3,588 50
779,8858143 3,808036203 3,44314 51
786,8509824 3,842045813 3,31529 52
793,6379323 3,875185216 3,19287 53
800,2483725 3,907462757 3,07563 54
806,6855208 3,938894145 2,96331 55
812,9512135 3,969488347 2,85569 56
819,0475082 3,999255411 2,75256 57
824,978449 4,028215083 2,65369 58
830,745857 4,056376255 2,5589 59
836,3534573 4,083757116 2,46799 60
841,8031807 4,110367093 2,3808 61
847,0994515 4,13622779 2,29714 62
852,2447843 4,161351486 2,21686 63
857,2428804 4,185756252 2,1398 64
862,0960169 4,209453207 2,06583 65
866,8082618 4,232462216 1,9948 66
871,3828406 4,254799027 1,92658 67
875,8227361 4,276478204 1,86105 68
880,1313321 4,29751627 1,79809 69
884,3124047 4,317931664 1,73758 70
888,3687109 4,337737846 1,67942 71
892,3033293 4,35694985 1,62351 72
896,1196523 4,37558424 1,56975 73
899,8213778 4,393659071 1,51804 74
903,0706326 4,409524573 1,473 75
906,8914572 4,428180944 1,42045 76
910,267092 4,444663535 1,37439 77
913,5390148 4,460639721 1,33007 78
916,711428 4,476130019 1,2874 79
919,7865155 4,491145095 1,24632 80
922,7681406 4,505703811 1,20675 81
925,658085 4,519814868 1,16864 82
928,4590333 4,533491374 1,13193 83
931,1745911 4,546750933 1,09655 84
933,8062054 4,559600612 1,06246 85
936,3569861 4,572055596 1,0296 86
938,8290841 4,584126387 0,997924 87
941,2255452 4,595827857 0,967376 88
943,5482709 4,607169292 0,937916 89
945,7997306 4,618162747 0,909498 90
947,9819321 4,628818028 0,882083 91
950,0971269 4,639146127 0,85563 92
952,1474077 4,649157264 0,830101 93
954,1348625 4,658861633 0,805459 94
956,0614073 4,66826859 0,78167 95
957,9289413 4,677387409 0,758701 96
959,7394253 4,686227663 0,736519 97
961,4946325 4,69479801 0,715094 98
963,1963067 4,703106967 0,694397 99
964,8461591 4,711162886 0,6744 100
966,4459474 4,718974352 0,655075 101
967,9971414 4,726548542 0,636398 102
969,50125 4,733892822 0,618345 103
970,9599867 4,74101556 0,60089 104
972,3745994 4,747922848 0,584013 105
973,7467031 4,754622574 0,56769 106
975,077524 4,761120723 0,551902 107
976,3684002 4,767423829 0,536629 108
977,6206117 4,773538143 0,521852 109
978,8354639 4,779470038 0,507552 110
980,0141155 4,785225174 0,493712 111
981,1576615 4,790808894 0,480316 112
982,2673878 4,796227479 0,467346 113
983,3442574 4,801485632 0,454788 114
984,3893365 4,806588557 0,442627 115
985,4037076 4,811541541 0,430848 116
986,3882969 4,816349106 0,419438 117
987,3440445 4,821015842 0,408384 118
988,2718176 4,825545984 0,397674 119
989,1726691 4,829944673 0,387294 120
990,0474043 4,834215841 0,377233 121
990,8967519 4,838363046 0,367481 122
991,7216249 4,842390746 0,358026 123
992,5226844 4,84630217 0,348859 124
993,3008629 4,85010187 0,339968 125
В коде наверное надо создать массивы со значениями на входе и температурой? знач[77,95155709 ...] темп[-21 ...]
Только вот значения будут не точными на входе. Придется использовать что то вроде:
Код:
for (i=0; i<152; i++){
if (i!=152) {
if (знач[i]<=знач<[i+1]){
Serial.print (темп[i]); }
}
else if (знач[i-1]<знач<=[i]) Serial.print (темп[i]);
}
Приведите пожалуйста пример с использованием массивов в arduino коде?Также как в си?
Re: Arduino и температурный сенсор
Ардуино - это и есть С, расширенный несколькими библиотеками. Можно еще использовать линейную аппроксимацию, таблица будет короче.
Вместо напряжения загоняй сразу снятые с АЦП значения. Напряжение питания соответствует 1023. Можешь сделать V=1023 и округлить напряжение, получишь значение АЦП.
Re: Arduino и температурный сенсор
Цитата:
Сообщение от
SBorovkov
Можно еще использовать линейную аппроксимацию, таблица будет короче.
Ниасилю такое :)
набросал код:
Код:
const int in = 0;
int sensor = 0;
int i;
double temp[]={'-25','-24','-23','-22','-21','-20','-19','-18','-17','-16','-15','-14','-13','-12','-11','-10','-9','-8','-7','-6','-5','-4','-3','-2','-1','0','1','2','3','4','5','6','7','8','9','10','11','12','13','14','15','16','17','18','19','20','21','22','23','24','25','26','27','28','29','30','31','32','33','34','35','36','37','38','39','40','41','42','43','44','45','46','47','48','49','50','51','52','53','54','55','56','57','58','59','60','61','62','63','64','65','66','67','68','69','70','71','72','73','74','75','76','77','78','79','80','81','82','83','84','85','86','87','88','89','90','91','92','93','94','95','96','97','98','99','100','101','102','103','104','105','106','107','108','109','110','111','112','113','114','115','116','117','118','119','120','121','122','123','124','125'};
double sopr[]={'133.5','125.672','118.35','111.498','105.084','99.0773','93.4469','88.175','83.2296','78.5909','74.2384','70.1527','66.3162','62.7122','59.3254','56.1416','53.1475','50.3307','47.6799','45.1842','42.8339','40.6197','38.533','36.5656','34.7103','32.96','31.3081','29.7487','28.276','26.8848','25.5702','24.3274','23.1523','22.0407','20.9889','19.9934','19.0509','18.1582','17.3124','16.5109','15.7511','15.0306','14.3472','13.6987','13.0833','12.499','11.9441','11.4169','10.9161','10.44','10','9.55693','9.14743','8.75777','8.3869','8.0338','7.69753','7.37721','7.072','6.7811','6.50378','6.23934','5.98711','5.74646','5.5168','5.29758','5.08828','4.88838','4.69743','4.51498','4.3406','4.17391','4.01452','3.86207','3.71624','3.588','3.44314','3.31529','3.19287','3.07563','2.96331','2.85569','2.75256','2.65369','2.5589','2.46799','2.3808','2.29714','2.21686','2.1398','2.06583','1.9948','1.92658','1.86105','1.79809','1.73758','1.67942','1.62351','1.56975','1.51804','1.473','1.42045','1.37439','1.33007','1.2874','1.24632','1.20675','1.16864','1.13193','1.09655','1.06246','1.0296','0.997924','0.967376','0.937916','0.909498','0.882083','0.85563','0.830101','0.805459','0.78167','0.758701','0.736519','0.715094','0.694397','0.6744','0.655075','0.636398','0.618345','0.60089','0.584013','0.56769','0.551902','0.536629','0.521852','0.507552','0.493712','0.480316','0.467346','0.454788','0.442627','0.430848','0.419438','0.408384','0.397674','0.387294','0.377233','0.367481','0.358026','0.348859','0.339968'};
void setup()
{
Serial.begin(9600);
}
void loop() {
sensor = analogRead(in);
Serial.print("Analog = ");
Serial.print(sensor);
Serial.print("Voltage = ");
double voltage = sensor*5.0/1023;
Serial.print(voltage);
double khom = (11.0*(5.0-voltage)/voltage);
//khom = 20.000-khom;
Serial.print("khOm = ");
Serial.print(khom);
Serial.print(" temp= ");
for (i=0;i<151;i++) {
if (i!=151) {
if (sopr[i]<=khom && khom<sopr[i+1]){
Serial.println(temp[i]); }
}
else if (i==151){
if (sopr[i-1]<khom && khom<=sopr[i]) {
Serial.println (temp[i]);}}
}
delay(1000);
}
Получаю в ответе какую то белиберду:
Код:
àTF569F2\F78\F8\F80LF0\F00
0\F00
0\F00
0\F00
13881\F00
Re: Arduino и температурный сенсор
Посмотрел пример апроксимации из темы
Получился следующий код:
Код:
#define Temp1Count 8
#include <avr/pgmspace.h>
uint16_t Temp1[Temp1Count][2] PROGMEM =
{
{77.95155709,-25,}, //первое число на входе, второе температура
{80.18392652,-24.5},
{256.232939,0},
{536.3809524,25},
{772.1414862,50},
{903.0706326,75},
{964.8461591,100},
{993.3008629,125}
};
const int in = 0;
int sensor = 0;
int j;
void setup()
{
Serial.begin(9600);
}
void loop() {
sensor = analogRead(in);
Serial.print("Analog = ");
Serial.println(sensor);
uint16_t InTemp;
uint16_t RealTemp;
uint16_t InLeftTemp;
InTemp= sensor;
j=Temp1Count;
do
{
j--;
InLeftTemp=pgm_read_word(&Temp1[j][0]);
}
while ((j>=0)&&(InTemp<InLeftTemp));
uint16_t InRightTemp=pgm_read_word(&Temp1[j+1][0]);
uint16_t OutLeftTemp=pgm_read_word(&Temp1[j][1]);
uint16_t OutRightTemp=pgm_read_word(&Temp1[j+1][1]);
RealTemp=OutLeftTemp+(OutRightTemp-OutLeftTemp)*(InTemp-InLeftTemp)/(InRightTemp-InLeftTemp);
Serial.println(RealTemp);
delay(1000);
}
Выводит целые значения температуры (24 28 30).
Вопрос, можно ли сделать чтобы выводились промежуточные значения? (24,5 28,3 30,8)
Re: Arduino и температурный сенсор
Не силен я в ардуино, но по СИ
uint16_t Temp1[Temp1Count][2] PROGMEM =
{
{77.95155709,-25,}, //первое число на входе, второе температура
uint16_t = безнаковое 2х байтовое целое ( short )
как вы собираетесь в него дробное число записывать ? ( и тем более отрицательные )
если в ардуино нет плавующей точки, то придеться реализовавыть самому ( примеров в инете уйма ), если есть попробуйте заменить uint16_t на float
з.ы. что касается варианта с double ( либо его нет ) , либо функция вывода не понимает double.
Варианты решения:
1) Проверить функцию вывода, скорей всего она должна понимать double, через формат строку println ("Value = %f",temp[i] );
2) Перед выводом привести к целому. uint16_t u16 = (uint16_t)temp[i];
Re: Arduino и температурный сенсор
Arduino поддерживает тип данных с плавающей точкой
Диапазон значений — от -3.4028235E+38 до 3.4028235E+38.
Переменная типа float занимает 32 бита (4 байта) в памяти.
Пример
float myfloat;
float sensorCalbrate = 1.117;
Синтаксис
float var = val;
var - имя переменной
val - присваиваемое значение
Пример использования в коде
int x;
int y;
float z;
x = 1;
y = x / 2; // y теперь равен 0, тип int не может хранить дробные числа
z = (float)x / 2.0; // z равна 0.5 (следует использовать 2.0, а не 2)
Re: Arduino и температурный сенсор
Сделал переменную RealTemp float. Заработало:
Код:
#define Temp1Count 13
#include <avr/pgmspace.h>
uint16_t Temp1[Temp1Count][2] PROGMEM =
{
{77.95155709,-25,}, //первое число на входе, второе температура
{80.18392652,-24.5},
{132.1470136,-15},
{191.9567007,-7},
{256.232939,0},
{329.8167327,7},
{421.0667973,15},
{536.3809524,25},
{643.5181429,35},
{772.1414862,50},
{903.0706326,75},
{964.8461591,100},
{993.3008629,125}
};
const int in = 0;
int sensor = 0;
int j;
void setup()
{
Serial.begin(9600);
}
void loop() {
sensor = analogRead(in);
Serial.print("Analog = ");
Serial.println(sensor);
uint16_t InTemp;
float RealTemp;
uint16_t InLeftTemp;
InTemp= sensor;
j=Temp1Count;
do
{
j--;
InLeftTemp=pgm_read_word(&Temp1[j][0]);
}
while ((j>=0.0)&&(InTemp<InLeftTemp));
float InRightTemp=pgm_read_word(&Temp1[j+1][0]);
float OutLeftTemp=pgm_read_word(&Temp1[j][1]);
float OutRightTemp=pgm_read_word(&Temp1[j+1][1]);
RealTemp=OutLeftTemp+(OutRightTemp-OutLeftTemp)*(InTemp-InLeftTemp)/(InRightTemp-InLeftTemp);//RealTemp=(uint16_t)RealTemp;
Serial.print("temp = ");Serial.println((RealTemp));
delay(1000);
}
Всем спасибо!