4.01.1. Лабораторная работа №4.1.1.md
Мигание внешним светодиодом
Тема работы
В этой лабораторной работе мы сделаем то, с чего начинают все инженеры и программисты в мире микроконтроллеров — заставим светодиод мигать! Мы подключим внешний светодиод к плате Рудирон
и напишем простую программу, которая будет им управлять.
Цель
- Научиться физически подключать внешние компоненты (
светодиод
,резистор
) кGPIO
пинам платыРудирон
. - Закрепить использование команд
pinMode()
иdigitalWrite()
для управления цифровым выходом. - Написать и загрузить свою первую программу для управления внешним устройством.
Оборудование и материалы
- Отладочная плата
Рудирон
. - Макетная плата.
- 1 светодиод (любого цвета).
- 1 резистор номиналом 220 Ом.
- 2 соединительных провода.
- USB-кабель для подключения
Рудирона
к компьютеру. - Компьютер с настроенной средой
Arduino IDE
.
Ход работы
-
Сборка схемы
Сначала соберём нашу простую электронную схему. Мы подключим светодиод к пину 5 платы
Рудирон
. Этот пин выбран не случайно — к нему также подключён встроенный светодиодL1
, поэтому они будут мигать синхронно!- Вставьте светодиод в макетную плату. Помните о полярности: длинная ножка (анод) — это «+», короткая (катод) — это «−».
- Подключите резистор. Один вывод резистора (220 Ом) соедините с короткой ножкой светодиода (катодом). Резистор нужен, чтобы ограничить
силу тока
и защитить светодиод от перегорания. - Соедините с
Рудироном
:- Длинную ножку светодиода (анод) с помощью провода подключите к пину 5 на плате
Рудирон
. - Второй вывод резистора с помощью другого провода подключите к пину
GND
(земля) на платеРудирон
.
- Длинную ножку светодиода (анод) с помощью провода подключите к пину 5 на плате
-
Настройка перемычек и подключение к ПК
Подготовим плату к загрузке кода:
- Установите перемычку
PRG | RUN
в положениеPRG
. - Подключите
Рудирон
к компьютеру с помощью USB-кабеля. - В
Arduino IDE
выберите вашу плату (Rudiron_Buterbrod_R10_20MHz
) и правильный COM-порт.
- Установите перемычку
-
Написание и загрузка кода
Теперь напишем программу, которая будет включать и выключать наш светодиод.
-
Откройте
Arduino IDE
и введите следующий код:// Назначаем пину 5 понятное имя - ledPin const int ledPin = 5; // Эта функция выполняется один раз при старте void setup() { // Настраиваем пин 5 на работу в режиме ВЫХОДА (OUTPUT) pinMode(ledPin, OUTPUT); } // Эта функция выполняется в бесконечном цикле void loop() { digitalWrite(ledPin, HIGH); // Включаем светодиод (подаём 3.3 В) delay(1000); // Ждём одну секунду digitalWrite(ledPin, LOW); // Выключаем светодиод (подаём 0 В) delay(1000); // Ждём ещё одну секунду }
- Нажмите кнопку «Upload» (стрелка вправо), чтобы загрузить код на плату.
-
-
Наблюдение за результатом
Сразу после загрузки ваш внешний светодиод на макетной плате, а также встроенный светодиод
L1
на платеРудирон
, начнут синхронно мигать: секунду горят, секунду не горят.
Результаты
Вы успешно собрали свою первую электронную схему и написали для неё программу. Вы увидели прямую связь между командами в коде (digitalWrite
, delay
) и физическим поведением устройства (миганием светодиода).
Анализ результатов
- Команда
pinMode(ledPin, OUTPUT)
вsetup()
«сообщила» микроконтроллеру, что пин 5 будет использоваться для отправки сигналов, а не для их приёма. - Внутри
loop()
командаdigitalWrite(ledPin, HIGH)
подаёт на пин 5 напряжение 3.3 В, зажигая светодиод. digitalWrite(ledPin, LOW)
отключает напряжение, и светодиод гаснет.delay(1000)
создаёт паузу в 1000 миллисекунд (1 секунду), чтобы мы могли увидеть изменение состояния.
Выводы
В этой лабораторной работе вы научились управлять внешним компонентом с помощью кода, поняли назначение резистора в цепи со светодиодом и закрепили процесс загрузки программы на плату Рудирон
.
Вопросы для самопроверки
- Какая команда настраивает пин на работу в режиме выхода?
- Что произойдёт, если в команде
delay()
указать значение100
вместо1000
? - Зачем в схеме нужен резистор? Что может случиться со светодиодом, если его не использовать?
- Можно ли подключить светодиод к другому цифровому пину, например, к пину 6? Что для этого нужно изменить в коде?
- Как изменить программу, чтобы светодиод подавал сигнал SOS (три короткие вспышки, три длинные, три короткие)?
Поздравляем с первым успешным проектом! Вы готовы двигаться дальше. Переходите к следующей лабораторной работе, чтобы научиться не только отправлять, но и получать сигналы с помощью кнопок.
- Страницы
- 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