|

Все способы мигания светодиодом на Arduino

Всем привет!

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

Встроенный светодиод на плате Arduino обычно обозначен буквой «L»

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. Просто мигание внешним светодиодом

Картинка 1. Схема подключения светодиода для мигания.

Для этой схемы вам понадобятся:

  1. Любая Arduino;
  2. Обычный светодиод на 3 вольта;
  3. Резистор, сопротивление от 300 до 500 Ом;
  4. 2 провода папа-папа;
  5. Любая макетная плата;

Собираем всё это по следующей схеме на картинке 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

Оцени!


Поделись!