Показаны различия между двумя версиями страницы.
Следующая версия | Предыдущая версия | ||
products:laboratory_iot_c:exp32 [2024/11/15 19:07] – создано labuser30 | products:laboratory_iot_c:exp32 [2024/11/15 19:41] (текущий) – [Программный код эксперимента] labuser30 | ||
---|---|---|---|
Строка 40: | Строка 40: | ||
==== Программный код эксперимента ==== | ==== Программный код эксперимента ==== | ||
- | < | + | < |
- | from machine import Pin | + | #define ACD_PIN A0 |
- | import time | + | |
- | import math | + | |
- | _init() | + | |
- | Bcoef = 3950 | + | const int Bcoef = 3950; |
- | R1 = 10000 | + | const int R1 = 10000; |
- | Rtnom = 10000 | + | const int Rtnom = 10000; |
- | T0 = 273.15 | + | const float T0 = 273.15; |
- | adc = machine.ADC(0) | + | int value = 0; |
+ | float R2 = 0.0; | ||
+ | float temp = 0.0; | ||
- | while True: | + | void setup() { |
- | value = adc.read() | + | |
+ | } | ||
+ | |||
+ | void loop() { | ||
+ | | ||
+ | |||
+ | R2 = (-R1 * value) / (value - 1023); | ||
+ | |||
+ | temp = 1 / (log(R2 / Rtnom) / Bcoef + 1/(25 + T0)) - T0; | ||
+ | |||
+ | Serial.println(temp); | ||
+ | delay(500); | ||
+ | } | ||
+ | </ | ||
- | R2 = (-R1 * value)/ | + | В программе есть две новые для нас вещи. Первая это ключевое слово '' |
- | temp = 1 / (math.log(R2 / Rtnom) / Bcoef + 1/(25+T0)) -T0 | + | Теперь программа в терминал печатает температуру в градусах по Цельсию. Ты можешь измерить температуру окружающей среды, собственного тела, воды и даже почвы в цветочном горшке. Терморезистор в водонепроницаемом нержавеющем корпусе все это легко переживет. |
- | print(temp) | + | <WRAP center round info 80%> |
- | time.sleep(1) | + | [[https:// |
- | </file> | + | |
- | Теперь программа в терминал печатает температуру в градусах по Цельсию. Ты можешь измерить температуру окружающей среды, собственного тела, воды и даже почвы в цветочном горшке. Терморезистор в водонепроницаемом нержавеющем корпусе все это легко переживет. | + | [[https:// |
+ | |||
+ | </ | ||