Различия

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

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

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
products:laboratory_iot:exp9 [2020/05/14 12:01] labuser29products:laboratory_iot:exp9 [2024/11/12 14:31] (текущий) – [Программный код эксперимента] labuser30
Строка 16: Строка 16:
 ==== Программный код эксперимента ==== ==== Программный код эксперимента ====
  
-<file python Exp8.py[enable_line_numbers="2", start_line_numbers_at="1"]>+<file python Exp9.py[enable_line_numbers="2", start_line_numbers_at="1"]>
 from machine import Pin, PWM from machine import Pin, PWM
 import time import time
Строка 50: Строка 50:
 </code> </code>
  
-Здесь мы объявили подпрограмму с именем ''summator'' и указали, что она принимает на вход два параметра. Первый параметр будет записан в переменную ''a'', второй в переменную ''b''. Далее идет тело подпрограммы, оно выделено отступом от начала строки. В коде подпрограммы мы складываем переменные ''a'' и ''b'' и записываем результат сложения в переменную ''c''. И возвращаем полученный результат с помощью оператора ''return''+Здесь мы объявили подпрограмму с именем ''summator'' и указали, что она принимает на вход два параметра. Первый параметр будет записан в переменную ''a'', второй в переменную ''b''. Далее идет тело подпрограммы, оно выделено отступом от начала строки. В коде подпрограммы мы складываем переменные ''a'' и ''b'' и записываем результат сложения в переменную ''c''. И возвращаем полученный результат с помощью оператора ''return''.
  
-А основная программа состоит только из одной строки, в которой мы вызываем подпрограмму ''summator'', передавая ей в качестве параметров два числа - 2 и 3. Подпрограмма складывает их и полученный результат оказывается в переменной ''result''+А основная программа состоит только из одной строки, в которой мы вызываем подпрограмму ''summator'', передавая ей в качестве параметров два числа - 2 и 3. Подпрограмма складывает их и полученный результат оказывается в переменной ''result''.
  
-Подпрограммы, которые принимают параметры и возвращают результат принято называть //функциями//. В нашем эксперименте мы объявили функцию ''pulse'' она принимает в качестве параметров объект ШИМ и число— время задержки. ''pulse'' не возвращает результата.+Подпрограммы, которые принимают параметры и возвращают результат принято называть //функциями//. В нашем эксперименте мы объявили функцию ''pulse'' она принимает в качестве параметров объект ШИМ и число — время задержки. ''pulse'' не возвращает результата.
  
 Функция ''pulse'' предназначена для изменения яркости светодиода. Функция ''pulse'' предназначена для изменения яркости светодиода.
Строка 69: Строка 69:
 Сначала взглянем на оператор ''range()'', он предназначен для генерирования ряда чисел в определенном диапазоне. ''range(20)'' генерирует последовательность чисел 0, 1, 2, 3, 4 ... 19. Это будет 20 целых чисел от 0 до 19. Сначала взглянем на оператор ''range()'', он предназначен для генерирования ряда чисел в определенном диапазоне. ''range(20)'' генерирует последовательность чисел 0, 1, 2, 3, 4 ... 19. Это будет 20 целых чисел от 0 до 19.
  
-Так вот оператор ''for'' в нашем случае проходит по всем элементам этой последовательности, которую создал для него ''range(20)''. Каждый раз он берет следующий элемент последовательности, присваивает его переменной ''i'' и выполняет тело цикла. И так до тех пор, пока не сделает это со всеми элементами последовательности.+Так вот оператор ''for''в нашем случаепроходит по всем элементам этой последовательности, которую создал для него ''range(20)''. Каждый раз он берет следующий элемент последовательности, присваивает его переменной ''i''и выполняет тело цикла. И так до тех пор, пока не сделает это со всеми элементами последовательности. 
 + 
 +Получается, что в нашем случае, тело цикла будет запущено 20 раз и переменная i последовательно получит значения от 0 до 19. Шаги цикла принято называть //итерациями//. В нашем случае будет 20 итераций цикла. На каждой итерации мы будем устанавливать новую яркость светодиода. А вычислять яркость на каждой итерации мы будем по формуле в строке 13. Переменная ''i'' используется в ней для вычисления яркости. 
 + 
 +Мы не будем вдаваться в детали математики в формуле из строки 13, но обязательно дадим ссылку, где можно почитать о функциях библиотеки ''math'' подробнее, если это интересно. 
 + 
 +<WRAP center round info 60%> 
 +  * [[https://python-scripts.com/range|Подробнее об операторе range()]] 
 +  * [[https://pythonworld.ru/osnovy/cikly-for-i-while-operatory-break-i-continue-volshebnoe-slovo-else.html|Подробнее о циклах в Python]] 
 +  * [[https://python-scripts.com/math|Подробнее о библиотеке math]] 
 +</WRAP>
  
-Получается, что в нашем случае тело цикла будет запущено 20 раз и переменная i последовательно получит значения от 0 до 19. Шаги цикла принято называть //итерациями//. В нашем случае будет 20 итераций цикла. На каждой итерации мы будем устанавливать новую яркость светодиода. А вычислять яркость на каждой итерации мы будем по формуле в строке 13. Переменная ''i'' используется в ней для вычисления яркости светода.