MicroPython и ESP32-C3 OLED: Първата ни програма

След като успешно сме свалили, инсталирали и конфигурирали MicroPython за ESP32-C3 с OLED дисплей, е време да напишем и стартираме нашата първа програма. Традиционно, първата програма, която се пише, е “blink.py”, която кара светодиод да мига. В нашия случай, ще използваме външен LED диод, който ще закачим на един от дигиталните пинове на процесора. 

Преди да запознаем с програмата която ще напишем ние трябва да направим платформата върху която ще тестваме кода. Използвали сме Fritzing за показване на схемното решение.

Схема на платформата:

MicroPython и ESP32-C3 OLED: Първата ни програма “blink.py”

from machine import Pin
from time import sleep

led = Pin(21, Pin.OUT)

while True:
    led.value(1) # или led.value(True)
    sleep(1)
    led.value(0) # или led.value(False)
    sleep(1)

Ред по ред обяснение на кода

Ред първи – from machine import Pin

Тук импортираме класa Pin от модула machine, който ни позволява да управляваме GPIO пиновете на платката. Това е необходимo за настройка и контрол на хардуерните пинове.

Ред втори – from time import sleep

Импортираме функцията sleep от модула time, която ще използваме за въвеждане на забавяне между включванията и изключванията на LED.

Ред четвърти – led = Pin(21, Pin.OUT)

Тук създаваме обект led, който представя GPIO пин 21, настроен като изходен (OUTPUT). В този случай използваме пин 21, който е свързан с вградения LED на платката ESP32-C3.

Ред шести и следващи – while True:

Тази част на кода създава безкраен цикъл, който ще изпълнява включването и изключването на LED непрекъснато.

Ред седми – led.value(1)

Използваме метода value на обекта led, за да зададем логическо ниво 1 (високо ниво, 3.3V), което ще включи LED. Можем също така и да използваме “True” и така израза придобива този вид: “led.value(True)”

Ред осми – sleep(1)

Функцията sleep(1) въвежда забавяне от 1 секунда, за да държи LED включен за това време.

Ред девети – led.value(0)

Следващата команда задава логическо ниво 0 (ниско ниво, 0V) на пин 21, което изключва LED. Както в предишния израз, тук можем да използваме “False” и така израза придобива този вид: “led.value(False)”

Ред десети – sleep(1)

Отново използваме sleep(1), за да задържим LED изключен за 1 секунда, преди цикълът да започне отново.

Допълнителни ресурси

  • Официална документация на MicroPython: Научете повече за функциите и възможностите на MicroPython от официалния сайт.
  • ESP32-C3 OLED схема и пинове: Разгледайте подробната схема на пиновете за тази платка.
  • Примерни проекти: Разгледайте различни проекти, изградени с ESP32-C3 OLED в нашата секция ESP32.

Видео презентация:

ESP32-C3-OLED MicroPython Blik.py

Заключение

С това завършва нашата първа програма за ESP32-C3 OLED с MicroPython. Макар и проста, тази програма ни показва основните принципи на управление на хардуер чрез програмен код. Тя също така ни дава основа за по-сложни проекти в бъдеще, където ще можем да управляваме по-сложни устройства и сензори.