1.02. Лабораторная работа №1.2.md


Мигание светодиодов

Тема работы

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

Цель

Научиться управлять встроенными светодиодами L1 и L2 на плате Рудирон, написав программу для их попеременного мигания. Освоить базовую структуру кода в Arduino IDE и процесс его загрузки на микроконтроллер.

Оборудование и материалы

  • Отладочная плата Рудирон.
  • USB-кабель (тип USB-A на USB-B) для подключения Рудирона к компьютеру.
  • Компьютер с установленной средой разработки Arduino IDE.

Ход работы

  1. Знакомство с встроенными светодиодами

    Прежде чем писать код, давайте найдём наши «подопытные» объекты. Внимательно посмотрите на плату Рудирон. На ней вы увидите два небольших светодиода с маркировкой L1 и L2. Это программируемые индикаторы, которыми мы можем управлять. Микроконтроллер «видит» их как цифровые выводы (пины):

    • Светодиод L1 подключён к пину 5.
    • Светодиод L2 подключён к пину 7.

    Именно по этим номерам мы будем обращаться к ним в нашей программе.

    Рис. 1. Встроенные светодиоды на плате Рудирон

  2. Настройка перемычек на плате

    На плате Рудирон есть две перемычки, которые важно правильно установить. Перемычки — это своего рода физические переключатели, которые меняют режим работы платы.

    • Найдите перемычку PRG | RUN. Она отвечает за режим работы микроконтроллера:
      • Положение PRG (Program). В этом режиме плата готова к приёму нового кода.
      • Положение RUN (Run). В этом режиме программа, уже записанная в память, будет запускаться автоматически каждый раз при подаче питания. В режиме RUN загрузить новый код нельзя.
    • Найдите перемычку COM | USB и убедитесь, что она установлена в положение COM.

    Для загрузки нашего первого кода установите перемычку PRG | RUN в положение PRG.

    Рис. 2. Расположение перемычек на плате Рудирон

  3. Подключение и настройка в Arduino IDE

    Теперь, когда перемычки настроены, пора подключить плату к компьютеру.

    • Подключите плату Рудирон к компьютеру с помощью USB-кабеля. Убедитесь, что индикатор питания на плате загорелся.
    • Откройте Arduino IDE.
    • В меню Tools → Board выберите Rudiron_Buterbrod_R10_20MHz.
    • В меню Tools → Port выберите порт, который появился после подключения платы (например, COM3 на Windows или /dev/ttyUSB0 на Linux).
  4. Написание и загрузка кода

    Напишем нашу первую программу! Этот код заставит светодиоды 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 должны начать мигать по очереди!
  5. Задание для самостоятельной работы

    Попробуйте изменить код. Что произойдёт, если вы измените значение в delay(500) на delay(100)? А если на delay(1000)? Поэкспериментируйте со скоростью мигания, чтобы лучше понять, как работает ваша программа.

Результаты

После выполнения работы вы должны увидеть, как встроенные светодиоды L1 и L2 на плате Рудирон попеременно мигают: когда один загорается, другой гаснет, и наоборот. Каждый светодиод горит по 0,5 секунды. Если всё работает, поздравляем — вы только что написали и запустили свой первый осмысленный проект!

Анализ результатов

Давайте разберём, как работает магия вашего кода. В функции loop() мы последовательно даём команды - сначала включаем первый светодиод (digitalWrite(L1Pin, 1)) и одновременно выключаем второй (digitalWrite(L2Pin, 0)), ждём, а затем делаем наоборот. Этот цикл повторяется бесконечно, создавая эффект попеременного мигания. Команда delay() контролирует, как долго горит каждый светодиод, управляя ритмом.

Выводы

В этой лабораторной работе вы научились управлять встроенными светодиодами платы Рудирон, писать код в Arduino IDE и понимать, как перемычки влияют на загрузку и выполнение программы. Вы создали свой первый работающий проект, который не требовал сборки электронных схем. Теперь вы знаете, как оживить микроконтроллер силой кода!

Вопросы для самопроверки

  1. К каким пинам подключены встроенные светодиоды L1 и L2?
  2. За что отвечает команда pinMode(pin, OUTPUT) в коде?
  3. Как изменить код, чтобы оба светодиода мигали одновременно (включались и выключались вместе)?
  4. Что произойдёт, если удалить обе строки с командой delay(500)?
  5. В каком положении должна быть перемычка PRG | RUN для загрузки кода? А для автоматического запуска программы при включении?
  6. Что произойдёт, если попытаться загрузить код, когда перемычка PRG | RUN стоит в положении RUN?

Поздравляем, вы заставили светодиоды на плате Рудирон танцевать по вашей команде! Переходите к следующей лабораторной работе, чтобы научиться управлять яркостью светодиодов.