Различия

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

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

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
products:laboratory_iot_c:exp33 [2024/11/15 20:34] – [Дополнительное задание] labuser30products:laboratory_iot_c:exp33 [2024/12/04 12:23] (текущий) – [Программный код эксперимента] labuser30
Строка 44: Строка 44:
   lcd.clear();   lcd.clear();
   lcd.print("T=");   lcd.print("T=");
-  lcd.print(temp, 4);  +  lcd.print(temp, 1);  
-  delay(500);            +  delay(1000);            
 } }
 </file> </file>
  
-К предыдущей программе добавили то, что требуется для работы с дисплеем. Подключение библиотеки дисплея, настройка дисплея и шины I2C, включение подсветки дисплея.+К предыдущей программе добавили то, что требуется для работы с дисплеем. Подключение библиотеки дисплея, настройка дисплея и включение подсветки.
  
-Температуру перед выводом на экран округляем до десятых дин знак после точки): +Перед выводом информации очищаем дисплей от старых данных. При этом курсор дисплея устанавливается в левый верхний угол. 
-<code python[enable_line_numbers="2", start_line_numbers_at="31"]> +<code arduino[enable_line_numbers="2", start_line_numbers_at="29"]> 
-    round_temp = round(temp, 1)+  lcd.clear()
 </code> </code>
  
-Перед выводом информации очищем дисплей от старых данных. При этом курсор дисплея устанавливается в левый верхний угол. +Печатаем на дисплей "T=": 
- +<code arduino[enable_line_numbers="2", start_line_numbers_at="30"]> 
-<code python[enable_line_numbers="2", start_line_numbers_at="35"]> +  lcd.print("T=");
-    lcd.clear()+
 </code> </code>
  
-Формируем строку для вывода на дисплей. Она состоит из подстроки ''"T="'' и подстроки с температурой. Оператор ''str()'' преобразует число в строку. А оператор ''+'' здесь работает не совсем так, как мы привыкли. Дело в том, что поведение этого оператора зависит от //контекста//. Когда он оказывается среди чисел, то это операция математического сложенияНо в данном случае оператор ''+'' оказался среди строк. В таком контексте этот оператор выполняет операцию //конкатенации// — склейки строк. Вот он и склеивает одну строку из двух половинок. Полученная таким образом строка передается для вывода на дисплей.+Далее выводим на дисплей температуру округляя ее до десятых (один знак после точки)За количество цифр после запятой отвечает второй аргумент функции ''lcd.print()''.  
 + 
 +<code arduino[enable_line_numbers="2", start_line_numbers_at="31"]> 
 +  lcd.print(temp, 1); 
 +</code>
  
-<code python[enable_line_numbers="2", start_line_numbers_at="36"]> +Устанавливаем частоту обновления температуры на дисплее с помощью задержки — раз в полсекунды. 
-    lcd.putstr("T=" + str(round_temp))+<code arduino[enable_line_numbers="2", start_line_numbers_at="32"]> 
 +  delay(500)
 </code> </code>
  
Строка 72: Строка 76:
 1. Измени программу, чтобы она выводила температуру с точностью до сотых. 1. Измени программу, чтобы она выводила температуру с точностью до сотых.
  
-2. Добавь символ градуса после показаний температуры. Символ градуса [[products:laboratory_iot_с:exp30|создай самостоятельно]].+2. Добавь символ градуса после показаний температуры. Символ градуса [[products:laboratory_iot_c:exp30|создай самостоятельно]].
 </WRAP> </WRAP>