Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ЭКЗ ПРАКТИКА 3-й курс

.pdf
Скачиваний:
1
Добавлен:
27.06.2025
Размер:
2.27 Mб
Скачать

63.ШИМ, его команды и особенности.

ШИМ (широтно-импульсная модуляция) — это метод управления мощностью,

который используется для регулировки яркости светодиодов, скорости вращения двигателей и других задач. В Arduino ШИМ реализуется через цифровые выходы, которые поддерживают функцию PWM.

Основные команды для работы с ШИМ

1.analogWrite(pin, value): Основная команда для управления ШИМ. pin — номер пина, поддерживающего ШИМ, а value — значение от 0 до 255, где 0 — минимальная мощность, а 255 — максимальная.

2.pinMode(pin, mode): Устанавливает режим работы пина (например, OUTPUT для ШИМ).

3.delay(ms): Используется для создания пауз между изменениями ШИМ-сигнала.

Особенности ШИМ в Arduino

Частота ШИМ: Для большинства плат Arduino частота ШИМ составляет около 490 Гц, но на некоторых пинах она может быть выше (например, 980 Гц).

Совместимость пинов: Не все цифровые пины поддерживают ШИМ. Например, на

Arduino Uno это пины 3, 5, 6, 9, 10 и 11.

Разрядность: ШИМ в Arduino имеет 8-битную разрядность, что позволяет задавать 256 уровней мощности.

Применение: ШИМ используется для управления яркостью светодиодов, скоростью вращения двигателей, генерации звуковых сигналов и других задач.

64.Монитор порта,его команды и особенности.

Монитор порта

Чтобы работать с портом на стороне компьютера, понадобится монитор порта - программа, которая умеет отправлять и читать данные с COM порта. Таких программ много и подойдёт любая, но в Arduino IDE есть свой встроенный монитор порта, что очень удобно. Чтобы начать работу, нужно выбрать порт (тот же, что был выбран для загрузки прошивки) и открыть монитор:

В окне монитора порта есть несколько важных настроек:

Скорость - скорость связи. Должна совпадать со скоростью UART, установленной в программе на микроконтроллере. Обычно 9600 или 115200

Конечный символ - символ, который будет добавляться в конце текста при отправке из монитора порта

Команды и функции монитора порта

1.Serial.begin(скорость): Эта команда инициализирует последовательное соединение. Например, Serial.begin(9600) устанавливает скорость соединения на 9600 бод.

2.Serial.print(): Выводит текст или данные на монитор порта. Например,

Serial.print("Hello") напишет "Hello" в окне монитора.

3.Serial.println(): Аналогична Serial.print(), но добавляет перенос строки.

4.Serial.read(): Считывает данные, полученные через последовательное соединение. Используется для обработки входных данных.

5.Serial.available(): Проверяет, есть ли доступные данные для чтения. Возвращает количество байтов в буфере.

6.Serial.write(): Отправляет байты данных через последовательное соединение.

7.Serial.flush(): Очищает выходной буфер передачи данных.

Особенности монитора порта

Скорость передачи данных: Обе стороны (Arduino и монитор порта) должны иметь одинаковую скорость, указанную в Serial.begin().

Формат данных: Монитор порта поддерживает текстовый и бинарный форматы.

Выбор терминатора: В интерфейсе монитора порта можно указать, какой символ будет использоваться для окончания строки (например, "Нет", "Новая строка", "Возврат каретки").

Двусторонняя связь: Вы можете не только отправлять данные с платы, но и передавать команды на плату через монитор порта.

Отладка в реальном времени: Используется для просмотра значений переменных или диагностики ошибок.

65.Arduino, виды разновидности плат.

Классические Arduino

Первые официальные платы на основе устаревших МК AVR. Тем не менее, крайне приятны в работе и обучении:

ATmega328p

Arduino UNO - самая первая и самая популярная модель, идёт почти во всех наборах. Не рекомендуется к покупке, т.к. большая и неудобная для подключения

Arduino Nano - компактная и дешёвая версия UNO, на которой выведены дополнительные пины МК. Самая сбалансированная и удобная плата для большинства проектов - как для макетов, так и для пайки

Arduino Mini - компактная версия Nano без встроенного "загружатора" для пайки в проект

ATmega32U4

Arduino Leonardo - аналог UNO на чуть более современном процессоре, основная фишка - аппаратная эмуляция клавиатуры/мыши по USB

Arduino Micro - компактная версия Leonardo с теми же возможностями для USB

Arduino MEGA - плата для очень крупных проектов, имеет много пинов и памяти

Digispark - дешёвая плата на младшей серии МК - мало пинов и памяти, но есть программная эмуляция USB. Можно взять "на сдачу" - пригодится

Espressif

Платы на очень мощных и дешёвых китайских МК с огромным объёмом памяти и поддержкой WiFI (старшие модели - ещё и Bluetooth):

ESP8266

ESP-01 - сильно урезанная плата без "загружатора" с 1-2 доступными пинами, подходит для компактных проектов

Wemos D1 mini - очень удобная компактная плата, выведены все доступные пины

NodeMCU - то же самое, но выведены лишние пины - плата крупнее размером, лишние пины могут запутать

ESP32

ESP32 DevKit - плата на более мощном МК, больше памяти и пинов. Неудобно работать на макетке

ESP32-CAM - версия с цветной камерой и слотом под SD-карту на борту. Неудобно работать на макетке, нет встроенного "загружатора"

ESP32C3

Luatos - отличная компактная плата под замену Wemos Mini

XIAO - очень маленькая плата для самых компактных WiFi-проектов

Pi Pico

Недорогая и очень популярная на западе плата на мощном двухъядерном процессоре RP2040. Имеет несколько интересных особенностей, умеет программироваться на Python, хорошо показывает себя в проектах, где нужно "быстро дрыгать ногами". Для остального не имеет смысла при наличии на рынке дешёвых ESP с WiFi.

STM32

Платы на старых, но гораздо более "мощных" МК STM32. Особо не имеют смысла для работы с Arduino-фреймворком, т.к. раскрывают свои возможности именно при работе "напрямую". Не рекомендуются для знакомства с робототехникой:

BluePill (STM32F103C8T6)

BlackPill (STM32F411CE) - более производительный МК