Пишем Hello World (Blink) для платы быстрой разработки NodeMCU ESP-C3-13 Kit (ESP-C3-32S Kit). NodeMCU ESP-C3-13 Kit - это плата с микроконтроллером ESP32-C3 (дочерний модуль ESP-C3-13 C3FN4 с памятью 4 Mbyte).
Прежде чем написать программу, рассмотрим схему подключения светодиодов на плате NodeMCU ESP-C3-13 Kit (ESP-C3-32S Kit).
Рис. 1. Схема подключения белого и жёлтого светодиодов на плате NodeMCU ESP-C3-13 Kit.
На схеме рис. 1, светодиод LED3 жёлтого цвета, а светодиод LED2 белого цвета. Рабочее напряжение жёлтых светодиодов ~ 2В, а белых светодиодов ~ 3В.
Рис. 2. Питание светодиодов LED2, LED3 на плате NodeMCU ESP-C3-13 Kit (ESP-C3-32S Kit).
Схема | Напряжение GND - A |
Напряжение GND - B |
Напряжение GND - C |
Напряжение C -A |
Напряжение C -B |
Ток |
Состояние LED2 |
Состояние |
---|---|---|---|---|---|---|---|---|
1) | 0В | 3,3В | 1,3В | -1,3В | 2В | 0,025А | Не горит | Горит |
2) | 3,3В | 0В | 0,3В | 3В | -0,3В | 0,006А | Горит | Не горит |
3) | 3,3В | 3,3В | 1,3В | 2В | 2В | 0,025А | Не горит | Горит |
Табл. 1.
Вывод: Светодиоды LED3 жёлтого цвета и светодиод LED2 белого цвета одновременно гореть не могут.
В программе на C++ для Arduino IDE будем мигать жёлтым светодиодом LED3, подключённым к IO18. Белый светодиод LED2, подключённый к IO19 горит по умолчанию и используется на плате ESP-C3-13 Kit (ESP-C3-32S Kit) как индикатор питания. Так как светодиоды LED3 и LED2 одновременно гореть не могут, при зажигании жёлтого светодиода, белый должен гаснуть.
const int LED = 18;
bool ledState = true;
void setup() {
pinMode(LED, OUTPUT);
}
void loop() {
digitalWrite(LED, ledState);
delay(500);
ledState = not(ledState);
}
Лист. 1. Программа Blink для ESP-C3-13 Kit (ESP-C3-32S Kit).
Выше приведённые аргументы, так же, влияют на работу программы Fading:
const int LED = 18;
void setup() {
pinMode(LED, OUTPUT);
}
void loop() {
for (int i = -16; i < 17; i++) {
analogWrite(LED, i * i - 1);
delay(75);
}
}
Лист. 2. Программа Fading для ESP-C3-13 Kit (ESP-C3-32S Kit).
void setup()
{
//setup on pin 18, channel 0 with frequency 312500 Hz
sigmaDeltaSetup(18, 0, 312500);
}
void loop()
{
static uint8_t i = 0;
sigmaDeltaWrite(0, i++); // i переполнится при 256
delay(20);
}
Лист. 3. Программа SigmaDelta для ESP-C3-13 Kit (ESP-C3-32S Kit).