Blog/content/posts/2023/arduino/running-indicator.md

67 lines
2.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
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);
}
```