Урок 3. Переменные и математические операции в MicroPython.

Сегодня в уроке рассмотрим переменные и математические операции в MicroPython. Научимся попеременно включать 2 светодиода, написав всего 14 строчек кода, и оптимизируем пример из прошлого урока «мигание светодиода» до нескольких строчек кода.


Переменные в MicroPython.

Переменные в MicroPython.

MicroPython основан на Python 3, поэтому типы данных и работа с переменными будет точно такой же, как и в Python. Переменная в Python – это имя, которое используется для обозначения ячейки памяти. Переменные также известны как идентификаторы и используются для хранения значений. Более подробно изучить переменные в Python вы можете самостоятельно. Данную информацию можно легко найти в интернете.

Переменные разделяются на два типа: локальные и глобальные.

Переменные разделяются на два типа: локальные и глобальные.

Глобальные переменные можно использовать в любом месте программы, а локальные можно использовать только в определённой функции, определённом условии или цикле, в зависимости от того, где они были объявлены.

Рассмотрим пример из прошлого урока и добавим глобальную переменную delay = 0.5

import machine
import time
led = machine.Pin(2, machine.Pin.OUT)
delay = .5 # глобальная переменная
while True:
    delay = delay + 0.1
    led.value(1)
    time.sleep(delay)
    led.value(0)
    time.sleep(delay)
    srt = "delay = " # локальная переменная
    print(srt)
    print(delay)

Данную переменную можно использовать в любом месте программы. Например, в цикле, прибавляя к ней значение 0,1 и в дальнейшем использовать полученное значение как время задержки между включением и выключением светодиода. Для понимания, что получилось, значение выводим с помощью команды print(delay).

И создадим локальную строковую переменную

И создадим локальную строковую переменную srt = "delay = ", которую можно использовать только в цикле, где переменная была объявлена. Если попробовать получить значения данной переменой в другом месте, то получим ошибку. Также в консоль выводим значение переменной srt.

Запустим программу и получим в консоли следующую информацию.

Запустим программу и получим в консоли следующую информацию.

Типы данных в Python.

Давайте рассмотрим основные типы данных Python. В примере ниже приведены типы данных, которые мы будем часто использовать в уроках. Поэтому нужно знать, как создать целочисленное и дробное значение. Строковую и булеву переменную.

Типы данных в Python.

Особенностью Python является возможность в процессе выполнения программы присвоить переменной любое значение, не зависимо от того, какого типа она была объявлена. Давайте присвоим дробное число переменой, которая изначально была объявлена как целочисленное значение и выведем результат в консоль. Затем переприсвоим переменной строку и затем снова целочисленное значение. Все промежуточные значения выведем в консоль.

Особенностью Python является возможность в процессе выполнения программы присвоить переменной любое значение

Ещё одна важная операция, которая используется для объединения строк, называется Конкатенация.

Ещё одна важная операция, которая используется для объединения строк, называется Конкатенация.

Для того чтобы к строке добавить переменную, нужно использовать символ «+». Если нужно добавить к строке переменную другого типа, её необходимо перевести в строку. Для этого используется функция str(). Данную особенность нужно запомнить. В противном случае при запуске программы вы получите ошибку.

Проверим, что у нас получилось. Как видим, всё выводится.

Проверим, что у нас получилось. Как видим, всё выводится.

Математические операции в MicroPython.

Математических операций в Python много, поэтому рассмотрим только основные.

Математические операции в MicroPython.

Чтобы сложить, умножить, вычесть число используются операторы, как и в математике: +, -, *. Деление обозначается вот таким символов «/».

Математические операции можно выполнять как с переменными, так и с числами, как показано в примерах.

Математические операции можно выполнять как с переменными, так и с числами, как показано в примерах.

#Целочисленное деление (//)
print(15//2)

Целочисленное деление обозначается символом «//», и в ответ получаем целое число без учёта остатка от деления.

#Остаток от деления (%)
print(21 % 3)

Чтобы найти остаток от деления, используется оператор «%». Ответом будет остаток от делания числа. Если остатка нет, то ответ будет равен нулю.

#Возведение в степень (**)
a = 2
b = 10
print(a ** b)

И возведение в степень «**». Возведём 2 в 10 степень. Результат будет 1024.

В Python есть и другие математические операции, но их использовать будем редко.

В Python есть и другие математические операции, но их использовать будем редко.

Мигание светодиодом. Оптимизируем код.

Давайте оптимизируем код «мигание светодиодом», используя полученные знания в данном уроке.Создадим две глобальные переменные «x = True» – состояние светодиода и «delay = 0.5» - время задержки между включением и выключением светодиода.

Мигание светодиодом. Оптимизируем код.

В цикле инвертируем булеву переменную, то есть меняем значения с True на False и наоборот. Для этого используется оператор «not». Так как цикл бесконечный, данное значение будет постоянно меняться. Если переменная равна «True», то она поменяет своё значение на «False» и, если была «False», измениться на «True».

И, чтобы переменную «x» можно было использовать для включения светодиода, её нужно перевести в целочисленное значение.

И, чтобы переменную «x» можно было использовать для включения светодиода, её нужно перевести в целочисленное значение. В этом нам поможет функция int(x). В конце цикла выведем значения переменой «x», чтобы отследить работу программы.

При каждом выполнении цикла состояние светодиода меняется. И в консоли видим значение переменной «x» на данный момент.

При каждом выполнении цикла состояние светодиода меняется. И в консоли видим значение переменной «x» на данный момент.

Программу сделали немного меньше, но её можно сделать более компактной, написав всего 8 строчек кода.

 Программу сделали немного меньше, но её можно сделать более компактной, написав всего 8 строчек кода.

Домашнее задание: разобраться, как работает данный пример программы. Пишите ваши варианты в комментариях. В следующем уроке разберём ваши ответы.

Мигание двумя светодиодами на ESP32 и MicroPython.

Мигание двумя светодиодами на ESP32 и MicroPython.

Давайте подключим два внешних светодиода к ESP32 вот по такой схеме.

Давайте подключим два внешних светодиода к ESP32 вот по такой схеме.

Как видно из схемы, светодиоды подключены к 4 и 5 GPIO микроконтроллера.Возьмём предыдущий пример и на его основе реализуем задачу. Управлять будем двумя светодиодами красного и синего цвета, инициализируем pins для работы с ними.

Как видно из схемы, светодиоды подключены к 4 и 5 GPIO микроконтроллера.

Немного изменим основной цикл программы. Первым делом включим красный светодиод. Затем инвертируем переменную «x» и выключим синий светодиод. Подождём заданное количество времени. Это вся программа.

Немного изменим основной цикл программы. Первым делом включим красный светодиод. Затем инвертируем переменную «x» и выключим синий светодиод.

Почему же светодиоды включаются и выключаются поочерёдно? Всё просто, так как цикл выполняется бесконечное количество раз при повторном выполнении цикла «x = False», что приведёт к выключению красного светодиода. Затем мы инвертируем переменную «x» и тем самым включаем синий светодиод. Ждём заданное время и повторно выполняем цикл. Включаем красный, выключаем синий и так далее, бесконечное количество раз.

Таким образом получилась реализовать простую мигалку на MicroPython и ESP32.

Таким образом получилась реализовать простую мигалку на MicroPython и ESP32.

Таким образом получилась реализовать простую мигалку на MicroPython и ESP32.

Понравился Урок 3. Переменные и математические операции в MicroPython? Не забудь поделиться с друзьями в соц. сетях.

А также подписаться на наш канал на YouTube, вступить в группу Вконтакте, в группу на Facebook.

Спасибо за внимание!

Технологии начинаются с простого!

Фотографии к статье

Файлы для скачивания

Пример 1.  Переменные в MicroPython Пример 1. Переменные в MicroPython.py1 Kb 73 Скачать
Пример 2.  Типы данных в Python. Пример 2. Типы данных в Python..py1 Kb 68 Скачать
Пример 3.  Математические операции в MicroPython. Пример 3. Математические операции в MicroPython..py1 Kb 72 Скачать
Пример 4.  Мигание светодиодом. Оптимизируем код. Пример 4. Мигание светодиодом. Оптимизируем код. .py1 Kb 74 Скачать
Пример 5.  Мигание светодиодом оптимальный код Пример 5. Мигание светодиодом оптимальный код.py0 Kb 70 Скачать
Пример 6.  Мигание двумя светодиодами на ESP32 и MicroPython Пример 6. Мигание двумя светодиодами на ESP32 и MicroPython.py1 Kb 70 Скачать

Комментарии

Ваше Имя*