Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
products:laboratory_iot_c:exp32 [2024/11/15 19:07] – создано labuser30products:laboratory_iot_c:exp32 [2024/11/15 19:41] (текущий) – [Программный код эксперимента] labuser30
Строка 40: Строка 40:
  
 ==== Программный код эксперимента ==== ==== Программный код эксперимента ====
-<file python Exp32.py[enable_line_numbers="2", start_line_numbers_at="1"]> +<file arduino Exp32.ino[enable_line_numbers="2", start_line_numbers_at="1"]> 
-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()+  Serial.begin(9600);            
 +
 +  
 +void loop() {    
 +  value = analogRead(ACD_PIN); 
 +  
 +  R2 = (-R1 * value) / (value - 1023); 
 +  
 +  temp = 1 / (log(R2 / Rtnom) / Bcoef + 1/(25 + T0)) - T0; 
 +   
 +  Serial.println(temp);  
 +  delay(500);             
 +
 +</file>
  
-    R2 = (-R1 * value)/(value-1023)+В программе есть две новые для нас вещи. Первая это ключевое слово ''const'' оно делает переменную константной, т.е. ее значение нельзя будет изменить. В отличие случая, когда используется директива #define, под константную переменную будет выделено  место в памяти микроконтроллера. Вторая — новый тип ''float'', переменные этого типа имеют плавающую запятую и могут принимать значение от -3.4028235E+38 до 3.4028235E+38.
  
-    temp = 1 / (math.log(R2 / Rtnom) / Bcoef + 1/(25+T0)) -T0+Теперь программа в терминал печатает температуру в градусах по Цельсию. Ты можешь измерить температуру окружающей среды, собственного тела, воды и даже почвы в цветочном горшке. Терморезистор в водонепроницаемом нержавеющем корпусе все это легко переживет.
  
-    print(temp) +<WRAP center round info 80%> 
-    time.sleep(1) +[[https://arduino.ru/Reference/Const|Подробнее о ключевом слове const в Arduino]]
-</file>+
  
-Теперь программа в терминал печатает температуру в градусах по Цельсию. Ты можешь измерить температуру окружающей среды, собственного тела, воды и даже почвы в цветочном горшке. Терморезистор в водонепроницаемом нержавеющем корпусе все это легко переживет.+[[https://arduino.ru/Reference/Float|Подробнее о типе float в Arduino]] 
 + 
 +</WRAP>