Перейти к содержанию

Мигание светодиодом на Ардуино (мигалка)

Мигание светодиодом на Ардуино

Мигающий светодиод на Arduino Uno — это один из первых примеров для новичков, которые начинают изучать программирование платы Arduino. Рассмотрим несколько примеров скетчей: мигание встроенного светодиода, мигающий светодиод без функции delay, мигание нескольких светодиодов (мигалка Ардуино). Прочитав статью до конца, вы поймете, как управлять включением светодиодов, подключенных к Ардуино.

Необходимые компоненты:

  • Arduino Uno / Arduino Nano / Arduino Mega
  • светодиоды и резисторы
  • макетная плата
  • коннекторы

Дополнительные материалы на эту тему:

  1. Плавное включение и выключение светодиода
  2. Поочередное включение светодиодов на Ардуино
  3. Включение светодиода от кнопки на Ардуино

Все платы из семейства Arduino имеют встроенный светодиод, подключенный к цифровому выводу 13 через резистор. Этот светодиод на микроконтроллере мигает при включении или при перезагрузке платы. С помощью простого кода можно управлять включением и выключением встроенным светодиодом на плате Ардуино, который «висит» на пине 13. Для этого даже не потребуется собирать электрическую схему маячка на макетной плате.

Маячок Ардуино: мигание светодиодом на плате

Мигание встроенным светодиодом на плате Arduino

Для первого примера вам не нужно собирать основную схему. Программный код такой же, как в примере «Подключение светодиода к Ардуино». Встроенный светодиод подключен через резистор, поэтому вы можете подключить внешний светодиод напрямую к контакту GND и пину 13. Это самая простая программа для начала работы с Arduino. Скопируйте код, размещенный далее, и загрузите его в микроконтроллер через утилиту Arduino IDE.

Скетч мигающего светодиода на плате Ардуино


#define LED 13

void setup() {
  pinMode(LED, OUTPUT); 
}

void loop() {
  digitalWrite(LED, HIGH);
  delay(1000);
 
  digitalWrite(LED, LOW);
  delay(1000);
}

Мигание светодиодом Ардуино без функции delay

Мигание светодиодом Ардуино без delay

В программе используется функция millis Ardunio, которая возвращает количество миллисекунд, прошедших с момента запуска программы. Это позволяет использовать микроконтроллеры Ардуино в многозадачном режиме, так как millis не останавливает выполнение команд в коде, в отличие от функции delay. Микроконтроллер отсчитывает заданные миллисекунды и может выполнять другие важные задачи параллельно.

Скетч Arduino мигание светодиодом без delay

#define LED 13

unsigned long currentTime;
boolean ledState = 0;

void setup() {
  pinMode(LED, OUTPUT);
}

void loop() {
  if (millis() - currentTime > 500) {
     currentTime = millis();
     ledState=!ledState;
     digitalWrite(LED, ledState);
  }
}

Мигалка на Ардуино: мигание двумя светодиодами

Мигалка на Ардуино: мигание двумя светодиодами

Для следующего примера вам потребуется собрать схему на макетной плате с двумя светодиодами, как показано на изображении выше. Более сложной программой с мигающими светодиодами является программа для светофора на Arduino, где необходимо управлять включением и выключением трех и более светодиодов. После сборки электрической схемы загрузите в микроконтроллер следующую программу для мигалки.

Скетч для включения и выключения двух светодиодов

#define RED 13
#define BLU 12

void setup() {
  pinMode(RED, OUTPUT);
  pinMode(BLU, OUTPUT);
}

void loop() {
  digitalWrite(RED, HIGH);
  digitalWrite(BLU, LOW);
  delay(1000);

  digitalWrite(RED, LOW);
  digitalWrite(BLU, HIGH);
  delay(1000);
}

Заключение. Мы рассмотрели в статье, как сделать мигающий светодиод / лампочку на Arduino Uno (маячок). Вы можете использовать для этих целей функцию millis или функцию delay. Если у вас остались вопросы по этой теме, не стесняйтесь оставлять их в комментариях к этому обзору. Мы постараемся ответить на все вопросы, как только получим их. Желаем вам успехов в освоении языка программирования Arduino!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

newzaym
➜