Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // значения сoпртивлений для температуры.. 0 значение при -40
- const long r[] = {277200, 263600, 250100, 236800, 224000, 211500, 199600, 188100, 177300, 167000, 157200, 148100, 139400, 131300, 123700, 116600, 110000, 103700, 97900, 92500, 87430, 82790, 78440, 74360, 70530, 66920, 63540, 60340, 57330, 54500, 51820, 49280, 46890, 44620, 42480, 40450, 38530, 36700, 34970, 33330, 31770, 30250, 28820, 27450, 26160, 24940, 23770, 22670, 21620, 20630, 19680, 18780, 17120, 16350, 15620, 14930, 14260, 13630, 13040, 12470, 11920, 11410, 10910, 10450, 10000, 9575, 9170, 8784, 8416, 8064, 7730, 7410, 7106, 6815, 6538, 6273, 6020, 5778, 5548, 5327, 5117, 4915, 4723, 4539, 4363, 4195, 4034, 3880, 3733, 3592, 3457, 3328, 3204, 3086, 2972, 2863, 2759, 2659, 2564, 2472, 2384, 2299, 2218, 2141, 2066, 1994, 1926, 1860, 1796, 1735, 1677, 1621, 1567, 1515, 1465, 1417, 1371, 1326, 1284, 1243, 1203, 1165, 1128, 1093, 1059, 1027, 995, 965, 936, 908, 881, 855, 829, 805, 781, 758, 736, 752, 694, 674};
- // время между считываниями температуры
- #define DELEYTIME 100
- // сопртивление второго резистора
- #define SERIESRESISTOR 10200.0
- void setup(void)
- {
- Serial.begin(9600);
- analogReference(EXTERNAL);
- }
- // Преобразовывает сопротивление термистора в температуру
- float OmToTemp(long om)
- {
- Serial.println("Om = " + String(om));
- int i;
- for (i = 0; r[i] > om; i++);
- int b = map(om, r[i - 1], r[i], 0, 99);
- return float(i - 40) + float(b * 0.01 - 0.01);
- }
- // пребразовывает значение полученое с A пина в сопротивление термистора
- long analogToOm(int a)
- {
- Serial.println("analog = "+String(a));
- return (1023.0*SERIESRESISTOR/float(a)-SERIESRESISTOR);
- }
- // передавать номер A пина, A0 = 0, A2 = 2 и т д... (для ардуино nano)
- float getTemp(int Apin)
- {
- int pin = Apin + 14;
- return OmToTemp(analogToOm(analogRead(pin)));
- }
- void loop(void)
- {
- Serial.println("thermistor: "+String(getTemp(0)));
- delay(DELEYTIME);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement