Все способы мигания светодиодом на Arduino
Всем привет!
В этой статье я расскажу и покажу, как сделать самый первый проект на Arduino — мигание светодиодом. Рассмотрим все варианты, как можно сделать мигание светодиодом. Делать будем именно на Arduino.

1. Мигание встроенным светодиодом
Сначала рассмотрим как помигать встроенным светодиодом на плате Arduino. Это просто вариант если нечего делать :)))))
Для мигания этим светодиодом нужно указать номер пина 13, так как светодиод стоит на пине 13, либо написать константу LED_BUILTIN. Таким образом, компилятор кода сам определит, какой пин подразумевается под пином LED_BUILTIN.
Но! Здесь, чтобы включить этот светодиод, нужно подать не высокий сигнал (5В, +), а наоборот низкий (земля, -). Так как плюс к этому светодиоду уже подключен через резистор, распаянный на плате.
Скопируйте вот этот код и запрограммируйте в вашу ардуину:
void setup() { // Начинаем функцию SETUP
// Всё описанное здесь выполнится один раз после запуска платы
pinMode(LED_BUILTIN, OUTPUT); // Назначаем пин LED_BUILTIN пином для выхода сигнала
} // Завершение SETUP
void loop() { // Начинаем функцию LOOP
// Всё описанное здесь будет циклично повторяться
digitalWrite(LED_BUILTIN, LOW); // Подаём низкий сигнал на пин LED_BUILTIN
delay(1000); // Ждём 1000 миллисекунд, т.е. 1 секунду
digitalWrite(LED_BUILTIN, HIGH); // Подаём высокий сигнал на пин LED_BUILTIN
delay(1000); // Ждём 1000 миллисекунд, т.е. 1 секунду
} // Завершение LOOP
Проверяем и наслаждаемся :)))))))
2. Просто мигание внешним светодиодом

Для этой схемы вам понадобятся:
- Любая Arduino;
- Обычный светодиод на 3 вольта;
- Резистор, сопротивление от 300 до 500 Ом;
- 2 провода папа-папа;
- Любая макетная плата;
Собираем всё это по следующей схеме на картинке 1. Плюс светодиода это более длинный контакт, минус — более короткий.
Светодиод подключим на пин 3 Arduino, на котором поддерживается ШИМ, то есть плавное изменение напряжение в диапазоне от 0 до 5 вольт. Нам это потребуется для следующих вариантов мигания.
Теперь напишем код для простого мигания. Код с пояснениями можно скопировать ниже.
void setup() { // Начинаем функцию SETUP
// Всё описанное здесь выполнится один раз после запуска платы
pinMode(3, OUTPUT); // Назначаем пин 3 пином для выхода сигнала
} // Завершение SETUP
void loop() { // Начинаем функцию LOOP
// Всё описанное здесь будет циклично повторяться
digitalWrite(3, HIGH); // Подаём высокий сигнал на пин 3
delay(1000); // Ждём 1000 миллисекунд, т.е. 1 секунду
digitalWrite(3, LOW); // Подаём низкий сигнал на пин 3
delay(1000); // Ждём 1000 миллисекунд, т.е. 1 секунду
} // Завершение LOOP

После сборки схемы и прошивки платы вы увидите, что светодиод включается на 1 секунду и выключается тоже на 1 секунду. Эти два числа можно изменить в скетче в строках 9 и 11. Время пишем в миллисекундах, то есть 1 сек = 1000 мс.
Теперь с этим всё ясно, идём дальше.
3. Плавное мигание светодиодом
Теперь сделаем схему с плавным миганием светодиодом. Пересобирать схему не нужно, просто переделаем код.
void setup() { // Начинаем функцию SETUP
// Всё описанное здесь выполнится один раз после запуска платы
pinMode(3, OUTPUT); // Назначаем пин 3 пином для выхода сигнала
} // Завершение SETUP
void loop() { // Начинаем функцию LOOP
// Всё описанное здесь будет циклично повторяться
for (int i = 0; i < 255; i++){
// Цикл для постепенного увеличения яркости светодиода на протяжении 1,5 сек.
analogWrite(3, i);
delay(3);
}
for (int i = 255; i > 0; i--){
// Цикл для постепенного уменьшения яркости светодиода на протяжении 1,5 сек.
analogWrite(3, i);
delay(3);
}
} // Завершение LOOP