#1Новичок

Мигающий светодиод

4.6(188)
1127 собрано
Мигающий светодиод
Самое первое «привет» в электронике: включение и выключение одного светодиода. Arduino включает и выключает светодиод через короткие промежутки, поэтому свет быстро мигает. Ты самым простым способом видишь, как плата управляет светом, и закладываешь основу для всех следующих проектов.

Видео

Схема

Мигающий светодиод - Circuit

Исходный код

C++ (Arduino IDE)
1// ─────────────────────────────────────────
2//   BlueGrays · bluegrays.com
3//   Мигающий светодиод
4// ─────────────────────────────────────────
5// Мигает одним светодиодом каждые 100 мс. Показывает базовое использование
6// функций digitalWrite и delay.
7//
8// Пины:
9//   D9 -> Светодиод (с резистором 220 ohm)
10
11void setup() {
12  pinMode(9,OUTPUT);     // Пин светодиода как выход
13}
14
15void loop() {
16  digitalWrite(9,HIGH);  // Включить светодиод
17  delay(100);            // Ждать 100 мс (1000 мс = 1 с)
18  digitalWrite(9,LOW);   // Выключить светодиод
19  delay(100);
20}
21

Частые вопросы

Почему светодиод нельзя подключать без резистора?

Светодиод сам не ограничивает свой ток; при прямом подключении к 5 V он потребляет слишком большой ток, что может повредить и светодиод, и пин Arduino. Резистор 220 Ω ограничивает ток примерно до 13–15 mA, а это безопасно и для светодиода, и для пина.

Какой вывод светодиода — плюс (+)?

Длинная ножка — анод (+), короткая — катод (−). Сторона корпуса светодиода с плоским срезом тоже указывает на катод. Подключи анод к пину Arduino (через резистор), а катод — к GND; если перепутать, светодиод не загорится, но и не повредится.

Код загружен, но светодиод не горит. Что проверить?

Проверь по очереди: не вставлен ли светодиод наоборот? Совпадает ли номер пина в коде и в схеме? Есть ли подключение к GND? Стоят ли светодиод и резистор в одном ряду макетной платы? Светодиод «L» на плате тоже подключён к пину 13; можно сначала попробовать его через LED_BUILTIN.

Как изменить скорость мигания?

Значение внутри `delay()` задаётся в миллисекундах: `delay(1000)` ждёт одну секунду. Уменьшишь значение — светодиод будет мигать быстрее, увеличишь — медленнее. Длительности включения и выключения можно задать и по отдельности.