roboforum.ru

Технический форум по робототехнике.
Текущее время: 28 фев 2025, 02:01

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 13 ] 
Автор Сообщение
 Заголовок сообщения: Режим управления роботом через пульт от вертолета
СообщениеДобавлено: 17 мар 2014, 14:59 
Не в сети

Зарегистрирован: 11 мар 2014, 15:26
Сообщения: 4
Всем привет!!! Нужен код для меги 2560 (nRF24L01 будет в роботе) Пульт от верта имеет 2.4ГГц значит он должен подойти для управления.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Режим управления роботом через пульт от вертолета
СообщениеДобавлено: 17 мар 2014, 17:51 
Не в сети
скрытый хозяин вселенной :)
Аватара пользователя

Зарегистрирован: 18 сен 2006, 12:26
Сообщения: 18018
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич
пульт никому ничего не должен )))

ищи в гугле код для nRF24L01, сканируй команды пульта вертолёта, расшифровывай, и будет тебе управление с пульта

_________________
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Режим управления роботом через пульт от вертолета
СообщениеДобавлено: 17 мар 2014, 20:39 
Не в сети
Аватара пользователя

Зарегистрирован: 18 апр 2009, 22:18
Сообщения: 10668
совсем недавно один человек писал, что раз 2.4ггц, значит вайфай. :) в данном случае аналогичная железная логика


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Режим управления роботом через пульт от вертолета
СообщениеДобавлено: 17 мар 2014, 21:46 
Не в сети
Аватара пользователя

Зарегистрирован: 23 апр 2009, 17:03
Сообщения: 2639
Откуда: Москва, Самара
прог. языки: C#
Вообще-то если есть пульт, то должен быть приемник. Приемник будет?
Или раз 2.4ггц но можно ставить все что угодно?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Режим управления роботом через пульт от вертолета
СообщениеДобавлено: 17 мар 2014, 22:43 
Не в сети

Зарегистрирован: 11 мар 2014, 15:26
Сообщения: 4
nRF24L01 - приемник, пульт передатчик. А как код расшифровать коды пульта?

Добавлено спустя 3 минуты 29 секунд:
Вот нашел http://playground.arduino.cc/Interfacin ... ydAVE1WGUk

Добавлено спустя 8 минут:
вот еще нашел передатчик
Код: Выделить всё
#include <nrf24l01p.h>
#include <SPI.h>

enum
{
SPI_SS_PIN = 10,
NRF_CE_PIN = 9,

NRF_CHANNEL = 120,
NRF_POWER_UP_DELAY = 2,
NRF_PAYLOAD_LENGTH = 16
};

const char test_data[] = "TestPayload";

void setup()
{
SPI.begin();

pinMode(SPI_SS_PIN, OUTPUT);
digitalWrite(SPI_SS_PIN, HIGH);

pinMode(NRF_CE_PIN, OUTPUT);
digitalWrite(NRF_CE_PIN, LOW);

uint8_t address[5] = { 0xE2, 0xE4, 0x23, 0xE4, 0x02 };
nrf_init(address);

Serial.begin(57600);
Serial.println("Init");
}

void loop()
{
delay(500);

Serial.print("Trying to send packet...");

static uint8_t payload[NRF_PAYLOAD_LENGTH];
strcpy((char*)payload, test_data);
nrf24l01p_write_tx_payload(payload, sizeof(payload));

digitalWrite(NRF_CE_PIN, HIGH);
delay(1);
digitalWrite(NRF_CE_PIN, LOW);

do {} while (!(nrf24l01p_get_irq_flags() & (1 << NRF24L01P_IRQ_TX_DS)));
nrf24l01p_clear_irq_flag(NRF24L01P_IRQ_TX_DS);
Serial.println(" done");
}

void nrf_init(uint8_t *address)
{
delay(200);

nrf24l01p_get_clear_irq_flags();
nrf24l01p_close_pipe(NRF24L01P_ALL);
nrf24l01p_open_pipe(NRF24L01P_TX, false);
nrf24l01p_set_rx_payload_width(NRF24L01P_PIPE0, NRF_PAYLOAD_LENGTH);
nrf24l01p_set_crc_mode(NRF24L01P_CRC_16BIT);
nrf24l01p_set_address_width(NRF24L01P_AW_5BYTES);
nrf24l01p_set_address(NRF24L01P_TX, address);
nrf24l01p_set_operation_mode(NRF24L01P_PTX);
nrf24l01p_set_rf_channel(NRF_CHANNEL);

nrf24l01p_set_power_mode(NRF24L01P_PWR_UP);
delay(NRF_POWER_UP_DELAY);
}

void nrf24l01p_spi_ss(nrf24l01p_spi_ss_level_t level)
{
digitalWrite(SPI_SS_PIN, (level == NRF24L01P_SPI_SS_LOW ? LOW : HIGH));
}

uint8_t nrf24l01p_spi_rw(uint8_t value)
{
return SPI.transfer(value);
}

приёмник
Код: Выделить всё
#include <nrf24l01p.h>
#include <SPI.h>

enum
{
SPI_SS_PIN = 10,
NRF_CE_PIN = 9,

NRF_CHANNEL = 120,
NRF_POWER_UP_DELAY = 2,
NRF_PAYLOAD_LENGTH = 16
};

void setup()
{
SPI.begin();

pinMode(SPI_SS_PIN, OUTPUT);
digitalWrite(SPI_SS_PIN, HIGH);

pinMode(NRF_CE_PIN, OUTPUT);
digitalWrite(NRF_CE_PIN, HIGH);

uint8_t address[5] = { 0xE2, 0xE4, 0x23, 0xE4, 0x02 };
nrf_init(address);

Serial.begin(57600);
Serial.println("Init");
}

void loop()
{
Serial.println("Waiting for a packet...");

do {} while (!(nrf24l01p_get_irq_flags() & (1 << NRF24L01P_IRQ_RX_DR)));
nrf24l01p_clear_irq_flag(NRF24L01P_IRQ_RX_DR);

static char payload[NRF_PAYLOAD_LENGTH];
nrf24l01p_read_rx_payload((uint8_t*)payload);//, sizeof(payload));

Serial.print(">>");
Serial.println(payload);
}

void nrf_init(uint8_t *address)
{
delay(100);

nrf24l01p_get_clear_irq_flags();
nrf24l01p_close_pipe(NRF24L01P_ALL);
nrf24l01p_open_pipe(NRF24L01P_PIPE0, false);
nrf24l01p_set_crc_mode(NRF24L01P_CRC_16BIT);
nrf24l01p_set_address_width(NRF24L01P_AW_5BYTES);
nrf24l01p_set_address(NRF24L01P_PIPE0, address);
nrf24l01p_set_operation_mode(NRF24L01P_PRX);
nrf24l01p_set_rx_payload_width(NRF24L01P_PIPE0, NRF_PAYLOAD_LENGTH);
nrf24l01p_set_rf_channel(NRF_CHANNEL);

nrf24l01p_set_power_mode(NRF24L01P_PWR_UP);
delay(NRF_POWER_UP_DELAY);
}

void nrf24l01p_spi_ss(nrf24l01p_spi_ss_level_t level)
{


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Режим управления роботом через пульт от вертолета
СообщениеДобавлено: 17 мар 2014, 22:54 
Не в сети
Аватара пользователя

Зарегистрирован: 18 апр 2009, 22:18
Сообщения: 10668
чую тяжко вам будет это всё сделать.
то, что к плате с мегой2560 у вас будет подключен модуль трансивера на nfr24l01 это понятно. с пультом не очень понятно. уточните, он "2.4ггц и икс его знает на каком чипе" или в нём трансивер из nrf24... серии? второй момент про "А как код расшифровать коды пульта?". вопрос вроде простой, только пока такое обьяснять просто не имеет смысла - можно сединой обзавестись. попрограммируйте немного эти трансиверы, тогда хоть о чём-то более предметно можно говорить. куски кода вам давать пока смысла не очень много, для вас они будут китайской грамотой.
п.с. для кода есть тег [code][/code]. кликните по кнопке "правка" и попробуйте приведенный код в этот тег обвернуть. :wink: от этого как минимум на странице не будет длинющих сообщений.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Режим управления роботом через пульт от вертолета
СообщениеДобавлено: 17 мар 2014, 23:00 
Не в сети
скрытый хозяин вселенной :)
Аватара пользователя

Зарегистрирован: 18 сен 2006, 12:26
Сообщения: 18018
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич
что то мне подсказывает что задачку автор темы выбрал пока что непосильную для себя...

_________________
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Режим управления роботом через пульт от вертолета
СообщениеДобавлено: 17 мар 2014, 23:09 
Не в сети
Аватара пользователя

Зарегистрирован: 18 апр 2009, 22:18
Сообщения: 10668
с наскоку точно не получится, а потянет или нет уже имхо от tc зависит


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Режим управления роботом через пульт от вертолета
СообщениеДобавлено: 17 мар 2014, 23:12 
Не в сети

Зарегистрирован: 11 мар 2014, 15:26
Сообщения: 4
плата в пульте 2.4ггц lt8900 xn120b2.4g


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Режим управления роботом через пульт от вертолета
СообщениеДобавлено: 18 мар 2014, 10:09 
Не в сети

Зарегистрирован: 16 май 2013, 09:26
Сообщения: 174
Откуда: Moscow
прог. языки: декларативные
nRF24L01 для этого пульта не подойдет
Вероятно А7105 подойдет


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Режим управления роботом через пульт от вертолета
СообщениеДобавлено: 18 мар 2014, 10:15 
Не в сети
Аватара пользователя

Зарегистрирован: 18 апр 2009, 22:18
Сообщения: 10668
какая там плата в пульте значения не имеет. если на ней трансивер lt8900, так возвращаемся к вопросу о железной логике про 2.4ггц. в общем пока похоже, что у вас 2 абсолютно не совместимых трансивера, т.е. думайте, что дальше делать будете.

Добавлено спустя 3 минуты 22 секунды:
a7105 и lt8900 вряд ли совместимы.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Режим управления роботом через пульт от вертолета
СообщениеДобавлено: 18 мар 2014, 14:43 
Не в сети

Зарегистрирован: 11 мар 2014, 15:26
Сообщения: 4
А если использовать корпус (pad, кнопки и т.д.) от пульта и поменять там схему с таким же датчиком nRF24L01) Кто ниб. знает печатку платы ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Режим управления роботом через пульт от вертолета
СообщениеДобавлено: 18 мар 2014, 14:53 
Не в сети
скрытый хозяин вселенной :)
Аватара пользователя

Зарегистрирован: 18 сен 2006, 12:26
Сообщения: 18018
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич
думаешь все телепатически знают от чего и какой у тебя пульт из миллиона разных пультов?
хотя это даже и не важно, учитывая что знаний у тебя пока что недостаточно, а задачу ты выбрал достаточно сложную.

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

_________________
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 13 ] 

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Bing [Bot] и гости: 0


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO