RC управление на базе Ардуино...

Rolf
Offline
Зарегистрирован: 19.06.2018

Добрый день уважаемые форумчане!

В элекронике я не новичок. Но так случилось, что у меня был большой перерыв в этом. Почти 20 лет. Моё хобби моделизм. И я хочу оборудовать модель RC управлением, так-как то, чем я занимаюсь далеко не дешёвое удовольствие, я решил отойти от стандартного цифрового управления к RC. Как оказалось базовые модули Ардуино гораздо бюджетнее и компактнее.

Суть в том, что модель готова на 70%. По тихоньку начал её радиофицировать. Пересмотрел уйму видосов по этой теме. Нашёл то, что для меня больше подходит. Решил воплотить это в моделе. Приобрёл модули, ардуинки... Скачал сопровождающие скетчи в приложении к видео и решил поэтапно вводить систему в проект.

Начал с оживления ходовой части. Смонтировал радиомодули к ардуинам, залил скетчи и.....   ...и тишина.

Как говорит мой знакомый "Или я дурак или снега нет")))

На видио человек использует две НАНО. У меня же одна УНО, другая НАНО. Вопрос первый... Столь ли критично для скетчей НАНО или УНО?

Радиомодули для свзи передатчика и приёмника взял HC-12. Работают по UART. Нужныли этим модулям библиотеки? Что то я их не нашёл в сети. А может и не там искал. Но при повторении схем никакого результата. Только при включении обоих схем помигивают светодиоды. Видимо всё же связь между приёмником и передатчиком какая то есть. На комментарии к видео пока тишина.

Вот и думаю теперь, в чём же дело, почему самая первая и простая функция не работает. Наверное всё же я очень отстал в электронике)))

Если кто знаком с подобными проектами, помогите пожалуйста умными советами!)))

Заранее благодарю!

mobistrike
mobistrike аватар
Offline
Зарегистрирован: 19.08.2016

В скетче удалите 12 строку и красный провод соедените с черным . 

negavoid
Offline
Зарегистрирован: 09.07.2016

Rolf пишет:
На видио человек использует две НАНО. У меня же одна УНО, другая НАНО. Вопрос первый... Столь ли критично для скетчей НАНО или УНО?

Это одно и то же, просто платы и разъёмы разных размеров.

Rolf пишет:
Радиомодули для свзи передатчика и приёмника взял HC-12. Работают по UART. Нужныли этим модулям библиотеки? Что то я их не нашёл в сети. А может и не там искал. Но при повторении схем никакого результата. Только при включении обоих схем помигивают светодиоды. Видимо всё же связь между приёмником и передатчиком какая то есть. На комментарии к видео пока тишина.

Библиотеки к UART встроены в "редактор", так что они у вас уже есть.

Rolf пишет:
Вот и думаю теперь, в чём же дело, почему самая первая и простая функция не работает. Наверное всё же я очень отстал в электронике)))

Если кто знаком с подобными проектами, помогите пожалуйста умными советами!)))

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

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Rolf пишет:

Вот и думаю теперь, в чём же дело, почему самая первая и простая функция не работает. 

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

Rolf пишет:

Начал с оживления ходовой части. 

В то время, как нужно было начинать  вот с этого.

Если бы Вы правильно начали, Вы бы правильно подошли и к своей задаче со временем. А так ...

 

Rolf
Offline
Зарегистрирован: 19.06.2018

Не поверите... Я хоть и чайник в ардуино, но не настолько. Азы и что то я уже пробовал. Конечно я не программер и язык программирования для меня пока сложен. Я осваиваю среду визуального программирования FLProg. Но вот никак не получается дистанционное управление. Не понять мне и там, как это воплотить в реальность.

Rolf
Offline
Зарегистрирован: 19.06.2018

mobistrike пишет:

В скетче удалите 12 строку и красный провод соедените с черным . 

 

...и будет КЗ))))

ВН
Offline
Зарегистрирован: 25.02.2016

Rolf пишет:
Но вот никак не получается дистанционное управление. 

выкиньте для начала все свое радио и наладьте связь между ардуинами просто по уарту

negavoid
Offline
Зарегистрирован: 09.07.2016

Rolf пишет:

Не поверите... Я хоть и чайник в ардуино, но не настолько. Азы и что то я уже пробовал. Конечно я не программер и язык программирования для меня пока сложен. Я осваиваю среду визуального программирования FLProg. Но вот никак не получается дистанционное управление. Не понять мне и там, как это воплотить в реальность.

Не поверите... Я хоть и чайник в медицине, но не настолько. Азы и что то я уже пробовал, пациентам аспирин выписывал. Конечно я не хирург и оперировать для меня пока сложно. Я осваиваю скальпели марки FLProg. Но вот никак не получается аппендицит вырезать, пациенты помирают почему-то. В комментариях к видео пока не отвечают. Не понять мне и там, как это воплотить в реальность.

qwone
qwone аватар
Offline
Зарегистрирован: 03.07.2016

mobistrike пишет:

В скетче удалите 12 строку и красный провод соедените с черным . 

Точно. Я 12 строки вообще кодом не занимаю, даже комментариями. Да и провода надо соединять красный с черными, желтый с голубым, но никогда не соединяйте три провода белый с синим и красным.

Rolf
Offline
Зарегистрирован: 19.06.2018

Да чушь всё это. Нинешние подрывники не придерживаются правил цветовой маркировки, дабы сбить с толку сапёров))))) Да и я использую провода те, что имею в наличии и не придерживаюсь их цвета. Я знаю что и куда подключаю. 

qwone
qwone аватар
Offline
Зарегистрирован: 03.07.2016

Rolf пишет:

Да чушь всё это. Нинешние подрывники не придерживаются правил цветовой маркировки, дабы сбить с толку сапёров))))) Да и я использую провода те, что имею в наличии и не придерживаюсь их цвета. Я знаю что и куда подключаю. 

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

Буква Цвет

А Красный

В Черный

С Белый

D Желтый

Е Серый

F Зеленый

G Фиолетовый

Н Оранжевый

I Темно-голубой

К Светло голубой

L Коричневый

М Заземление

N Розовый

http://remontgruzovik.ru/load/manualy_na_gruzoviki/oboznachenie_cveta_pr...

bwn
Offline
Зарегистрирован: 25.08.2014

Rolf пишет:

Не поверите... Я хоть и чайник в ардуино, но не настолько. Азы и что то я уже пробовал. Конечно я не программер и язык программирования для меня пока сложен. Я осваиваю среду визуального программирования FLProg. Но вот никак не получается дистанционное управление. Не понять мне и там, как это воплотить в реальность.

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

Buzova
Offline
Зарегистрирован: 06.04.2018

qwone пишет:

mobistrike пишет:

В скетче удалите 12 строку и красный провод соедените с черным . 

Точно. Я 12 строки вообще кодом не занимаю, даже комментариями. Да и провода надо соединять красный с черными, желтый с голубым, но никогда не соединяйте три провода белый с синим и красным.

Это так мило 

Rolf
Offline
Зарегистрирован: 19.06.2018

Это лишнее. Я же делаю для себя, а не на поток модели ставлю. Всё в единственном экземпляре. К тому же делая схему я всегда составляю или текстовый или графический файл, что бы если что, быстро найти нужное. Но пока никаких косяков не было. Я помню то, что ваяю.

Rolf
Offline
Зарегистрирован: 19.06.2018

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

Rolf
Offline
Зарегистрирован: 19.06.2018

Сюда я пришёл за компетентными советами, а не выслушывать подобное красноречие. Хорошо знаете язык С++, флаг в руки. Схема не воображении, а существует. Я не знаю как сюда можно картинку вставить. И меньше нервничайте. Нервные клетки не восстанавливаются.

Странные вещи происходят. Люди перестали нормально общаться.

mobistrike
mobistrike аватар
Offline
Зарегистрирован: 19.08.2016

Rolf пишет:

Сюда я пришёл за компетентными советами, а не выслушывать подобное красноречие

По этому поводу вам Евгений объяснил

Rolf пишет:

 Схема не воображении, а существует. 

Я знаю , у меня есть хрустальный шар

Rolf пишет:

Я не знаю как сюда можно картинку вставить. 

http://arduino.ru/forum/obshchii/sokhranenie-kartinok-na-forume

Rolf пишет:

 Люди перестали нормально общаться.

Эт точно 

 

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Простите, Rolf, но у меня сложилось впечатление, что Вы немного не здоровы или, как это принято толерантоно называть, альтернативно одарены.

Мы уже второй день, всем форумом пытаемся Вам объяснить, что если 

Rolf пишет:

Схема не воображении, а существует. 

Так покажите ж её нам!!! И скетч заодно!

Ваши посты выглядят примерно так: "У меня есть схема и есть скетч. Они не работают. Вам я их не покажу - сами догадывайтесь что там не так и компетентно советуйте, ибо

Rolf пишет:

Сюда я пришёл за компетентными советами

Вам самому-то не смешно?

Мало того, что Вам тут никто не должен никаких советов (или Вы по-другому считаете?), так ещё и за два дня Вы не удосужились понять, что все посты про номера строк и цвета проводов - это просто жирный намёк: "ну, покажи же, мля, скетч и схему! Ну как мы можем тебе чем-то помочь, если у тебя не работает ХЗ какой скетч на ХЗ какой схеме?"

Ну, и напоследок

Rolf пишет:

Я не знаю как сюда можно картинку вставить. 

Боюсь, что моё предположение о Вашей альтернативной одарённости верно. Иначе, как объяснить, что написав с десяток постов, Вы так и не заметили иконки "изображение" в тулбаре окна ввода сообщения?

 

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

Rolf пишет:

Я не знаю как сюда можно картинку вставить.

А ты открой раздел форума, в котором тему создал ("Общий") и посмотри прикреплённые наверху темы. Там и про вставку картинок есть...

Rolf
Offline
Зарегистрирован: 19.06.2018

Rolf
Offline
Зарегистрирован: 19.06.2018

Спасибо! Не заметил той темы. Вот схема. А каким образом скетчи можно сюда загружать?

triac
triac аватар
Offline
Зарегистрирован: 03.05.2018
 
Rolf пишет:
Сюда я пришёл за компетентными советами

Дежавю https://bash.im/quote/410956

bash.im пишет:

111: у меня комп глючит, что делать???

ответы:
222: у меня машина не заводится, в чем причина?
333: хочу похудеть, но не получается, что делать?
444: я поссорился с женой, не понимаю, почему?
555: сварил пельмени, получилось невкусно, почему так?
666: я заболел, как мне вылечиться?

111: вы что дибилы штоль? это форум про кампы а не для тупых домахозяек как вы!!!! мне нужен конкретный ответ на конкретный вопрос!!

 

Rolf пишет:

Спасибо! Не заметил той темы. Вот схема. А каким образом скетчи можно сюда загружать?

Жмите сюда:

 
 
trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

Rolf пишет:

Спасибо! Не заметил той темы. Вот схема. А каким образом скетчи можно сюда загружать?


Возможно вы также не заметили что в Уно и Нано
параллельно используемым вами пинам Д1 и Д2
подключены ножки ещё одной микросхемы.
Обычно это СН340

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

Я прекрасно понимаю вас что хочется сделать что-то своё.
Позвольте изложить вам мои мысли по поводу вашего проекта.
1. Помехозащищённость вашего радиоканала вызывает сильные сомнения.
2. Зачем параллельно моторам эти конденсаторы?
Мешать работать ШИМу?
3. LEFT и RIGHT как я понял это потенциометры.
Круглые? Ползунки? Или не дай бог джойстики от игровых приставок?
Тогда если вы считаете что поставив их оба в одинаковое положение ваши моторы будут крутиться одинаково - то вы сильно ошибаетесь.
4. В каком корпусе будет собран ваш "передатчик" ?
Выпиленный из бревна рашпилем или из коробки от конфет?

Мой диагноз: Дешевле купить шестиканальный FlySky
Или читайте про катер из потолочки.

vvadim
Offline
Зарегистрирован: 23.05.2012

trembo пишет:
Я прекрасно понимаю вас что хочется сделать что-то своё. Позвольте изложить вам мои мысли по поводу вашего проекта. 1. Помехозащищённость вашего радиоканала вызывает сильные сомнения. 2. Зачем параллельно моторам эти конденсаторы? Мешать работать ШИМу? 3. LEFT и RIGHT как я понял это потенциометры. Круглые? Ползунки? Или не дай бог джойстики от игровых приставок? Тогда если вы считаете что поставив их оба в одинаковое положение ваши моторы будут крутиться одинаково - то вы сильно ошибаетесь. 4. В каком корпусе будет собран ваш "передатчик" ? Выпиленный из бревна рашпилем или из коробки от конфет? Мой диагноз: Дешевле купить шестиканальный FlySky Или читайте про катер из потолочки.

 

не сгущайте краски...
джойстики прокатят .

а кондёры и вправду бестолково прилеплены.
на L293D их нужно ставить между аутпутами и землёй 0.1 мкф

а топикстартер и на амперке воюет с народом - два дня схему ныкал))))

 

b707
Offline
Зарегистрирован: 26.05.2017

Rolf. вы продолжаете тупить не по детски.

Вас просили выложить именно вашу схему, а не схему из интернета. На схеме две Уно, а у вас Уно и Нано. Потом - на схеме 2 мотора, а у вас один.

И сколько эта фигня будет продолжатся???

 

trembo и vvadim - коллеги, нет смысла обсуждать эту картинку, эта схема совсем не та, что использует ТС :)

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

b707 пишет:

Вас просили выложить именно вашу схему,

Его ещё и скетч просили. Впрочем, что касается меня, он уже может ничего не выкладывать. Лимит моего времени на него уже исчерпан.

Rolf
Offline
Зарегистрирован: 19.06.2018

Спасибо! Учту на будущее.

Rolf
Offline
Зарегистрирован: 19.06.2018

Я не использую джойстики. Стандартный совдеповский потенциометр. Благо у меня их новых в запаснике полно. А корпус - пластик. Вы забыли ещё проконсервную банку. Она к сожалению мне не подходит))))

Шестиканалка мне не подходит. Мне нужен всего один тяговый мотор. Останое управление дискретное. Кнопки.

Rolf
Offline
Зарегистрирован: 19.06.2018

Кондёры я и не ставил. Это ноу-хау автора, что бы моторы меньше шумели от ШИМ управления

Rolf
Offline
Зарегистрирован: 19.06.2018


.....приёмник...

//левый мотор
int IN2 = 8;
int IN1 = 7;
int EN1 = 6;

//правый мотор
int IN4 = 4;
int EN2 = 3;
int IN3 = 2;

byte Byte3incoming[3] = {0,0,0};    //массив входящих 3-х байт

void setup() {
// инициализация обмена данными по серийному протоколу со скоростью 9600 bps:
Serial.begin(9600);

pinMode(EN1,OUTPUT);
pinMode(IN1,OUTPUT);
pinMode(IN2,OUTPUT);
pinMode(EN2,OUTPUT);
pinMode(IN3,OUTPUT);
pinMode(IN4,OUTPUT);

}
void loop() {

//читаем пришедший пакет
Serial.readBytes(Byte3incoming, 3);

digitalWrite (IN1,bitRead(Byte3incoming[0],0));
digitalWrite (IN2,bitRead(Byte3incoming[0],1));
digitalWrite (IN3,bitRead(Byte3incoming[0],2));
digitalWrite (IN4,bitRead(Byte3incoming[0],3));
analogWrite  (EN1,Byte3incoming[1]);
analogWrite  (EN2,Byte3incoming[2]);

 

Rolf
Offline
Зарегистрирован: 19.06.2018
.....передатчик....

//пин к которому подключен левый джойстик
int LeftPin = A0;
//пин к которому подключен правый джойстик
int RightPin = A1;
//позиция левого джойстика
int LeftPosition = 0;
//позиция правого джойстика
int RightPosition = 0;
//значение ШИМ для левого двигателя
int LeftPWM =0;
//значение ШИМ для правого двигателя
int RightPWM =0;
//массив из трех байт (направления вращения моторов,LeftPWM,RightPWM)
byte SendArray[] = {0, 0, 0};

void setup() {
// инициализация обмена данными по серийному протоколу со скоростью 9600 bps:
Serial.begin(9600);
pinMode(LeftPin, INPUT);
pinMode(RightPin, INPUT);
}
void loop() {
//читаем значения с аналоговых выходов к которым подключены резисторы
LeftPosition = analogRead(LeftPin);
RightPosition = analogRead(RightPin);

//-------------------------
//LEFT joystick (A0)      |  
//-------------------------

if (LeftPosition < 199){
// левый джойстиск до упора назад
LeftPWM = 255;
//0-й байт значения для вращения левого мотора

//IN1
bitWrite(SendArray[0], 0, 1);
//IN2
bitWrite(SendArray[0], 1, 0);
//EN1
SendArray[1] = LeftPWM;

}else if (LeftPosition >= 199 && LeftPosition <= 455){
// левый джойстиск немного назад
LeftPWM = map(LeftPosition, 199, 455, 255, 25);

//IN1
bitWrite(SendArray[0], 0, 1);
//IN2
bitWrite(SendArray[0], 1, 0);
//EN1
SendArray[1] = LeftPWM;

}

else if (LeftPosition > 455 && LeftPosition <495){
// левый джойстиск нейтральное положение
LeftPWM = 0;

//IN1
bitWrite(SendArray[0], 0, 0);
//IN2
bitWrite(SendArray[0], 1, 0);
//EN1
SendArray[1] = LeftPWM;
  
}

else if (LeftPosition >= 495 && LeftPosition <= 751){
// левый джойстиск немного вперед
LeftPWM = map(LeftPosition, 495, 751, 25, 255);

//IN1
bitWrite(SendArray[0], 0, 0);
//IN2
bitWrite(SendArray[0], 1, 1);
//EN1
SendArray[1] = LeftPWM;
  
}

else if (LeftPosition > 751){
// левый джойстиск до упора вперед
LeftPWM = 255;

//IN1
bitWrite(SendArray[0], 0, 0);
//IN2
bitWrite(SendArray[0], 1, 1);
//EN1
SendArray[1] = LeftPWM;
 
}

//-------------------------
//RIGHT joystick (A1)      |  
//-------------------------

if (RightPosition < 179){
// правый джойстиск до упора назад
RightPWM = 255;

//IN3
bitWrite(SendArray[0], 2, 1);
//IN4
bitWrite(SendArray[0], 3, 0);
//EN2
SendArray[2] = RightPWM;  

}else if (RightPosition >= 179 && RightPosition <= 435){
// правый джойстиск немного назад
RightPWM = map(RightPosition, 179, 435, 255, 25);

//IN3
bitWrite(SendArray[0], 2, 1);
//IN4
bitWrite(SendArray[0], 3, 0);
//EN2
SendArray[2] = RightPWM;
 
}

else if (RightPosition > 435 && RightPosition <475){
// правый джойстиск нейтральное положение
RightPWM = 0;

//IN3
bitWrite(SendArray[0], 2, 0);
//IN4
bitWrite(SendArray[0], 3, 0);
//EN2
SendArray[2] = RightPWM;

}

else if (RightPosition >= 475 && RightPosition <= 731 ){
// правый джойстиск немного вперед
RightPWM = map(RightPosition, 475, 731, 25, 255);

//IN3
bitWrite(SendArray[0], 2, 0);
//IN4
bitWrite(SendArray[0], 3, 1);
//EN2
SendArray[2] = RightPWM;
 
}

else if (RightPosition > 731){
// правый джойстиск до упора вперед
RightPWM = 255;

//IN3
bitWrite(SendArray[0], 2, 0);
//IN4
bitWrite(SendArray[0], 3, 1);
//EN2
SendArray[2] = RightPWM;
 
}

//отправляем повороты ручек приемнику
Serial.write(SendArray, 3);

// печатаем результаты (для проверки и калибровки)
//Serial.println (SendArray[0],BIN);
//Serial.println (SendArray[1],DEC);
//Serial.println (SendArray[2],DEC);
delay(500); // добавляем задержку между считыванием данных
}

 

triac
triac аватар
Offline
Зарегистрирован: 03.05.2018

Rolf пишет:



//читаем пришедший пакет
Serial.readBytes(Byte3incoming, 3);

Просто так читать нельзя. Надо сначала дождаться, чтобы эти байты пришли в приемник: https://www.arduino.cc/reference/en/language/functions/communication/serial/available/ А если они еще не пришли, то вы будете всякую чушь читать.

После того, как научитесь читать, задайтесь вопросом: откуда известно, что вот этот байт имеет номер 0, этот 1, а этот 2? Заранее это ниоткуда не известно. Номер 0 придет первым после паузы, так ведь паузу надо как-то обнаружить. А как вы ее обнаруживаете? Никак.

Когда обнаружите паузу, то надо вычитать из приемника и выбросить все что там есть. После этого можно дождаться 3-х байт и сохранить их, они будут идти в ожидаемом порядке.

b707
Offline
Зарегистрирован: 26.05.2017

triac пишет:

[

Когда обнаружите паузу, то надо вычитать из приемника и выбросить все что там есть. После этого можно дождаться 3-х байт и сохранить их, они будут идти в ожидаемом порядке.

это крайне ненадежно. Нужен заголовок пакета

triac
triac аватар
Offline
Зарегистрирован: 03.05.2018

b707 пишет:

это крайне ненадежно.

Почему?

b707
Offline
Зарегистрирован: 26.05.2017

triac пишет:

Почему?

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

Это же RC-управление, в нем важен быстрый отклик. В каждом пакете должен быть заголовок и терминатор - тогда хоть о какой-то устойчивости можно говорить.

triac
triac аватар
Offline
Зарегистрирован: 03.05.2018

b707 пишет:

когда на передатчике двигается джойстик - пакеты суплются почти непрерывно

В скетче передатчика я вижу только один вызов Serial.write(SendArray, 3); После него идет delay(500);. Значит, пауза между посылками гарантирована и может использоваться как надежный признак начала нового пакета. Величина паузы, судя по всему,  пока что поставлена "от фонаря". В реальном устройстве может быть уменьшена до 10....50 мс, это обеспечит и хорошую динамику, и надежное обнаружение начала пакета.

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

b707 пишет:

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

Это - смотря как написать.

Можно, например, так:

1. Блок, читающий положекния регуляторов, сразу передает их в блок отправки сообщений.

2. Если с предыдущего момента отправки прошло больше N мс, данные отправляются.

3. Если с предыдущего момента отправки прошло меньше N мс, данные запоминаются, но не отправляются.

4. Если повторно произошел п.3., то старые неотправленные данные забываются, а на их место пишутся новые.

5. Если по прошествии N мс с последней отправки у нас остались запомненные, но не отправленные данные, они отправляются и забываются.

Цитата:

Это же RC-управление, в нем важен быстрый отклик. В каждом пакете должен быть заголовок и терминатор - тогда хоть о какой-то устойчивости можно говорить.

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

triac
triac аватар
Offline
Зарегистрирован: 03.05.2018

Пауза как раз и является заголовком.

b707
Offline
Зарегистрирован: 26.05.2017

triac пишет:

Пауза как раз и является заголовком.

я не спорю - в этом конкретном случае пауза МОЖЕТ быть заголовком. Но в общем это ненадежно. Например, откуда уверенность, что в радиусе километра вокруг нет ни одного другого HC-12?

  Поэтому я даже тут делал бы заголовок и терминатор. Накладные расходы копеечные, а уверенности в стабильной работе для меня на порядок больше.

triac
triac аватар
Offline
Зарегистрирован: 03.05.2018

b707 пишет:

я не спорю - в этом конкретном случае пауза МОЖЕТ быть заголовком. Но в общем это ненадежно. Например, откуда уверенность, что в радиусе километра вокруг нет ни одного другого HC-12?

Пока ТС плавает в самых простых вопросах, не стоит затрагивать более сложные. Пусть у него сначала просто заработает хоть как-нибудь.

Помню как в детстве я начитался книжек и журналов настолько, что сходу мог нарисовать схему приемника прямого усиления 2-V-2 и лихо рассекал в них так, как в кино про "молодого Шелдона". Но ни один мой приемник почему-то не работал, чего Голливуд почему-то в расчет не принимает. Тогда я наступил на горло собственной песне и купил набор для сборки детекторного приемника "для чайников". Он заработал, и вот с этого все и пошлО :)

b707
Offline
Зарегистрирован: 26.05.2017

triac пишет:

Помню как в детстве я начитался книжек и журналов настолько, что сходу мог нарисовать схему приемника прямого усиления 2-V-2 и лихо рассекал в них так, как в кино про "молодого Шелдона". Но ни один мой приемник почему-то не работал, чего Голливуд почему-то в расчет не принимает. Тогда я наступил на горло собственной песне и купил набор для сборки детекторного приемника "для чайников". Он заработал, и вот с этого все и пошлО :)

видите, как у вас все удачно сложилось :)  Моя первая электронная схема, собранная своими руками - случилась только в 45 лет :)

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

triac пишет:
купил набор для сборки детекторного приемника
Экий Вы мажор! Купил он! У меня, помницца - катушка из провода смотанного с какого-то трансформатора. Сам трансформатор (как и диод, конденсатор и резистор) выпаяны с какой-то платы самолёта МИГ-27. Заземление - батарея, антенна - радиоточка (провода по всему городку тянулись). Настройка на станцию - путём подмотки (смотки) витков катушки - один раз настроил, обрезал, припаял и больше не настраивал :))))

triac
triac аватар
Offline
Зарегистрирован: 03.05.2018

ЕвгенийП пишет:

triac пишет:
купил набор для сборки детекторного приемника
Экий Вы мажор! Купил он!

Угу. В Детском Мире, поехал туда на метро и купил, сам. Примерно в пятом классе я тогда был. Наверное, и правда, "мажор". Впрочем, ребята вокруг ничем от меня не отличались, только увлечения были разные.  Такие же "мажоры". Окраина Москвы, конец 60-х.

"Высокочастотный" транзистор П403 из-под полы стоил 50 коп. А сейчас Ардуинка стоит меньше бутылки пива, вдвое дешевле.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

triac пишет:
Окраина Москвы, конец 60-х.
ну вот в этом и разница - авиабаза в восточной Германии, начало семидесятых. Детских миров нет как класса. Зато платы в самолётах заменяют "по часам налёта", и те, в которых нет драгметаллов или ещё чего подобного - законная добыча пацанов :)))

ВН
Offline
Зарегистрирован: 25.02.2016

а какие моторчики были на авиасвалках ... абалдеть .... 

Voodoo Doll
Voodoo Doll аватар
Offline
Зарегистрирован: 18.09.2016

У меня моторчики только от CD-ROM'а, но катер из них вполне получился. Только я не маюсь дурью с Serial, блютусом и т. п., а ставлю нормальный nRF24L01+. Он и дешевле. Афтар, рекомендую обратить внимание. Кстати если двигателей два, ни к чему ШИМить их для поворотов, достаточно просто включать один вместо двух. Да-да, так можно было.

triac
triac аватар
Offline
Зарегистрирован: 03.05.2018

Voodoo Doll пишет:

ставлю нормальный nRF24L01+.

НС-12 работает на расстоянии более км, а nRF24L01 - дай бог если на 100 м в тепличных условиях. А если рядом много WiFi-ев, то и до 10 м может скукожиться.

Читал страдания людей, пытавшихся на ISM 2.4 ГГц делать домашнюю автоматизацию. Никакой предсказуемости результатов, то на 30 м работает, то вдруг и на 3 м никак. Так и маялись пока диапазон не сменили.
 

a5021
Offline
Зарегистрирован: 07.07.2013

triac пишет:
НС-12 работает на расстоянии более км, а nRF24L01 - дай бог если на 100 м в тепличных условиях.

Вы озвучиваете сильно субъективную точку зрения. У HC-12 четыре режима передачи данных, в каждом из которых свои скорости и дальности. На максимальной для HC-12 скорости в 250к дальность составит те же самые 100м, если мы говорим про режим FU-1. При одинаковых заявленных дальностях у NRF24 скорость в четыре раза выше. В режиме FU-4 заявленная дальность действительно больше километра, но и эффективная скорость передачи -- 1 байт в секунду. Это для идеальных условий октрытого пространства. Диапазон 433мгц загажен ничуть не меньше, чем 2.4ггц. И NRF24 и HC-12 довольно плохо подходят для целей конструирования аппаратуры радиоуправления. Разве только попробовать, что оно вообще хоть как-то работает.

Цитата:
Читал страдания людей, пытавшихся на ISM 2.4 ГГц делать домашнюю автоматизацию. Никакой предсказуемости результатов, то на 30 м работает, то вдруг и на 3 м никак. Так и маялись пока диапазон не сменили.

Скорее всего это какие-то однобокие откровения. Подобное и мне попадалось. У меня домашней автоматизации на 2.4ггц уже больше двух лет. Если бы "страдания людей" в области 2.4ггц действительно имели под собой техническую природу, давно бы уже вытряхнул все в помойное ведро и переделал на 433мгц.

triac
triac аватар
Offline
Зарегистрирован: 03.05.2018

a5021 пишет:

triac пишет:
НС-12 работает на расстоянии более км, а nRF24L01 - дай бог если на 100 м в тепличных условиях.

Вы озвучиваете сильно субъективную точку зрения. У HC-12 четыре режима передачи данных, в каждом из которых свои скорости и дальности. На максимальной для HC-12 скорости в 250к дальность составит те же самые 100м, если мы говорим про режим FU-1.

 Есть такая формула Фрииса.

При прочих равных дальность связи на 2.4 МГц будет в 5.5 раз меньше, чем на 433 МГц. Потому что она пропорциональна длине волны. Чувствительность HC-12 приемника -97 дБм на 500 кбит/сек, a nRF всего   -94 дБм на 250 кбит/сек.

Так что дальность связи nRF меньше в 7...10 раз чем y  HC-12, даже при при той же мощности передатчика и вдвое меньшей бодовой скорости. "Дешевка - она и есть дешевка"(с)

Чувствительность НС-12 вырастает до -110 дБм при 40 кбит/сек, что дает еще 4-кратный выигрыш в расстоянии. И, наконец, у HC-12 макс. мощность передатчика на 16 дБм больше, что дает еще более чем 4-кратный выигрыш в дальности связи.

a5021 пишет:

Диапазон 433мгц загажен ничуть не меньше, чем 2.4ггц.

2.4 ГГц загажен Bluetooth, WiFi и микроволновками. А 433 МГц чем?

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Приятная статейка на эту тему.