NodeMCU ESP-C3-13 Kit - это плата быстрой разработки с микроконтроллером ESP32-C3 (дочерний модуль ESP-C3-13 C3FN4 с микроконтроллером ESP32-C3 и Flash памятью 4 Mbyte).
На плате ESP-C3-13 Kit установлены: RGB5050 светодиод, белый и жёлтый светодиоды и 2 кнопки (RESET и BOOT).
Рис. 1. Модуль NodeMCU ESP-C3-13 Kit
Рис. 3. Цоколёвка платы NodeMCU ESP-C3-13 Kit, со стороны ножек.
Светодиоды на плате подключены следующим образом:
№ на плате | Порт | Функция / подключение |
---|---|---|
2 | IO4 | RGB светодиод / через резистор R5 (51Ом) на GND |
3 | IO5 | RGB светодиод / через резистор R5 (51Ом) на GND |
21 | IO19 | Белый светодиод / через резистор R1 (51Ом) на GND |
22 | IO18 | Жёлтый светодиод / через резистор R1 (51Ом) на GND |
26 | IO3 | RGB светодиод / через резистор R5 (51Ом) на GND |
Табл. 1.
В следующей программе мы используем все 5 светодиодов для отсчёта времени в секундах.
import machine
from time import sleep_ms
p = (18, 19, 4, 5, 3)
pin = [machine.Pin(i, machine.Pin.OUT) for i in p]
for i in pin:
i.off()
n = 0
while True:
n += 1
if n % 5 != 0:
pin[0].on()
else:
pin[1].on()
sleep_ms(100)
pin[0].off()
pin[1].off()
if n == 10:
pin[2].on()
if n == 20:
pin[2].off()
pin[3].on()
if n == 30:
pin[2].off()
pin[3].off()
pin[4].on()
if n == 40:
pin[2].off()
pin[3].on()
pin[4].on()
if n == 50:
pin[2].on()
pin[3].on()
pin[4].on()
if n == 60:
pin[2].off()
pin[3].off()
pin[4].off()
n = 0
sleep_ms(900)
Лист. 1. Программа секундомер.
В программе листинг 1, каждую секунду мигает жёлтый светодиод, каждые пять секунд мигает белый светодиод. RGB светодиод меняет цвет каждые 10 секунд — чёрный, зелёный, синий, красный, фиолетовый, белый. Далее всё повторяется.