nrf24l01 возможности!? Прошу совета!

CV_UA
Offline
Зарегистрирован: 20.08.2013

Купил несколько arduin nano и nrf24l01, пробивал связать, нажал кнопку на одном - на другой андуине засветился светодиод, супер, все работает. Сам еще новичек.

Дорогие форумчани, прошу совета и разъеснения по след. вопросам:

1. Можно через 1 передатчик отправлять  на 10 и более приемников  данные одновремено?

(хочу сделать пиропульт, тобто с пульта отправляю даные, если определеный приемник видит свои даные то дает команду выходы ард., ) 

2. Если возможен пункт №1, то если ли возможность организовать обратную связь на передатчик, чтоб было видно какой приемник на связи?

3. Или как можно организовать правильно сам процес по другому?? 

 

Looka
Offline
Зарегистрирован: 24.04.2012

а что такое  ".... пиропульт ....."   да и дальше как то не порусски и не понтно что хотите

А по другому, всетаки,  парная.    Могу ошибаться но там передача считается чочтаявшейся когда пришел ответ что все ок,принял.  

CV_UA
Offline
Зарегистрирован: 20.08.2013

Пиропульт - Пиротехнический пульт, тобто на пульте есть кнопки запуска салюта (передатчик) на приемниках через реле - подключены воспламенители.

Возможно ли через передатчик отправлять в эфир масив данных,  на 10 и больше приемников?

 

NeiroN
NeiroN аватар
Offline
Зарегистрирован: 15.06.2013

можно на дублирующихся приемниках просто приемные и передающие коды одинаковые выставить. А при обработке команды(и при включении) просто посылать идентификатор индивидуальный для каждого приемника - типа "R2", "R3". просто каждый приемник дожен выловить из него свою инфу: "R3=ON,R2=OFF,R6=OFF"

вначале разделить по "," потом по "=" если "R3" совпало с запрограммированным ид то установить стостояние по "ON" или "OFF". тоесть чтобы код работал даже если пришла посылка "R4=ON" - включился только "R4", остальные приняли, обработали не нашли своих ИД и остались как есть.

CV_UA
Offline
Зарегистрирован: 20.08.2013

Тобто я так понимаю что можно больше 6ти приемников использовать. 

я для начала брал урок 

http://www.youtube.com/watch?v=iJJVj9kgS-A

Полагаю что если на приемника одинаковые коды приема передачи оставлю, а только изменю обработку информации через "if", того что будет идти в эфир то все должно заработать??

проверил бы, но купил ток 2 радиомодуля...

Можно по подробнее как организовать ответ на передатчик, информацию о приемниках которые на связи?

NeiroN
NeiroN аватар
Offline
Зарегистрирован: 15.06.2013

Нужно разработать протокол Чтобы можно было "пинговать" конкретный приемник - послал в эфир команду запроса состояния - все приняли, один ответил - если это для него. Я привел пример. Скорее всего придется использовать класс String и функции IndexOf()

toc
Offline
Зарегистрирован: 09.02.2013

Приёмники могут просто раз в 5 секунд сообщать хозяину "я жив и на связи".

toc
Offline
Зарегистрирован: 09.02.2013

>> приемник дожен выловить из него свою инфу: "R3=ON,R2=OFF,R6=OFF"

возиться со строками на микроконтроллерах нецелесообразно, по моему скромному мнению. В такой задаче сообщение должно быть бинарным и компактным.

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

Народ ну что вы ведетесь на развод то?

Дима под разными никами бегает по темам и создает всякие посты в которых отвечает ссылками на свои видео с "уроками"..

Лешак, дружище, вычисти этого диму с его рекламой и уроками нафиг с форума... потрать минут 20, будь добр.. ибо утомил ужо..

он там на платах даже стабилизатор напряжения где то разглядел... интересно он знает как выглядит стабилизатор напряжения?

гони его в шею

CV_UA
Offline
Зарегистрирован: 20.08.2013

Уважаемый, вообщето меня звать Александр, я родом с города Черновцы, Украина,

Кинул ссылку так как по тому уроку хоть чтото понятно. 

На то он форум чтоб спрашивать, интересоваться, а тут у вас так все "сухо" расказиваеться, что чесно аж противно.

Почитал другую ветку форума где 7 страниц про nrf24, то там ток пару человек чтото нормально толкуют другие кинуться заумными терминами, не понятными для новичка(как я), и трепляться про других что они пиаряться..

Пускай пиарятся, но хоть уроки толковые, я вчера на тех уроках совместил NRF24+арду+дисплей+джойтик. Хотя все купил мение недели назад, и не програмист по профилю.

А тут на форуме создай тему с просьбой о помощи, 1 человек ответи нормально, 2е будут вонять....

leshak
Offline
Зарегистрирован: 29.09.2011

CV_UA пишет:

Уважаемый, вообщето меня звать Александр, я родом с города Черновцы, Украина,

Кинул ссылку так как по тому уроку хоть чтото понятно. 

Понимаете Александр. Ваша ссылка - как бы нормально выглядит. Просто немного утомил этот "учитель-димка". Вот уже и кидаются как "на тряпку".

Вы обратите внимание как вы "дали ссылку" и что делает он. Вы.. ответили по теме. Дали ссылочку "если кто хочет - может посмотреть детальней". Вообщем вы "поддерживали беседу". Ваша ссылка не была "как сдрасте". В конце концов - это "ваша" ветка. Если вы нашли где-то на стороне ответ который вам помог и подсказали что "есть такое" - ну хорошо.

Что делает димка?  Он берет. Находит поиском слов ИК и  nrf24l01 и во все подобные ветки:

1. Кидает свои 5-ть скетчей не глядя, на то соотвествуют они тому о чем идет речь или нет.
2. Приправляет их 30% абсолютно, откровенной SEO-шным текстом. Который не "для Людей", а "побольше ключевых слов для рейтинга в поисковиках".
3. На вопросы не отвечает, либо отвечает "односложно" и... ПОВТОРЯЕТ тут же, в эту же ветку свои пять скетчей, плюс еще больше СЕО-шного текста.
4. Заводить отдельную ветку в разделе проекты и рассказывать там о своих подвигах - не хочет. Лезет именно в чужие со своим "давайте сделаем вместе МОЙ проект".

Вы считаете это нормальным поведением? Вы думаете что хотя-бы дубликаты не нужно было потереть?  (обратите внимание, пока, его даже не банили. Даже тексты вытирались только которые "дубликаты" в одной и той же ветке). Межветковые дубликаты - пока не трогались.

Вы вправду хотите чему-то учится у этого человека? (вопрос риторический. если хотите - ради бога).

 

CV_UA пишет:

Пускай пиарятся, но хоть уроки толковые, я вчера на тех уроках совместил NRF24+арду+дисплей+джойтик. Хотя все купил мение недели назад, и не програмист по профилю.

Простите, но уроки - бестолковые. Более того в чем-то даже вредные. Просто не хочется заниматся их "критиканством" именно потому что "будет некрасиво выглядить". Я лучше буду помогать в той форме в которой я могу и считаю правильным (возможно тоже не идеально). А там - пусть каждый выбирает для себя.

Более того, я обычно советую, по любой теме читать сразу нескольких авторов в любом случае. Что-то у одного понятней, что-то у другого. Что у первого "непонятно", зато после чтения второго - начал понимать первого и нашел у него то что не объяснено у второго :)

Вообщем я не согласен с "его уроками". Но... это его право как делать ЕГО уроки и ваше право пользоватся ими или нет. Весь негатив - от того как он продвигает свои уроки. Вообщем - не любят спамеров нигде. Какой-бы "товар" они не продвигали.

Посмотрите как ведут себя ребята, скажем из "ассоциации робототехники". Завели веточку себе. Постят туда регулярно предолжения, описание мероприятий, дают ссылочки.... кому интерестно - спрашивают. смотрят, кто не интересуется - проходит мимо. Все прилично, не навязчиво.

Посмотрите как ведет себя carduino.ru (можно сказать в чем-то "конкурент-магазин"). Иногда просто поможет человеку, иногда когда это нунжно спрашивающему - дает ссылку на свой сайт. Но ведь дает когда это нужно "спрашивающему", а не "мне хочется свою ссылку впихнуть". И что?  Вы видели что-бы кто-то за это его упрекал?

Я тоже - иногда даю ссылку на свой блог. Если "вот как раз вчера разбирал вопрос который тут спросили". Тоже, что-то не видел что-бы это кого-то возмущало.

А уж сколько я сам дал ссылок на, скажем easyelectronics.ru - уже и не припомню. А ведь тоже, как бы "сторонний ресурс". Только там действительно - "толковые уроки" :) И действительно часто легче послать туда чем объяснять с нуля.

 

 

 

leshak
Offline
Зарегистрирован: 29.09.2011

2CV_UA: Вы уж простите, еще чуть-чуть пофлужу в вашей теме :). Просто зацепили за больное.

Вы правы по поводу " тут у вас так все "сухо" расказиваеться". Это действительно проблема. "Опытному" зачастую действительно трудно понять "новичка". Не каждый может догадатся "что же тут непонятного". Плюс сама область - заставляет вырабатывать "жестко-формализированное" мышление. Вот и получается "сухо".

Поэтому - я, обычно,  сам призываю новичков "делится с другими. Действительно "новичок" иногда может лучше помочь другому новичку. Именно потому что хорошо помнит что у самого пару дней назад вызывало трудности понимания. К тому же, при объяснении, еще лучше сам в вопросе разберется :)

Если бы он начал проект как-то "вот я новичок, давайте вместе пройдем этот путь" - не было бы вопросов. Думаю и "опытные" где-то подключились бы, поправили, улучшили... всем бы была польза. Опытные - помогли бы опытом, критикой, советами что можно улучшить. Димка - оформлением этого в виде статей и видео (а это - громадная работа. очень трудоемкая. Я вот, к примеру, код пишу 20-ть минут, а в блоге описываю этот процесс - 2 дня :)

Но когда "новичок" объявляет себя гуру, и начинает чесать пяткой за левым ухом с очень уверенным видом. При этом в коде видно что не владеет БАЗОВЫМИ конструкциями языка, использует инструменты "не по назначению". Да все еще это приправлено "навязчивым маркетингом" - ну в лучшем случае реакция может быть "да фиг с ним...".

Я имея больше 10-ти лет общепрограмерского опыта и нескольких лет ардуины. И то считаю себя в ардуино - "продвинутым любителем". Ну не возможно за пару недель (даже месяцев) выйти на уровень "учителя". Можно только "научится пыль в глаза пускать".

P.S. Да, я понимаю, что скорее всего все мои доводы разобъются  "ну вот мне же он помог" и "это зависть к человеку который дело делает".... ну что же... потому так долго и молчал по поводу этого персонажа. Не хотел "пачкатся".

CV_UA
Offline
Зарегистрирован: 20.08.2013

Уважаемый leshak  

Я понимаю Ваше мнение о Дмитри, может хочет человек попиариться... его право, мне както безразлично.

Речь идет не о его уроках, просто я взял как пример его скетч, и спрашивал как можно  организовать задуманое мною (тобто 1 передатчик 6 и больше приемников, передатчки вещает по нажатию кнопок определеный эфир, если приемник видит информацию касающеюся его, то выполняет действия), и спрашивал как можно по другому организовать чем в скетче для примера.

Задумка устройства - Пиротехническая установка(запуск салютов) - 1 Пульт управления и 6 и больше коробочек для подключения воспламенителей.

Так же спрашивал как организовать ответ на передатчик о  наявных приемниках на связи.

Надеялся хоть на какието подсказки, линки, советы...

В ответ возмущения о пиаре, про Дитрия.. вот и зацепило.

 

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

CV_UA пишет:

Надеялся хоть на какието подсказки, линки, советы...

В ответ возмущения о пиаре, про Дитрия.. вот и зацепило.

Что именно вас возмутило? Вам не достаточно тех 7 страниц с линками на библиотеки? Там помоему перебрали все возможны библиотеки для работы с этими модулями.. А если вы посмотрите внимательно, то каждая, КАЖДАЯ!, библиотека напичкана примерами по использования этой библиотеки! если вам не дочтаточно этих примеров что бы разобратся что бы задвать внятные вопросы, то видимо вам нужно вернутся к разбору скеча по миганию диодиком.. и идти по мере так сказать роста..

leshak
Offline
Зарегистрирован: 29.09.2011

CV_UA пишет:

Уважаемый leshak  

Я понимаю Ваше мнение о Дмитри, может хочет человек попиариться... его право, мне както безразлично.

Мне тоже. До тех пор пока он не мешает другим.

Я тоже хочу :) Но... как-то стараюсь держать себя в рамках.

CV_UA пишет:

Речь идет не о его уроках, просто я взял как пример его скетч, и спрашивал как можно  организовать задуманое мною (тобто 1 передатчик 6 и больше приемников, передатчки вещает по нажатию кнопок определеный эфир, если приемник видит информацию касающеюся его, то выполняет действия), и спрашивал как можно по другому организовать чем в скетче для примера.

Это понятно. Лично я, к сожалению,   не могу вам сейчас помочь. Нет сейчас под руками этих передатчиков. Но... тут уже было столько веток про них. Если вникнуть и пошагово разобратся, а не искать готовое что-бы "залить и включить" - думаю мы найдете ответы на свои вопросы. Возможно - не с передатчиков даже начинать. Я с чего-то более простого. Освоится с управляющими операторами, циклами и проч. Посмотреть уроки на оригинальном сайте - там тоже очень много. Вообщем сделать себе "базу". Сами же сказали что "не програмист". Тогда и "сухость" превратится в "ценную информацию" :)

Поэтому мне и не нравятся его уроки. Схватили сразу все. Слепили. А "почему именно так", "зачем" - ничего этого нет (судя по всему он сам смутно это понимает). Поэтому и получается "шаг в право, шаг влево" - и после такого "обучения" человек ничего не может сделать сам.

А возмущения и "посылания в поиск" - ну, вы производите впечателение адекватного человека. Так что догадаетесь, что можно просто игнорировать (в том числе и меня ;), можно попытатся вcе-таки выполнять эти советы (пусть даже они в "саркастичной форме"). Ну в любом случае, это же форум. Всегда будет кто-то кому "пофлудить" и "почувствтвовать себя умнее чем хоть кто-то", пнуть, вне зависимости "по делу или нет" - самое важное. Всегда будут такие люди. Такова уж суть любого форума с более менее "открытыми дверями".

Клапауций
Offline
Зарегистрирован: 10.02.2013

Looka пишет:
а что такое  ".... пиропульт ....." 

С проводами - гражданское устройство для управления пиротехникой.

Без проводов - радиоуправляемый взрыватель.

зы

Если не учитель, то самостийный партизан.

 

CV_UA
Offline
Зарегистрирован: 20.08.2013

По Вашим советам решил базу знаний для себя создавать, вот сразу  проблемка появилась..

Решил для пробы создать маленькую програму, подключил 3 кнопка к ардуино нано 328,  на каждом на землю уходит резистор 14,7к.

Задумка такова если ничего не нажато то пишет 000000

начинаю нажимать на кнопки и должно быть тип АА0000 - если нажал 1 кнопку,

00ВВ00 - если вторую, и тп.

 

во сам скетч


const int buttonPin = 5;   
const int buttonPin2 = 6;
const int buttonPin3 = 7;
 String Str2[2];


void setup() {
  Serial.begin(115200);

  pinMode(buttonPin, INPUT);   
  pinMode(buttonPin2, INPUT);
  pinMode(buttonPin3, INPUT);
}
 
void loop(){
  // считываем значения с входа кнопки
   if (digitalRead(buttonPin) == HIGH){
     Str2[0] = "AA"; }
     else {
 Str2[0] = "00";
     }
      if (digitalRead(buttonPin2) == HIGH){
     Str2[1] = "BB"; }
     else {
 Str2[1] = "00";
     }
      if (digitalRead(buttonPin3) == HIGH){
     Str2[2] = "CC"; }
     else {
 Str2[2] = "00";
     }
Serial.println(Str2[2]+Str2[1]+Str2[0]);

delay (100);
}

Начинаю наблюдать в порте, вроде сперва все норм, но потом крякозябли выскакивают, проскоки, а потом виснет.

Так понимаю что чтото не так, но опыта не хватает, подскажите в чем налажал..?

Looka
Offline
Зарегистрирован: 24.04.2012

Зачем Вам строки?  

Начните с классики С, строка это массив символов оканчивающаяся нулем. Поймете , дальше будет существенно легче.

кто такие Керниган и Ритчи знаете?

 

А виснет у вас потому что Вы за границы  выходите.

вы определили только. Str2[0]  и Str2[1]  , а оперируете еще и str2[2].

Да и с классом String Вы не правильно работаете. 

CV_UA
Offline
Зарегистрирован: 20.08.2013

Таки да...  на вечер голова забита быал... а ведь читал перед этим  про масивы и проморгал String Str2[3].

я со строк начал так как в будущем задумал нужно будет из малого массива формировать больший (сложеный), потом его передвать и анализировать.

Спасибо за совет, кстати как правильнее классом String оперировать?

Looka
Offline
Зарегистрирован: 24.04.2012

CV_UA пишет:

Таки да...  на вечер голова забита быал... а ведь читал перед этим  про масивы и проморгал String Str2[3].

я со строк начал так как в будущем задумал нужно будет из малого массива формировать больший (сложеный), потом его передвать и анализировать.

Спасибо за совет, кстати как правильнее классом String оперировать?

Как по мне смыслы в стринг не вижу совсем. 
Он конечно упрощает работу со строками, но более ресурсоемкий, чо пожалуй не принципиально.
Но не стимулирует усвоение, закрепление  и тд  навыков работы с массивами, указателями и тд и тп. 

В общем сам не использую.