Файл: Учебные пособия и связанные с ними файлы. Пожалуйста, начните с этого руководства в формате pdf.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 18.01.2024

Просмотров: 253

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

СОДЕРЖАНИЕ

Знание компонентов

Знание кода

скетч

скетч

скетч

Знание схемы

скетч

Знание кода ПрерыватьПрерывание — это реакция контроллера на событие. Событие, вызывающее прерывание, является источником прерывания. Мы проиллюстрируем концепцию прерывания. Например, предположим, что вы смотрите телевизор, в то время как в вашей кухне нагревается вода, тогда вам нужно время от времени проверять, кипит ли вода или нет, поэтому вы не можете сосредоточиться на просмотре телевизора. Но если у вас есть прерывание, все будет по-другому. Прерывание может работать как предупреждающееустройство для вашего чайника, который подаст звуковой сигнал, когда вода вот-вот закипит. Поэтому до того, как вода закипит, вы можете сосредоточиться на просмотре телевизора, пока не раздастся звуковой сигнал.Преимущества прерывания здесь: процессору не нужно время от времени проверять, произошло ли событие, но когда событие происходит, он немедленно информирует контроллер. Когда происходит прерывание, процессор переходит к функции прерывания для обработки событий прерывания, затем возвращается туда, где произошло прерывание после его завершения, и продолжает эту программу.Основная программаInterrupt event Программа прерывания Событие прерыванияПрервать событиеСхемаТо же самое с предыдущим разделом. скетч Receive_Data_through_Serial_Port Получение данных через последовательный портТеперь напишите код для получения символов из окна Serial Monitor и отправьте его обратно. В функции setup() мы инициализируем последовательный порт. Затем функция loop() будет постоянно определять, есть ли данные для чтения. Если это так, он прочитает символ и отправит его обратно.

скетч

Знание компонентов

скетч

скетч

скетч

Глава 6 Светодиод RGB

скетч

скетч

Глава 7 LEDPixel

Знание кода



Прерывать

Прерывание это реакция контроллера на событие. Событие, вызывающее прерывание, является источником прерывания. Мы проиллюстрируем концепцию прерывания. Например, предположим, что вы смотрите телевизор, в то время как в вашей кухне нагревается вода, тогда вам нужно время от времени проверять, кипит ли вода или нет, поэтому вы не можете сосредоточиться на просмотре телевизора. Но если у вас есть прерывание, все будет по-другому. Прерывание может работать как предупреждающее

устройство для вашего чайника, который подаст звуковой сигнал, когда вода вот-вот закипит. Поэтому до того, как вода закипит, вы можете сосредоточиться на просмотре телевизора, пока не раздастся звуковой сигнал.

Преимущества прерывания здесь: процессору не нужно время от времени проверять, произошло ли событие, но когда событие происходит, он немедленно информирует контроллер. Когда происходит прерывание, процессор переходит к функции прерывания для обработки событий прерывания, затем возвращается туда, где произошло прерывание после его завершения, и продолжает эту программу.
Основная программа

Interrupt event

Программа прерывания


Событие прерывания




Прервать событие


Схема
То же самое с предыдущим разделом.

скетч



Receive_Data_through_Serial_Port

Получение данных через последовательный порт

Теперь напишите код для получения символов из окна Serial Monitor и отправьте его обратно.


В функции setup() мы инициализируем последовательный порт. Затем функция loop() будет постоянно определять, есть ли данные для чтения. Если это так, он прочитает символ и отправит его обратно.

Серийный класс




Serial. available (): возвращает байты данных, которые необходимо прочитать через последовательный порт;
Serial.read(): возвращает 1 байт данных, которые необходимо прочитать через последовательный порт.


Проверьте и загрузите код, откройте Serial Monitor, напишите символ в области отправки, нажмите кнопку «Отправить», после чего вы увидите информацию, возвращенную с платы управления.



тип символа




Переменная типа char может представлять символ, но не может хранить символы напрямую. Он хранит числа для

замены символов. char занимает 1-байтовую область хранения и использует значение 0-127, чтобы соответствовать 128 символам. Соответствующее отношение между числом и символом регулируется таблицей ASCII. Дополнительные сведения о таблице ASCII см. в приложении к этой книге.

Пример: Определите символьные переменные aChar = 'a', bChar = 'b', тогда десятичное значение aChar будет 97, bChar будет 48.


Receive_Data_through_Serial_Port

Когда последовательный порт получает данные, он может инициировать событие прерывания и входит в функцию обработки прерывания. Теперь мы используем прерывание для получения информации из окна Serial Monitor и отправки ее обратно. Чтобы проиллюстрировать, что прерывание не влияет на работу программы, мы будем постоянно посылать меняющееся число в функцию loop().


Функция void serialEvent() здесь является функцией прерывания последовательного порта. Когда последовательный порт получает данные, процессор переходит

к этой функции и возвращается туда, где произошло прерывание, чтобы продолжить после выполнения. Таким образом, работа функции loop() не затрагивается.
Проверьте и загрузите код, откройте Serial Monitor, после чего вы увидите число, постоянно отправляемое с платы управления. Заполните символы в области отправки и нажмите кнопку «Отправить», после чего вы увидите строку, возвращенную с панели управления.


Мы будем использовать последовательный порт на плате управления для управления одним светодиодом.

Список компонентов


Плата управления x1


USB-кабель x1



Совет по проектам Freenove



Знание схемы
Сначала давайте узнаем, как использовать схему, чтобы заставить светодиод излучать разную яркость света,
ШИМ

ШИМ, широтно-импульсная модуляция, является очень эффективным методом использования цифровых сигналов для управления аналоговыми цепями. Цифровые процессоры не могут напрямую выводить аналоговые сигналы. Технология PWM позволяет очень удобно выполнять это преобразование (преобразование цифровых сигналов в аналоговые).
Технология PWM использует
цифровые контакты для отправки определенных частот прямоугольных сигналов, то есть вывода высоких уровней и низких уровней, которые попеременно длятся некоторое время. Общее время для каждого набора высоких и низких уровней обычно фиксировано и называется периодом (примечание: величина, обратная периоду, равна частоте). Время выходных сигналов высокого уровня обычно называют «шириной импульса», а рабочий цикл представляет собой процент отношения длительности импульса или ширины импульса (PW) к общему периоду (T) сигнала.
Чем дольше длится вывод высоких уровней, тем дольше будет рабочий цикл и тем выше будет соответствующее напряжение в аналоговом сигнале. На следующих рисунках показано, как напряжения аналоговых сигналов изменяются в диапазоне 0–5 В (высокий уровень 5 В), что соответствует ширине импульса 0–100 %:


Чем длиннее рабочий цикл ШИМ, тем выше будет выходная мощность. Теперь, когда мы понимаем эту взаимосвязь, мы можем использовать ШИМ для управления яркостью светодиода или скоростью двигателя постоянного тока и так далее.
Схема
Здесь мы будем использовать контакт 6 на плате управления для управления одним светодиодом.

скетч


Application_of_Serial



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

Серийный класс




Serial.parseInt(): получить число типа int в качестве возвращаемого значения.

ограничение (х, а, б)




Ограничьте x между a и b, если x верните a; если x>b, вернуть b.

AnalogWrite(вывод, значение)




Среда разработки Arduino IDE предоставляет функцию AnalogWrite(pin, value), которая позволяет портам напрямую выводить волны ШИМ. Только цифровой контакт, отмеченный символом «» на плате управления, может использовать эту функцию для вывода сигналов ШИМ. В функции с именем AnalogWrite(pin, value) параметр «pin» указывает порт, используемый для вывода волны PWM. Диапазон значений составляет 0-255, что соответствует рабочему циклу от 0% до 100%.

Чтобы использовать эту функцию, нам нужно установить порт в режим вывода.

Проверьте и загрузите код, откройте Serial Monitor, введите число в диапазоне от 0 до 255 в область отправки и нажмите кнопку

«Отправить». Затем вы увидите информацию, возвращенную с платы управления, в то время как