След като успешно сме свалили, инсталирали и конфигурирали MicroPython за ESP32-C3 с OLED дисплей, е време да напишем и стартираме нашата първа програма. Традиционно, първата програма, която се пише, е “blink.py”, която кара светодиод да мига. В нашия случай, ще използваме външен LED диод, който ще закачим на един от дигиталните пинове на процесора.
Преди да запознаем с програмата която ще напишем ние трябва да направим платформата върху която ще тестваме кода. Използвали сме Fritzing за показване на схемното решение.
Схема на платформата:
![ESP32-C3-OLED-Breadboard](http://ardudevelop.eu/wp-content/uploads/2024/07/ESP32-C3-OLED-Breadboard.png)
![ESP32-C3-LED-Схема](http://ardudevelop.eu/wp-content/uploads/2024/07/ESP32-C3-LED-1.png)
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. Макар и проста, тази програма ни показва основните принципи на управление на хардуер чрез програмен код. Тя също така ни дава основа за по-сложни проекти в бъдеще, където ще можем да управляваме по-сложни устройства и сензори.