Добавил:
МТУСИ Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практическая работа 1 / ПР1_Мягков_БАП2201.pdf
Скачиваний:
0
Добавлен:
21.04.2026
Размер:
7.11 Mб
Скачать

Рисунок 2.12 – Горящая лампочка без (слева) и с (справа) включённой кнопкой по схеме со стягивающим резистором на ESP32

2.3 Тема 3

На рисунке 2.13 изображено стандартное последовательное подключение. Последовательное подключение, это подключение ножек разных устройств в один столбик контактов на макетной плате, т.е в один узел.

Рисунок 2.13 – Принципиальная схема подключения светодиода

На рисунке 2.14 представлена схема подключения светодиода в TinkderCAD. На рисунке 2.15 представлена схема подключения на ESP32.

Рисунок 2.14 – Схема подключения светодиода к плате Arduino UNO

19

Рисунок 2.15 – Подключение светодиода к плате ESP32

В листинге 3 представлена программа для включения/выключения светодиода для Arduino UNO и ESP32 через среду программирования Arduino IDE.

Листинг 3 – Программа для включения/выключения светодиода

// C++ code

const int LED = 8;

void setup()

{

pinMode(LED, OUTPUT);

}

void loop()

{

digitalWrite(LED, HIGH); delay(500); digitalWrite(LED, LOW); delay(500);

}

Работа программы на основе листинга 3 для esp32 показано на рисунке

2.16.

20

Рисунок 2.16 – Подключение светодиода к плате ESP32

Ключевые моменты:

– pinMode(LED, OUTPUT);

pinMode – это функция для настройки режимов портов. У портов есть 3 режима:

INPUT – настройка порта на прием сигнала/вход

OUTPUT – настройка порта на выдачу сигнала/выход

INPUT_PULLUP

Синтаксис: pinMode(<Имя или номер порта>,<Режим настройки>); Таким образом в нашей программе мы 8-му порту, который мы назвали

LED настроили режим на выдачу сигнала: на зажигание или затухание светодиода.

– digitalWrite(LED, HIGH);

digitalWrite – это функция подачи цифрового сигнала Синтаксис: digitalWrite (<Имя или номер порта>,<Режим подачи>); У этой функции есть 2 режима настройки:

HIGH – 1, true, 5 В

LOW - 0, false, 0 B

Чтобы заставить что-то работать, нужно подать питание. То есть чтобы зажечь светодиод, нам нужно подать на выход, к которому он подключён, сигнал HIGH или 5B. Соответственно, чтобы светодиод перестал гореть, питание нужно снять, т.е. подать сигнал LOW

– Delay (миллисек.) – функция задержки сигнала.

21

Итак, подключаем светодиод к 8му пину. В функции setup() задаём для светодиода параметр выхода. Поскольку со светодиода мы не можем ничего считать, а можем только вывести, то параметр OUTPUT.

Вфункции loop() с помощью digitalWrite(LED, HIGH) – подаём сигнал

ивключаем светодиод. Ждём полсекунды с помощью delay(500). С помощью digitalWrite(LED, LOW) – подаём сигнал и выключаем светодиод. Ждём полсекунды с помощью delay(500).

Плавное изменение яркости светодиода

Ранее мы с помощью цифровых пинов просто включали и выключали светодиод. То есть подавали напряжение 5 В и 0 В. Теперь же подключим светодиод к цифровому пину с поддержкой ШИМ-сигнала, чтобы выдавать напряжение не только 0 и 5, а ещё и промежуточное. В листинге 4 представлена программа для плавного изменения яркости.

Листинг 4 – Программа для плавного изменения якрости светодиода

// C++ code

const int LED = 8;

void setup()

{

pinMode(LED, OUTPUT);

}

void loop()

{

for (int i=0; i<256; i = i+1) { analogWrite(LED, i); delay(10);

}

for (int i = 255; i>=0; i = i-1) { analogWrite(LED, i);

delay(10);

}

}

Функция analogWrite() имеет два аргумента: номер контакта и 8-разряд- ное значение от 0 до 255, которое устанавливается на этом контакте. Что будет происходить со светодиодом при выполнении программы? Вы будете наблюдать, как свечение светодиода изменяется от тусклого к яркому в одном

22

Соседние файлы в папке Практическая работа 1