Курс повышения квалификации
Курс повышения квалификации
Курс профессиональной переподготовки
Видеолекция
1 слайд
Основы программирования БЛА.
Короваев Николай Сергеевич, учитель технологии
Щёлково, 2022
2 слайд
Основные модули Пионера
Процессор: ARM® Cortex® M4, 168 МГц, 32-Bit
Системы позиционирования: акселерометр, гироскоп, барометр
Диапазон входных напряжений: 2S, 3S
Возможность загрузки полетных скриптов прямо на плату
4 RGB светодиода
2
Плата управления
3 слайд
Основные модули Пионера
Модуль позволяет соединяться с Пионером по Wi-Fi и писать управляющие программы на языке Python
3
Модуль ESP32
4 слайд
Основные модули Пионера
Программируемая камера OpenMV
Протокол соединения - UART
Макс. разрешение - 640×480: 75 fps — 8 бит.
Возможность программирования
4
ВСЕРОССИЙСКИЙ КОНКУРС «КАДРЫ ДЛЯ ЦИФРОВОЙ ПРОМЫШЛЕННОСТИ.
СОЗДАНИЕ ЗАКОНЧЕННЫХ ПРОЕКТНО-КОНСТРУКТОРСКИХ РЕШЕНИЙ В РЕЖИМЕ СОРЕВНОВАНИЙ «КИБЕРДРОМ»
Устанавливаемые камеры
Камера RunCam Hybrid для FPV полетов
Разрешение основной камеры - 8 МП
Разрешение аналоговой камеры - 1,3 МП
Разрешение видео основной камеры - 4К: 30 fps; 2,7К: 60 fps; 1080p: 120 fps
5 слайд
Основные модули Пионера
Модуль захвата грузов
Протокол соединения - UART
Макс. разрешение - 640×480: 75 fps — 8 бит.
Возможность программирования
5
Устанавливаемые камеры
LED модуль
Разрешение основной камеры - 8 МП
Разрешение аналоговой камеры - 1,3 МП
Разрешение видео основной камеры - 4К: 30 fps; 2,7К: 60 fps; 1080p: 120 fps
6 слайд
Программирование
Для выполнения автономных полетов управляющую программу можно написать на языке LUA, Python, а также с помощью блочного программирования.
Программа может включать в себя:
взаимодействие с модулями, представленными ранее;
управление полетом: взлет, посадка, полет в точку (LPS, OPT, GPS).
6
Введение
7 слайд
Программирование на LUA
7
Структура программы
Объявление периферии (пульт, магнит, светодиоды)
Объявление исполняемых функций
Объявление обработчика событий АП
Объявлении таймеров
8 слайд
Программирование на LUA
Класс для работы со светодиодами:
8
Работа со светодиодами
Функции класса:
new(count) – создать новый Ledbar с заданным количеством сетодиодов
set(num, r, g, b) – установить цвет на заданный светодиод
9 слайд
Программирование на LUA
Класс для работы с GPIO:
9
Работа GPIO
Функции класса:
new(port, pin, mode) - Cоздать GPIO на порте
set - установить значение в 1;
reset - установить значение в 0.
10 слайд
Программирование на LUA
Класс для работы с UART:
10
Работа с UART
Функции класса:
new(num, rate, parity, stopBits) - создать Uart на порте с настройками.
read(size) - прочитать size байт.
write(data, size) - записать данные (data) длиной (size).
bytesToRead() - количество данных доступных для чтения.
setBaudRate(rate) - установить скорость rate.
11 слайд
Программирование на LUA
Класс для работы с SPI:
11
Работа SPI
Функции класса:
new(num, rate, seq, mode) - создать Spi на порте с настройками.
read(size) - прочитать size байт.
write(data, size) - записать данные (data) длиной (size).
exchange(data, size) - Записать данные (data) длиной (size) и прочитать size.
12 слайд
Программирование на LUA
Класс для работы с таймерами:
12
Работа с таймерами
Функции класса:
new(sec, func) - cоздать новый Timer.
start() - запуcкает таймер.
stop() - останавливает таймер.
callAt(local_time, func) - создает и запускает новый Timer с функцией, которая будет вызвана один раз.
callLater(delay, func) - создает и запускает новый Timer с функцией, которая будет вызвана один раз.
callAtGlobal(global_time, func) - создает и запускает новый Timer с функцией, которая будет вызвана один раз.
13 слайд
Программирование на LUA
Класс для работы с АП:
13
Работа с данными АП
Функции класса:
lpsPosition() - возвращает значение позиции при использовании LPS. Результат: x, y, z
lpsVelocity() - возвращает значение скоростей при использовании LPS. Результат: vx, vy, vz
lpsYaw() - получить значение угла. Результат: yaw
orientation() - данные положения. Результат: roll, pitch, azimuth
altitude() - данные высоты по барометру. Результат: высота в метрах
range() - данные с датчиков расстояния. Результат: возвращает значения с датчика расстояния.
accel() - данные с акселерометра. Результат: ax, ay, az
gyro() - данные с гироскопа. Результат: gx, gy, gz
rc() - данные с пульта управления. Результат: channel1, channel2, channel3, channel4, channel5, channel6, channel7, channel8.
14 слайд
Программирование на LUA
14
Получение событий АП
15 слайд
Программирование на LUA
15
Получение событий АП
Данную функцию необходимо объявлять каждый раз самому и прописывать ее функционал. Функция каждый раз будет вызываться сама и не нужно ее вызвать самим!
16 слайд
Программирование на LUA
Класс для работы с АП:
16
Отправление событий АП
Функции класса:
ap.push(Event) - добавить событие автопилоту.
ap.goToPoint(latitude, longitude, altitude) - для полета с использованием GPS.
ap.goToLocalPoint(x, y, z, time) - для полёта с использованием локальной системы координат.
ap.updateYaw(angle) - установить рыскание.
17 слайд
Программирование на LUA
Таблица отправляемых событий:
17
Отправление событий АП
18 слайд
Программирование на LUA
Пример отправки событий АП:
18
Отправление событий АП
19 слайд
Блочное программирование
Комбинация нужных блоков позволяет создать управляющую программу на языке LUA.
19
Введение
20 слайд
Блочное программирование
20
Обзор блоков
21 слайд
Блочное программирование
21
Обзор блоков
22 слайд
Блочное программирование
22
Обзор блоков
6 184 743 материала в базе
«Технология. Технический труд. 5–7 классы (в 3-х частях)», Казакевич В.М., Молева Г.А.
§ 3. Конструкторский этап
Больше материалов по этой темеНастоящий материал опубликован пользователем Короваев Николай Сергеевич. Инфоурок является информационным посредником и предоставляет пользователям возможность размещать на сайте методические материалы. Всю ответственность за опубликованные материалы, содержащиеся в них сведения, а также за соблюдение авторских прав несут пользователи, загрузившие материал на сайт
Если Вы считаете, что материал нарушает авторские права либо по каким-то другим причинам должен быть удален с сайта, Вы можете оставить жалобу на материал.
Удалить материалВаша скидка на курсы
40%Кадровый учет в программе «1С Зарплата и управление персоналом 8.3»
Корпоративные конфликты: механизмы, как не загубить бизнес
Актуальные вопросы оказания паллиативной помощи: качество коммуникативного воздействия
Оставьте свой комментарий
Авторизуйтесь, чтобы задавать вопросы.