---
title: "🔴 Индикатор загрузки программы Ardiuno"
date: 2023-02-24T19:06:07+03:00
draft: false
tags: [arduino, tips]
---

Написал простую функцию, которая моргает встроенным светодиодом,
когда ардуинка запускается.

Функцию `init_blink()` необходимо использовать в цикле `setup()`,
потому что в ней используется функция `delay()`,
вызов которой в `loop()` может негативно повлиять на выполнямый код.

```c
void init_blink(int times) {
    for (int count = 0; count < times; count++) {
        digitalWrite(LED_BUILTIN, HIGH);
        delay(200);
        digitalWrite(LED_BUILTIN, LOW);
        delay(200);
    }
}
```

Функция имеет один аргумент `times`, который принимает цисловое значение.

Он отвечает за количество морганий свотодиодом при вызове функции.

Использовать функцию нужно так:

```c
void setup() {
    // код инициализации

    init_blink(5);
}
```

Светодиод моргает каждые 200 милисекунд.

### Изменить время между зажиганием светодиода

Чтобы изменить время моргания светодиодом, можно изменить значение
в функции `delay()`, а можно сделать это более элегатно, добавив аргумет.

```c
void init_blink(int times, int delay_time) {
    for (int count = 0; count < times; count++) {
        digitalWrite(LED_BUILTIN, HIGH);
        delay(delay_time);
        digitalWrite(LED_BUILTIN, LOW);
        delay(delay_time);
    }
}
```

Использовать функцию так:

```c
void setup() {
    // код инициализации

    init_blink(5, 200);
}
```
