Что такое MicroPython и его особенности рассмотрели на вводном уроке, а на первом уроке познакомились со средой разработки Thonny Python IDE и установили прошивку на ESP32 и ESP8266. Пришло время научиться писать программы на MicroPython. В качестве первого примера чаще всего показывают мигание встроенным светодиодом на отладочной плате, поэтому и я не буду отклоняться от данной традиции. На этом уроке мы научимся мигать светодиодом на плате ESP32 и ESP8266.
И перед началом уроков давайте договоримся о том, что я не буду все примеры показывать на обоих платах ESP32 и ESP8266, так как код для них в большинстве случаев одинаковый, отличаться могут только пины подключения. Если в коде будут значительные отличия, я сделаю на этом акцент.
Для того чтобы понимать какими контактом на плате будем управлять, рассмотрим распиновку плат ESP32 и ESP8266.
На изображении серым цветом обозначены номера GPIO, которые мы будем использовать при написании кода. В большинстве случаев на плате они имеют обозначение с буквой D перед номером пина.
Более подробно про назначение контактов вы можете прочитать в статье «Распиновка ESP32, какие контакты GPIO можно использовать, а какие нет?».
С NodeMCU всё немного сложнее, так как контакты D0 - D8 не соответствуют GPIO микроконтроллера, который будем использовать.
Для того чтобы управлять контактами микроконтроллера, нужно подключить библиотеку «machine». Делается это с помощью команды:
import machine
Для тестирования все команды будем отправлять через консоль REPL.
Затем нужно инициализировать пин как выход. Для ESP32 DEVKIT V1 и NodeMCU встроенный светодиод подключен к GPIO2.
led = machine.Pin(2, machine.Pin.OUT)
Сейчас мы можем отправить команду на включение светодиода.
led.on()
Затем отправим команду на выключение светодиода.
led.off()
Используя стрелки вверх и вниз на клавиатуре можно выбрать одну из ранее введённых команд, тем самым включая и выключая светодиод.
Включить и выключить светодиод можно также выполнив следующие команды.
led.value(1) led.value(0)
Для включения светодиода отправляем значение 1, для выключения значение 0. Или True – логическая единица, False - логический ноль.
led.value(True) led.value(False)
Если вызвать данную команду «led.value()» без передачи значения, то в ответ получим логическое состояние контакта 1 или 0 (3,3В или 0).
Для того чтобы код выполнялся на микроконтроллере, нужно создать файл с кодом. Но тут есть один момент, который нужно учитывать. Если открыть проводник файлов, то увидим, что на микроконтроллере уже есть один файл «boot.py».
Он создаётся автоматически при прошивке микроконтроллера и изменять его нельзя на данном этапе обучения. Данный файл выполняется в первую очередь при подаче питания на ESP32.
Затем микроконтроллер выполняет файл «main.py». Его то мы и создадим для нашей программы.
Давайте напишем программу. Для этого подключим необходимые библиотеки: machine и time.
import machine import time
С библиотекой «machine» мы уже знакомы. Библиотека «time» понадобится для создания задержки времени между включением и выключением светодиода. Далее в коде инициализируем второй пин (GPO2) как выход.
led = machine.Pin(2, machine.Pin.OUT)
Чтобы светодиод мигал постоянно, напишем цикл, который будет выполняться бесконечное количество раз.
while True:
led.on()
time.sleep(0.5)
led.off()
time.sleep(0.5)
Так как цикл будет выполняться бесконечное количество раз, пока на микроконтроллер подаётся питание, то включение и выключение светодиода будет повторяться. Сейчас осталось сохранить код на ESP32 с названием «main.py».
В следующем уроке рассмотрим переменные и основные математические действия.
Понравился Урок 2. ESP32 MicroPython. Первая программа? Не забудь поделиться с друзьями в соц. сетях.
А также подписаться на наш канал на YouTube, вступить в группу Вконтакте, в группу на Facebook.
Спасибо за внимание!
Технологии начинаются с простого!
Фотографии к статье
Файлы для скачивания
![]() |
Программа MicroPython. Мигаем светодиодом на плате ESP32.py | 1 Kb | 507 | Скачать |
Уроки ESP32, ESP8266 на MicroPython
21 января , 2022
Комментариев:0
Файлов для скачивания:1
Фото:3
Понравилась статья? Нажми
Cлучайные товары
SIM800L GSM модуль
Arduino Mega 2560
Читайте также
Мы в соц сетях
Комментарии