1.02. Лабораторная работа №1.2.md
Мигание светодиодов
Тема работы
Давайте напишем вашу первую настоящую программу для платы Рудирон! В этой лабораторной работе мы научимся управлять светодиодами, которые уже встроены в саму плату. Вы напишете простой код, который заставит два светодиода мигать попеременно, как сигнальные огни.
Цель
Научиться управлять встроенными светодиодами L1 и L2 на плате Рудирон, написав программу для их попеременного мигания. Освоить базовую структуру кода в Arduino IDE и процесс его загрузки на микроконтроллер.
Оборудование и материалы
- Отладочная плата
Рудирон. - USB-кабель (тип USB-A на USB-B) для подключения
Рудиронак компьютеру. - Компьютер с установленной средой разработки
Arduino IDE.
Ход работы
-
Знакомство с встроенными светодиодами
Прежде чем писать код, давайте найдём наши «подопытные» объекты. Внимательно посмотрите на плату
Рудирон. На ней вы увидите два небольших светодиода с маркировкойL1иL2. Это программируемые индикаторы, которыми мы можем управлять. Микроконтроллер «видит» их как цифровые выводы (пины):- Светодиод
L1подключён к пину5. - Светодиод
L2подключён к пину7.
Именно по этим номерам мы будем обращаться к ним в нашей программе.

- Светодиод
-
Настройка перемычек на плате
На плате
Рудиронесть две перемычки, которые важно правильно установить. Перемычки — это своего рода физические переключатели, которые меняют режим работы платы.- Найдите перемычку
PRG | RUN. Она отвечает за режим работы микроконтроллера:- Положение
PRG(Program). В этом режиме плата готова к приёму нового кода. - Положение
RUN(Run). В этом режиме программа, уже записанная в память, будет запускаться автоматически каждый раз при подаче питания. В режимеRUNзагрузить новый код нельзя.
- Положение
- Найдите перемычку
COM | USBи убедитесь, что она установлена в положениеCOM.
Для загрузки нашего первого кода установите перемычку
PRG | RUNв положениеPRG.
- Найдите перемычку
-
Подключение и настройка в Arduino IDE
Теперь, когда перемычки настроены, пора подключить плату к компьютеру.
- Подключите плату
Рудиронк компьютеру с помощью USB-кабеля. Убедитесь, что индикатор питания на плате загорелся. - Откройте
Arduino IDE. - В меню Tools → Board выберите
Rudiron_Buterbrod_R10_20MHz. - В меню Tools → Port выберите порт, который появился после подключения платы (например,
COM3на Windows или/dev/ttyUSB0на Linux).
- Подключите плату
-
Написание и загрузка кода
Напишем нашу первую программу! Этот код заставит светодиоды
L1иL2мигать по очереди - сначала горит один, потом другой.- В
Arduino IDEсоздайте новый скетч (File → New). -
Скопируйте и вставьте следующий код:
// Объявляем константы для пинов, к которым подключены светодиоды const int L1Pin = 5; // Светодиод L1 const int L2Pin = 7; // Светодиод L2 // Функция setup() выполняется один раз при включении платы void setup() { // Сообщаем микроконтроллеру, что оба пина будут работать на выход pinMode(L1Pin, OUTPUT); pinMode(L2Pin, OUTPUT); } // Функция loop() выполняется в бесконечном цикле void loop() { // Шаг 1: Включаем L1, выключаем L2 digitalWrite(L1Pin, 1); // Подаём напряжение на пин 5 digitalWrite(L2Pin, 0); // Снимаем напряжение с пина 7 delay(500); // Ждём полсекунды // Шаг 2: Выключаем L1, включаем L2 digitalWrite(L1Pin, 0); // Снимаем напряжение с пина 5 digitalWrite(L2Pin, 1); // Подаём напряжение на пин 7 delay(500); // Ждём ещё полсекунды } - Убедитесь, что перемычка
PRG | RUNстоит в положенииPRG. Нажмите кнопку «Upload» (стрелка вправо) вArduino IDE, чтобы загрузить код на плату. - Сразу после завершения загрузки наблюдайте за платой - светодиоды
L1иL2должны начать мигать по очереди!
- В
Важно! Режимы работы и повторная загрузка кода.
Перемычка
PRG | RUNопределяет, что сделает микроконтроллер после включения или перезагрузки:
RUN-Рудироннемедленно запустит последнюю загруженную в него программу.PRG-Рудиронперейдёт в режим ожидания и будет ждать загрузки нового кода с компьютера.После того как вы в первый раз загрузили код (с перемычкой в
PRG), программа начинает выполняться. Микроконтроллер больше не ждёт новых команд отArduino IDE.Чтобы загрузить новый или изменённый код, вам нужно перезапустить микроконтроллер, чтобы он снова перешёл в режим ожидания. Для этого:
Просто коротко нажмите кнопку
NRES(Reset) на плате.После этого
Рудиронбудет готов к приёму новой программы.

-
Задание для самостоятельной работы
Попробуйте изменить код. Что произойдёт, если вы измените значение в
delay(500)наdelay(100)? А если наdelay(1000)? Поэкспериментируйте со скоростью мигания, чтобы лучше понять, как работает ваша программа.
Результаты
После выполнения работы вы должны увидеть, как встроенные светодиоды L1 и L2 на плате Рудирон попеременно мигают: когда один загорается, другой гаснет, и наоборот. Каждый светодиод горит по 0,5 секунды. Если всё работает, поздравляем — вы только что написали и запустили свой первый осмысленный проект!
Анализ результатов
Давайте разберём, как работает магия вашего кода. В функции loop() мы последовательно даём команды - сначала включаем первый светодиод (digitalWrite(L1Pin, 1)) и одновременно выключаем второй (digitalWrite(L2Pin, 0)), ждём, а затем делаем наоборот. Этот цикл повторяется бесконечно, создавая эффект попеременного мигания. Команда delay() контролирует, как долго горит каждый светодиод, управляя ритмом.
Выводы
В этой лабораторной работе вы научились управлять встроенными светодиодами платы Рудирон, писать код в Arduino IDE и понимать, как перемычки влияют на загрузку и выполнение программы. Вы создали свой первый работающий проект, который не требовал сборки электронных схем. Теперь вы знаете, как оживить микроконтроллер силой кода!
Вопросы для самопроверки
- К каким пинам подключены встроенные светодиоды
L1иL2? - За что отвечает команда
pinMode(pin, OUTPUT)в коде? - Как изменить код, чтобы оба светодиода мигали одновременно (включались и выключались вместе)?
- Что произойдёт, если удалить обе строки с командой
delay(500)? - В каком положении должна быть перемычка
PRG | RUNдля загрузки кода? А для автоматического запуска программы при включении? - Что произойдёт, если попытаться загрузить код, когда перемычка
PRG | RUNстоит в положенииRUN?
Поздравляем, вы заставили светодиоды на плате Рудирон танцевать по вашей команде! Переходите к следующей лабораторной работе, чтобы научиться управлять яркостью светодиодов.
- Страницы
- 1. Введение
- 1.01. Лабораторная работа №1.1
- 1.02. Лабораторная работа №1.2
- 1.03. Лабораторная работа №1.3
- 1.04. Лабораторная работа №1.4
- 1.05. Лабораторная работа №1.5
- 2. Основы электроники
- 2.01. Электрический ток и параметры цепи
- 2.01.1. Лабораторная работа №2.1.1
- 2.01.2. Лабораторная работа №2.1.2
- 2.02. Сопротивление в цепи
- 2.02.1. Лабораторная работа №2.2.1
- 2.02.2. Лабораторная работа №2.2.2
- 2.03. Полупроводники
- 2.03.1. Лабораторная работа №2.3.1
- 2.03.2. Лабораторная работа №2.3.2
- 3. Основы программирование на C++
- 3.01. Типы данных и переменные
- 3.01.1. Практикум
- 3.02. Операторы в C++
- 3.02.1. Практикум
- 3.03. Структуры ветвления
- 3.03.1. Практикум
- 3.04. Структуры повторения
- 3.04.1. Практикум
- 3.05. Массивы
- 3.05.1. Практикум
- 3.06. Функции
- 3.06.1. Практикум
- 3.07. Решения задач
- 4. Программирование микроконтроллеров
- 4.01. Цифровые сигналы и GPIO
- 4.01.1. Лабораторная работа №4.1.1
- 4.01.2. Лабораторная работа №4.1.2
- 4.01.3. Лабораторная работа №4.1.3
- 4.01.4. Лабораторная работа №4.1.4
- 4.01.5. Лабораторная работа №4.1.5
- 4.01.6. Лабораторная работа №4.1.6
- 4.01.7. Лабораторная работа №4.1.7
- 4.01.8. Лабораторная работа №4.1.8
- 4.02. Аналоговые сигналы и ШИМ
- 4.02.1. Лабораторная работа №4.2.1
- 4.02.2. Лабораторная работа №4.2.2
- 4.02.3. Лабораторная работа №4.2.3
- 4.02.4. Лабораторная работа №4.2.4
- 4.02.5. Лабораторная работа №4.2.5
- 4.03. Аналоговый сигнал и АЦП
- 4.03.1. Лабораторная работа №4.3.1
- 4.03.2. Лабораторная работа №4.3.2
- 4.03.3. Лабораторная работа №4.3.3
- 4.03.4. Лабораторная работа №4.3.4
- 4.03.5. Лабораторная работа №4.3.5
- 4.04. Аналоговый сигнал и ЦАП
- 4.04.1. Лабораторная работа №4.4.1
- 4.04.2. Лабораторная работа №4.4.2
- 4.05. Генерация и измерение импульсов
- 4.05.1. Лабораторная работа №4.5.1
- 4.05.2. Лабораторная работа №4.5.2
- 4.06. Аппаратные прерывания
- 4.06.1. Лабораторная работа №4.6.1
- 4.06.2. Лабораторная работа №4.6.2
- 4.07. Псевдопараллелизм
- 4.07.1. Лабораторная работа №4.7.1
- 4.07.2. Лабораторная работа №4.7.2
- 4.08. Интерфейсы связи - UART
- 4.08.1. Лабораторная работа №4.8.1
- 4.09. Интерфейсы связи - I2C
- 4.09.1. Лабораторная работа №4.9.1
- 4.10. Интерфейсы связи - SPI
- 4.10.1. Лабораторная работа №4.10.1
- home
-
imgs
- 1. Введение
- 1.01. Лабораторная работа №1.1
- 1.02. Лабораторная работа №1.2
- 1.03. Лабораторная работа №1.3
- 1.04. Лабораторная работа №1.4
- 1.05. Лабораторная работа №1.5
- 2. Основы электроники
- 2.01. Электрический ток и параметры цепи
- 2.01.1. Лабораторная работа №2.1.1
- 2.01.2. Лабораторная работа №2.1.2
- 2.02. Сопротивление в цепи
- 2.02.1. Лабораторная работа №2.2.1
- 2.02.2. Лабораторная работа №2.2.2
- 2.03. Полупроводники
- 2.03.1. Лабораторная работа №2.3.1
- 2.03.2. Лабораторная работа №2.3.2
- 3. Основы программирование на C++
- 3.01. Типы данных и переменные
- 3.01.1. Практикум
- 3.02. Операторы в C++
- 3.02.1. Практикум
- 3.03. Структуры ветвления
- 3.03.1. Практикум
- 3.04. Структуры повторения
- 3.04.1. Практикум
- 3.05. Массивы
- 3.05.1. Практикум
- 3.06. Функции
- 3.06.1. Практикум
- 3.07. Решения задач
- 4. Программирование микроконтроллеров
- 4.01. Цифровые сигналы и GPIO
- 4.01.1. Лабораторная работа №4.1.1
- 4.01.2. Лабораторная работа №4.1.2
- 4.01.3. Лабораторная работа №4.1.3
- 4.01.4. Лабораторная работа №4.1.4
- 4.01.5. Лабораторная работа №4.1.5
- 4.01.6. Лабораторная работа №4.1.6
- 4.01.7. Лабораторная работа №4.1.7
- 4.01.8. Лабораторная работа №4.1.8
- 4.02. Аналоговые сигналы и ШИМ
- 4.02.1. Лабораторная работа №4.2.1
- 4.02.2. Лабораторная работа №4.2.2
- 4.02.3. Лабораторная работа №4.2.3
- 4.02.4. Лабораторная работа №4.2.4
- 4.02.5. Лабораторная работа №4.2.5
- 4.03. Аналоговый сигнал и АЦП
- 4.03.1. Лабораторная работа №4.3.1
- 4.03.2. Лабораторная работа №4.3.2
- 4.03.3. Лабораторная работа №4.3.3
- 4.03.4. Лабораторная работа №4.3.4
- 4.03.5. Лабораторная работа №4.3.5
- 4.04. Аналоговый сигнал и ЦАП
- 4.04.1. Лабораторная работа №4.4.1
- 4.04.2. Лабораторная работа №4.4.2
- 4.05. Генерация и измерение импульсов
- 4.05.1. Лабораторная работа №4.5.1
- 4.05.2. Лабораторная работа №4.5.2
- 4.06. Аппаратные прерывания
- 4.06.1. Лабораторная работа №4.6.1
- 4.06.2. Лабораторная работа №4.6.2
- 4.07. Псевдопараллелизм
- 4.07.1. Лабораторная работа №4.7.1
- 4.07.2. Лабораторная работа №4.7.2
- 4.08. Интерфейсы связи - UART
- 4.08.1. Лабораторная работа №4.8.1
- 4.09. Интерфейсы связи - I2C
- 4.09.1. Лабораторная работа №4.9.1
- 4.10. Интерфейсы связи - SPI
- 4.10.1. Лабораторная работа №4.10.1
- home