Първа програма за ESP8266 и MicroPython Blink.py

Първа програма за ESP8266 и MicroPython Blink.py

Този скрипт, наречен blink.py, е основен пример за програма, изпълнена на микроконтролера ESP8266 с помощта на MicroPython. Основната идея е да включва и изключва светодиод (LED) в определен интервал от време. Това е класически пример, използван за запознаване с микроконтролерите и програмируемите платформи.

В този случай сме използвали платформа базирана на ESP8266 с OLED на самия борд. В тази статия: “Първа програма за ESP8266 и MicroPython Blink.py” сме планирали да използваме пин “D1/ GPIO5” за управление на LED диода. За да се запознаете с пин диаграмата (pinout) на тази платформа, разгледайте нашето ревю за нея: ESP8266 с OLED дисплей.

Скрипт blink.py

from machine import Pin
from time import sleep

led = Pin(5,Pin.OUT)

while True:
    led.value(True) # "True" може да се замени с "1"
    print("LED ON")
    sleep(1)
    led.value(False) # "False" може да се замени с "0"
    print("LED OFF")
    sleep(1)

Схема на свързване на компонентите

Схема на ESP8266 и MicroPython Blink.py

Описание на кода

Кодът започва с импортиране на необходимите модули:

from machine import Pin
from time import sleep
  • machine.Pin: Това е клас, който позволява управление на пиновете на микроконтролера. Всеки пин може да бъде настроен като вход или изход.
  • time.sleep: Функцията sleep се използва за създаване на пауза в изпълнението на програмата. Времето на паузата се задава в секунди.

Следващата стъпка е конфигуриране на пина, към който е свързан LED:

led = Pin(5,Pin.OUT)
  • Pin(5, Pin.OUT): Този ред настройва пин номер 5 на ESP8266 като изход. Това означава, че пинът ще подава напрежение, когато е активен.

В основния цикъл на програмата (while True:) се изпълнява последователност от включване и изключване на LED:

while True:
    led.value(True) # "True" може да се замени с "1"
    print("LED ON")
    sleep(1)
    led.value(False) # "False" може да се замени с "0"
    print("LED OFF")
    sleep(1)
  • led.value(True): Този ред активира пина, като подава напрежение към LED, което го включва. Вместо “True”, може да се използва и числото “1″.
  • print(“LED ON”): Това е опционален ред, който изписва в конзолата “LED ON” за по-лесно проследяване на състоянието на LED.
  • sleep(1): Програмата спира изпълнението за 1 секунда, задържайки LED включен.
  • led.value(False): Този ред деактивира пина, като спира подаването на напрежение към LED, което го изключва. Вместо “False”, може да се използва и числото “0″.
  • print(“LED OFF”): Изписва в конзолата “LED OFF” за указване, че LED е изключен.
  • sleep(1): Програмата отново спира за 1 секунда, задържайки LED изключен.

Заключение

Този прост пример демонстрира основите на работа с ESP8266 и MicroPython със скрипта Blink.py. Чрез контролиране на светодиод можем да разберем как да използваме пиновете на микроконтролера за изпращане на сигнали и изпълнение на различни задачи. Подобни основни концепции са важни при създаването на по-сложни проекти с ESP8266.

Ще завърша статията с препратка към сайт от който съм научил много за MicroPython. Това е този сайт.