Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Программная инженерия > Микроконтроллеры, робототехника, схемотехника, 3D принтеры
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.12.2020, 11:47   #1
VeryStupidPerson
Пользователь
 
Аватар для VeryStupidPerson
 
Регистрация: 20.07.2020
Сообщений: 69
По умолчанию Приём сигналов ардуино с пульта от квадрокоптера.

Не знает ли кто нибудь, как пульты от квадрокоптера передают информацию. (Из разряда, меняется ли канал, в зависимости от нажатой кнопки, обычный формат передаваемой информации и т.д.)
П.С. От какого квадрокоптера пульт, я не знаю.
---------------------------------------------------
Нич-чего не понимаю!
Или что-то случилось, или… одно из двух!
VeryStupidPerson вне форума Ответить с цитированием
Старый 27.12.2020, 18:06   #3
VeryStupidPerson
Пользователь
 
Аватар для VeryStupidPerson
 
Регистрация: 20.07.2020
Сообщений: 69
По умолчанию

Я коряво сформулировал вопрос, но главный смысл его заключается именно, в каком формате пульт и квадрокоптер обмениваются данными, можно ли перехватить сигнал с пульта на модуль NRFL01 (ардуино)?
---------------------------------------------------
Нич-чего не понимаю!
Или что-то случилось, или… одно из двух!
VeryStupidPerson вне форума Ответить с цитированием
Старый 27.12.2020, 19:36   #4
zvygin1964
Старожил
 
Аватар для zvygin1964
 
Регистрация: 19.06.2013
Сообщений: 2,463
По умолчанию

Модуль NRFL01 работает на частотах: 2.4GHz.,1.3GHz, 900MHz, 433MHz. ?
Интерфейс обмена данными: SPI.
Цена 247 руб./шт шикарная.

Код:
Программный код для передатчика:
#include <SPI.h>  // Подключаем библиотеку для работы с SPI-интерфейсом
#include <nRF24L01.h> // Подключаем файл конфигурации из библиотеки RF24
#include <RF24.h> // Подключаем библиотеку для работа для работы с модулем NRF24L01
#define PIN_POT A7  // Номер пина Arduino, к которому подключен потенциометр
#define PIN_CE  10  // Номер пина Arduino, к которому подключен вывод CE радиомодуля
#define PIN_CSN 9 // Номер пина Arduino, к которому подключен вывод CSN радиомодуля
RF24 radio(PIN_CE, PIN_CSN); // Создаём объект radio с указанием выводов CE и CSN
 
int potValue[1]; // Создаём массив для передачи значений потенциометра
 
void setup() {
  radio.begin();  // Инициализация модуля NRF24L01
  radio.setChannel(5); // Обмен данными будет вестись на пятом канале (2,405 ГГц)
  radio.setDataRate (RF24_1MBPS); // Скорость обмена данными 1 Мбит/сек
  radio.setPALevel(RF24_PA_HIGH); // Выбираем высокую мощность передатчика (-6dBm)
  radio.openWritingPipe(0x7878787878LL); // Открываем трубу с уникальным ID
}
 
void loop() {
  potValue[0] = analogRead(PIN_POT); // Считываем показания потенциометра
  radio.write(potValue, 1); // Отправляем считанные показания по радиоканалу
}


Программный код для приёмника:
#include <SPI.h>  // Подключаем библиотеку для работы с SPI-интерфейсом
#include <nRF24L01.h> // Подключаем файл конфигурации из библиотеки RF24
#include <RF24.h> // Подключаем библиотеку для работа для работы с модулем NRF24L01
#define PIN_LED 3  // Номер пина Arduino, к которому подключен светодиод
#define PIN_CE  10  // Номер пина Arduino, к которому подключен вывод CE радиомодуля
#define PIN_CSN 9 // Номер пина Arduino, к которому подключен вывод CSN радиомодуля
RF24 radio(PIN_CE, PIN_CSN); // Создаём объект radio с указанием выводов CE и CSN
 
int potValue[1]; // Создаём массив для приёма значений потенциометра
 
void setup() {
  pinMode(PIN_LED, OUTPUT); // Настраиваем на выход пин светодиода
  radio.begin();  // Инициализация модуля NRF24L01
  radio.setChannel(5); // Обмен данными будет вестись на пятом канале (2,405 ГГц)
  radio.setDataRate (RF24_1MBPS); // Скорость обмена данными 1 Мбит/сек
  radio.setPALevel(RF24_PA_HIGH); // Выбираем высокую мощность передатчика (-6dBm)
  radio.openReadingPipe (1, 0x7878787878LL); // Открываем трубу ID передатчика
  radio.startListening(); // Начинаем прослушивать открываемую трубу
}
 
void loop() {
  if(radio.available()){ // Если в буфер приёмника поступили данные
    radio.read(&potValue, sizeof(potValue)); // Читаем показания потенциометра
    analogWrite(PIN_LED, map(potValue[0],0,1023,0,255)); // Регулируем яркость диода
  }
}
Репутация: полный "0"

Последний раз редактировалось zvygin1964; 27.12.2020 в 22:49.
zvygin1964 вне форума Ответить с цитированием
Старый 29.12.2020, 11:37   #5
VeryStupidPerson
Пользователь
 
Аватар для VeryStupidPerson
 
Регистрация: 20.07.2020
Сообщений: 69
По умолчанию

Я же сказал:
Цитата:
можно ли перехватить сигнал с пульта на модуль NRFL01 (ардуино)?
Задача была, управлять ардуино именно через пульт от квадрокоптера. Но я не нашёл, возможно ли через данный модуль снимать все, не являющиеся шумом, сигналы на определённой частоте.
---------------------------------------------------
Нич-чего не понимаю!
Или что-то случилось, или… одно из двух!
VeryStupidPerson вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программирование математической модели квадрокоптера на С++ kpa0 Фриланс 3 01.06.2020 13:01
тест Ардуино uldin Паскаль, Turbo Pascal, PascalABC.NET 0 16.12.2018 22:47
Подсчёт пульсаций и пауз при приёме данных с ИК пульта Terran Win Api 6 21.11.2009 12:19
программf, которая демонстрирует роботу пульта дистанционного управление explo5ion Фриланс 1 24.06.2008 16:57