Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...
История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...
Топ:
Выпускная квалификационная работа: Основная часть ВКР, как правило, состоит из двух-трех глав, каждая из которых, в свою очередь...
Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов...
Комплексной системы оценки состояния охраны труда на производственном объекте (КСОТ-П): Цели и задачи Комплексной системы оценки состояния охраны труда и определению факторов рисков по охране труда...
Интересное:
Инженерная защита территорий, зданий и сооружений от опасных геологических процессов: Изучение оползневых явлений, оценка устойчивости склонов и проектирование противооползневых сооружений — актуальнейшие задачи, стоящие перед отечественными...
Финансовый рынок и его значение в управлении денежными потоками на современном этапе: любому предприятию для расширения производства и увеличения прибыли нужны...
Средства для ингаляционного наркоза: Наркоз наступает в результате вдыхания (ингаляции) средств, которое осуществляют или с помощью маски...
Дисциплины:
2022-07-06 | 11 |
5.00
из
|
Заказать работу |
|
|
Теперь передадим данные на другой микроконтроллер, который будет находиться на борту квадрокоптера. Для этой цели будут использоваться два модуля nRF24L01. Это модули радиосвязи, работающие на частоте 2,4 ГГц и имеющие встроенную библиотеку для платформ Arduino и RaspberryPI. Модули могут передавать сигнал на расстоянии до 100 м наскорости до 2 Мб/с. Модуль взаимодействует с контроллером с помощью интерфейса SPI.
Кроме ножек питания, модуль имеет следующие выводы:
· SCK (Serial ClocK) - тактирование (синхронизация).
· MOSI / MI (Master Out Slave In) - входданных.
· MISO / MO (Master In Slave Out) - выходданных.
· CE/SS - Выбор ведомого на шине SPI из нескольких устройств.
· SCN - выбор режима приема/передача, фактически тот же CE.
· IRQ - выход прерывания,чаще всего не используется. Необходим для немедленной реакции микроконтроллера при приеме нового пакета данных.
В код для Arduinoкак на приемной, так и на передающей стороне, необходимо импортировать библиотеки SPI.h, nRF24L01.h и RF24.h, а также инициализировать несколько объектов и переменных и запустить определенные методы.
Сначала создадим объект radioкласса RF24, в качестве аргументов он принимает номера выводов Arduino, через которые идет передача данных. Далее следует объявить массив адресов типа byte, в этом массиве хранится информация о наименованиях так называемых «труб» - каналов по которым модуль производит передачу.
В функции setup нужно активировать модуль методом.begin, затем задать режим подтверждения приема на случай, если понадобится отправлять данные с борта на землю методом. Затем методомsetRetries устанавливается количество попыток передать пакет данных и время между ними. Метод enableAckPayloadразрешает отсылку данных в ответ на входящий сигнал.setPayloadSize устанавливает размер пакета в байтах, (в нашем случае 6 байт).
|
openReadingPipe включает для прослушивания «трубу» спредварительно объявленным номером Adress. setChannel используется для выбора канала в шестнадцатиричной системе счисления (можно выбрать любой, но на некоторых частотах могут присутствовать шумы) setPALevelустанавливаетуровень мощности передатчика. Аргументами могут быть RF24_PA_MIN, RF24_PA_LOW, RF24_PA_HIGH или RF24_PA_MAX. Метод setDataRateпозволяет выбрать максимальную скорость обмена информацией. Выбираем 250 кбит/с, так как при небольшой скорости передачи наблюдается максимальная чувствительность и дальность. Метод powerUp сигнализирует о начале работы модуля. Так же для приемника необходимо прописать метод startListening, а для передатчика - stopListening.
Код для передачи и приема так же прост, как и в случае с серийным портом: для передачи используется метод writeобъекта radio, а для приема - метод read. Далее в приемнике можно вывести каждую полученную величину на вывод, поддерживающий широтно-импульсную модуляцию и направить непосредственно на входы полетного контроллера.
В прил. 1 приведен полный код программы для распознавания жестов, в прил. 2 - код программы для передатчика и приемника на платформе Arduino.
Заключение
Результатом работы сталоустройство, способноепередавать на полетный контроллер квадрокоптера сигнал, базирующийся на информацииполученной на основе анализа положения руки в пространстве и характера жеста. Устройство является прототипом, и его реализация требует существенной доработки. По мере продвижения в разработке, на каждом шаге приобретались новые знания и каждый шаг алгоритма, с высоты приобретенного опыта, безусловно, следует оптимизировать.
В первую очередь следует добавить в программу распознавания жестов систему распознавания объекта по цвету, чтобы повысить помехоустойчивость, а также улучшить алгоритмы фильтрации и сделать управление оперативной памятью более рациональным. В перспективе следуетмодернизировать программу для распознавания новых, более сложных жестов и оптимизировать распознавание уже имеющихся.
Тем не менее, устройство имеет реальные перспективы развития и использования в практических целях.
Разработка устройства потребовала навыки в областях радиофизики, программирования, обработки сигналов, робототехники, электроники и аэродинамики.
|
|
Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...
Типы оградительных сооружений в морском порту: По расположению оградительных сооружений в плане различают волноломы, обе оконечности...
История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...
Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!